Reaves.dev

v0.1.0

built using

Phoenix v1.7.17

OS Structure Overview

Stephen M. Reaves

::

2024-01-19

Notes about Lecture 2a for CS-6210

Summary

OS Structure

OS Structure := the way the OS software is organized wrt applications that it servces and the underlying hardware that it manages.

Goals of OS

Commercial OS

Monolithic Structure

Grec_osApp1App2...AppNOS Services and Device DriversHardware

Each app has its own hardware address space

OS in its own hardware address space

Malfuntioning of an app shouldn’t affect integrity of OS nor other apps

DOS-like Structure

Monolithic structure where there is no protection between the apps and the OS

This was in a time where multitasking didn’t really exists and PCs were meant for single users

Loss of protection

Loss of protection is unacceptable for modern OS

Monolithic structures recoup performance losses by consolidating syscalls

Microkernel

Microkernels were designed to focus around customization for a specific application

Grec_osApp1App2...AppNFile SystemMemory Manager...CPU SchedulermicrokernelHardware

The microkernel itself handles simple abstractions like address space, IPC, etc.

Downside to Microkernel

Why Performance Loss?

border crossing lead to a change in locality

Features of various OSes

FeatureMonolithicDOS-likeMicrokernel
Extensibilityfalsetruetrue
Protectiontruefalsetrue
Performancetruetruefalse