Operating System Tutorial

What is Operating System Evolution of Operating System Types of Operating System Functions of Operating System What is Kernel and Types of Kernel Operating System Properties Operating System Services Components of Operating System Needs of the Operating System Linux Operating System Unix Operating System Ubuntu Operating System What is DOS Operating System Difference Between Multi-programming and Multitasking What is Thread and Types of Thread Process Management Process State What is Process Scheduler and Process Queue What is Context Switching What is CPU Scheduling Scheduling Algorithm FCFS (First-come-First-Serve) Scheduling SJF (Shortest Job First) Scheduling Round-Robin CPU Scheduling Priority Based Scheduling HRRN (Highest Response Ratio Next) Scheduling Process Synchronization Lock Variable Mechanism TSL Mechanism Turn Variable Mechanism Interested Variable Mechanism What is Producer-Consumer Problem What is Semaphore in Operating System Monitors in Operating System What is Deadlock Deadlock Avoidance Strategies for Handling Deadlock Deadlock Prevention Deadlock Detection and Recovery Resource Allocation Graph Banker’s Algorithm in Operating System Fixed Partitioning and Dynamic Partitioning Partitioning Algorithms What is Paging and Segmentation What is Demand Paging What is Virtual Memory Disk Scheduling Algorithms FCFS and SSTF Disk Scheduling Algorithm SCAN and C-SCAN Disk Scheduling Algorithm Look and C-Look Disk Scheduling Algorithm File in Operating System File Access Methods in Operating System File Allocation Method Directory Structure in Operating System Difference between C-LOOK and C-SCAN Difference between Rotational Latency and Disk Assess Time Trap vs Interrupt How to implement Monitors using Semaphores N-Step-SCAN Disk Scheduling Why is it critical for the Scheduler to distinguish between I/O-bound and CPU-bound programs Difference between C-SCAN and SSTF Difference between SCAN and FCFS Difference between Seek Time and Disk Access Time Difference between SSTF and LOOK

Components of Operating System

Components of Operating System: An operating system is a complex and vast system. We can only create the operating system by dividing it into small parts. Each part must be a well-defined portion of a system that appropriately describes the functions, inputs, and outputs.

There are various operating systems that do not have a similar structure, such as Windows, Unix, Linux, and Mac. But many operating systems use the same operating system components such as Memory Management, Process Management, and Input/output device Management.

There are various types of operating system components:

  1. Process Management
  2. File Management
  3. Network Management
  4. Main Memory Management
  5. Secondary Storage Management
  6. I/O Device Management
  7. Security Management
  8. Command Interpreter System

1. Process Management

The term ‘Process Management’ means a mechanism which is used to handle multiple processes that are running in the operating system concurrently. Each software application program contains processes that are associated with the software application program when they are running.

For example: - If we use Google Chrome browserthen a process also run for the browser program. In the operating system, there are various processes which also run and perform several functions.

With the help of the process management, all the processes are managed and kept running effectively.

Functions of Process Management

There are various types of process management functions:

  • Synchronization Process
  • Suspension and Resumption.
  • Communication Process
  • Process Creation and Deletion.

2. File Management

A file is defined as a set of correlated information and it is defined by the creator of the file. Mostly files represent data, source and object forms, and programs. Data files can be of any type like alphabetic, numeric, and alphanumeric.

Functions of File Management

There are various functions of file management:

  • Mapping Files onto secondary storage.
  • With the help of a file management we can create and delete a file.
  • It offers the facility of directory creation and deletion.
  •  Helps in backup files on to secondary memory.
  •   File and directory manipulation.

3. Network Management

We can understand from the network management that it is the process of managing and administering the computer network. Network management comprises fault analysis, maintaining the quality of service, provisioning of networks, and performance management.

The collection of a computer/processors is known as a distributed system.

 A distributed system is one which does not share its memory. In a distributed system, each processor has its separate memory, and the communication between the processors takes place with the help of different communication lines such as telephone lines, fiber optics, etc.

In the network, with the help of the computer network, computers are connected, and it is configured in various ways. Network management provides the facility of network connection, whether it is fully or partially connected network. And it helps to design routing and connection strategies, which helps in overcoming the issues of security and connection.

4. Main Memory Management

Main memory is defined as a vast array of bytes or words; each contains its own memory address. With the help of a series of reads or writes of a particular memory address, the memory management process is performed.

Functions of Main Memory Management

There are various functions of main memory management:

  • It helps in memory allocation when a process demand or requests.
  • With the help of main memory management, we can preserve track of the primary memory.
  • Main memory management also helps in memory deallocation process that no longer need the memory or if the process is terminated.
  • Main memory management is also supported in a multiprogramming system where the operating system has to decide which process will get the memory and how much.
  • It helps to specify which part of the memory is in use and which part of the memory is not in use.

5. Secondary Storage Management

The main task performed by the operating system is to execute the programs. And along with the data, these programs are helpful to access the programs, which are present in the main memory at the time of execution.

The memory size is too small, so we cannot store all the programs and data in the memory permanently. So, the computer system provides the facility of secondary storage. In today’s scenario, hard drives/SSD are used in most of the computer system as the primary memory for both data as well as programs.

Although we also use secondary storage management with various storage devices such as CD/DVD drives and USB flash drive.

There are various programs such as compilers, assemblers, etc. that are stored on a disk till the program is loaded into the memory, and then for processing, programs use the disk as a source and the destination.

Functions of Secondary Storage Management

There are various functions of secondary storage management:

  • Secondary storage helps in Disk Scheduling.
  • Storage Allocation
  • Free Space Management

6. I/O Device Management

The operating system is responsible to hide the details of the hardware devices from the user.

Functions of the I/O Management

There are various functions of I/O management:

  • It offers a general device driver code.
  • The I/O device management provides a buffer caching system.
  • The I/O device management provides the drivers for a specific hardware device.

7. Security Management

In an operating system, there are several processes that are required to be secured from different activities. For this purpose, there are different types of procedures we use, which ensures that the processes that you want to operate for the hardware resources such as memory CPU, files, etc. must have appropriate authorization from the operating system.

For Example: With the help of the memory addressing hardware, we can ensure that a process cannot execute outside its own address space or vice versa. Time confirms that there is no process that has control over the CPU without leaving it.

Finally, to protect the process, there is no process that can do its own Input/Output. And it helps to maintain the integrity of different peripheral devices.

8. Command Interpreter System

Command interpreter is an essential component of the operating system. It works as a primary interface between the user and the system.