3.1 Systems Components



A computer system consists of components such as: processes, main memory, files, I/O devices and networking which will be described in the following subsections.

1.1 Process management

A process is a program in execution. A process needs system resources such as CPU time, memory, files, and I/O devices. The process gets these resource when it is created or during the execution. When the process terminates, the reusable resources are returned to the operating system. The activities that the operating system is responsible during processes management are (Silberschatz et.al., (2008)):
  1. Creating and deleting both user and system processes.
  2. Suspending and resuming processes.
  3. Providing mechanisms for process synchronization.
  4. Providing mechanisms for process communication.
  5. Providing mechanisms for deadlock handling.

3.1 Systems Components



      i. Main-memory management

Main memory is a large array of words. Each word has its own address. Main memory is accessible by the CPU and I/O devices. During the program execution, it mapped the addresses in it to absolute addresses which are the main memory addresses. When the program terminates, the allocated memory to this program will be available to other programs. During the memory management, the operating system performs the following activities (Silberschatz et.al., (2008)):
  1. Keeping track of which parts of memory are currently being used and by whom.
  2. Deciding which processes are to be loaded into memory when memory space becomes available.
  3. Allocating and deallocating memory space as needed.
      ii. File management

A file is a collection of related information defined by its creator. Files can be programs or data. Files are organized into directories. During the file management, the operating system performs the following activities (Silberschatz et.al., (2008)):
  1. Creating and deleting files.
  2. Creating and deleting directories.
  3. Supporting primitives for manipulating files and directories.
  4. Mapping files onto secondary storage.
  5. Backing up files on stable (nonvolatile) storage media.

3.1 Systems Components



      iii. I/O-system management

The operating system hides the details of the I/O devices from the user. The operating system provides the following tasks (Silberschatz et.al., (2008)):
  1. A memory-management component that includes buffering, caching, and spooling.
  2. A general device-driver interface.
  3. Drivers for specific hardware devices.
      iv. Secondary-storage management

During the secondary-storage management, the operating system performs the following activities (Silberschatz et.al., (2008)):
  1. Free-space management
  2. Storage allocation
  3. Disk scheduling

3.1 Systems Components



      v. Networking management

The networking system collects several systems into a single system. The user can have access to the resources in these networks. This resource sharing increases computation speed, functionality, data availability, and reliability. Operating systems generalize network access using different types of file access. World Wide Web created a new access method for information sharing.

      vi. Protection system

Protection is any mechanism for controlling the access of programs, processes, or users to the resources defined by a computer system (Silberschatz et.al., (2008)). Protection can improve reliability by detecting errors in component subsystems. Processes that gain authorization from the operating system can use the system resources.