Huy's Notes
Operating System Notes

Operating System Notes

#os #system-design #engineering

Components of an Operating System

Not all systems are the same, but most will have these components:

  • Process Management: manage the lifecycle of user and system processes, provide mechanism for process synchronization, communication,...
  • Main-memory Management: keep track of which part of memory are being used by which process or user, handle the allocation and deallcation of memory as needed.
  • File Management: Handle file management (creation, deletion), provide the primitives for file manipulation, support file mapping, backup,...
  • I/O System Management: Manage and control other I/O devices, provide an interface to communication between the devices and the user,...
  • Secondary Storage Management: These are storage devices such as disks or other media, manage the space and allocation, scheduling request for acess.
  • Networking: Manage and control the communication with network devices, interfaces,...
  • Protection System: Provide a mechanism to control the access between programs, processes, users to the resources of the system.

Resources Allocation

Time-multiplexing: Each program receives control of the resources for a certain amount of time.

Space-multiplexing: Resources can be divided into smaller units. Each program being allocated exclusive control of different unit of resources at a time.

Memory and disks are example of space-mutiplexed resources. The Operating System take the responsibility for allocating resources.

System Calls

System calls provide an interface between the processes and the operating system. They allow user-level processes perform tasks from inner levels. For more details, see [System Call].


Process is the unit of work in the system, it's managed by the operating system, a program is part of a process. For more details, see [Process].


Referred in

If you think this note resonated, be it positive or negative, please feel free to send me an email and we can talk.