OS
    Overview
    Unix
    macOS
    Windows
    ChromeOS
    watchOS

Operating Systems (OS)

Updated: 2022-03-26

What is an Operating System

  • The original meaning (and still used by hardware engineering) is a basic set of functions to control the hardware and manage things like task scheduling and system calls.
  • The modern terminology used by software developers, the collection of these functions is usually referred to as a kernel, while an operating system is expected to have a more extensive set of programmes.

You may have seen the term GNU/Linux, Linux is the kernel, GNU is the toolset on top of that.

OS = kernel + drivers + software

Read more about Linux and GNU

Monolithic Kernel vs Microkernel

  • Microkernel provides the most basic functionalities: low-level address space management, thread management, IPC, etc.
  • Device drivers, file systems, protocol stacks are included in Monolithic kernels, but are NOT in Microkernels, instead they run in user mode.

Examples:

  • Linux is Monolithic
  • Google's Fuchsia, is based on a microkernel named Zircon. Fuchsia is NOT Linux.

Tanenbaum, the creator of Minix, arguing that microkernels are superior to monolithic kernels:

https://en.wikipedia.org/wiki/Tanenbaum%E2%80%93Torvalds_debate