Abstract


Important

As you can see from the two main functionalities of OS. OS aims to be a general-purpose software that provides a platform for users to build on top to complete different tasks. At the same time, OS manages the direct communication with the hardware.

Do we even need an OS?

We can remove the OS software if we build our solution directly on top of the hardware without the need of abstraction and we manages the direct communication with the hardware.

The benefit of doing so is huge huge performance gains. OS comes with many abstractions to be general-purpose, all these abstractions come with overheads! So the task that doesn’t need an OS needs to be a very specific task that aren’t built on many abstractions.

Types of OS


Embedded OS

  • Run on devices like ovens, no un-trusted software will ever run on it
  • All software in ROM
  • Example are OpenWRT and FreeRTOS

Smart Card OS

Server OS

Sensor-Node OS

Real-Time OS

Personal Computer OS

  • Support Multi-programming - dozens of programs started up at boot time
  • Provide good support to a single user
  • Widely used for word processing, spreadsheets & gaming etc
  • Example are Linux Kernel and Windows

Handheld Computer OS

Mainframe OS

Multi-processor OS

Terminologies


Batch System

  • Process jobs without any interactive user present

Transaction-processing System

  • Handle large number of of small requests, hundreds/thousands per second

References