[OS] Operating System Structure 2

Updated:

Operating System Structure Part 2

Operating System Structure

MS-DOS

msdos_1

  • written to provide the most functionality in the least space
  • not divided into modules
  • its interfaces and levels of functionality are not well separated
  • allow applications to access HW access
  • no user- and kernel- mode separation

msdos_2

  • Single-tasking, single memory space
  • Shell (command interpreter) invoked when system booted
  • Simple method to run program (loads program into memory, overwriting all include small part of CI)
  • Program exit -> the remaining CI reloads shell from disk

Layered Approach

layer

  • The operating system is divided into a number of layers
  • The bottom layer is the hardware, the highest layer is the user interace
  • Layers are selected such that each layer uses functions (operations) and services of only lower-level layers

Traditional UNIX System Structure (Monolithic)

unix

  • consists of everything below the system call interface and above the physial hardware
  • provides a large number of functions for one level
    • file system, CPU scheduling, memory management, I/O, …
  • Pros : Performance
  • Cons
    • Difficult to maintain and upgrade due to interdependencies in the code
    • Security / reliability
      • Any component of OS can ruin entire system
      • Entire OS code runs in a single memory space

Microkernel System Structure

micro

  • moves out as much as possible from the kernel to user-space services
  • communication takes place between user modules using message passing
  • Pros
    • Easier to extend (Modular structure, easy to add services)
    • Easier to port
    • More reliable, secure
  • Cons
    • Performance overhead of user space to kernel space communication
  • Example
    • The Mach
    • L3 / L4
      • seL4 (mathematically verfied software kernel)

Modern Operating System Structure

  • Hybrid!!
  • Pros of Monolithic + Pros of Microkernel

Leave a comment