Operating Systems

An Operating System manages all the computer's resources, including hardware and software. It provides an environment in which a user can execute his/her programs conveniently and efficiently by hiding the hardware's underlying complexities and acting as a Resource Manager.

Functions of Operating Systems

  • It has access to the computer hardware.
  • OS acts as an interface between the user programs and the resources.
  • It facilitates the execution of the programs by providing protection and isolation.
  • It hides the underlying complexities of the system hardware also known as Abstraction.
  • OS does Resource Management (Memory/RAM, CPU/GPU, Disk, etc) also known as Arbitration.

What is Abstraction?

Abstraction simply means hiding the working complexity or technical details of the system. The operating system provides a level of abstraction or a layer of abstraction with the help of OSAL. OSAL stands for Operating System Abstraction Layer, a set of application programming interfaces (APIs) that a developer can use to quickly develop an application without considering the type of operating system, hardware, and background complexity of the operating system.

What is Arbitration?

Arbitration in an Operating System is a set of rules that allocate machine resources, such as memory or peripheral devices, to multiple users or programs. It acts as a controller to divide hardware resources to the running processes or apps. Arbitration helps to create a more efficient and adequate multitasking environment in the OS. It also enforces system and security policies to isolate apps from interfering with each other. For example, arbitration can prevent a software crash from affecting other running software.


An operating system uses various memory management techniques such as Paging or Segmentation.

Paging - Paging is a technique that divides memory into fixed-sized blocks. The main memory is divided into blocks known as Frames and the logical memory is divided into blocks known as Pages.

Segmentation - Segmentation divides the user program and the secondary memory into uneven-sized blocks known as Segments.