Abstraction or Arbitration

arbitration(R): distributing memory between multiple processes
abstruction(B): supporting different types of supeakers, interchangeable access of hard disk or SSD

Desktop, Embedded
microsoft windows, unix-based(mac os x(BSD), linux)
android, ios, Symbian

Abstractions
-process, thread, file, socket, memory page
Mechanism
-create, schedule

OS Element: memory management example
Abstractions: memory page
mechanism: allocate, map to a process
Policies: least recently used -LRU

Design princples
separation of mechanism 2 policy
-implement flexible mechanisms to support many polices
-e.g, LRU, LFU, random
Optimize for common case
– where will the os be used?
– what will the user want to execute on that machine?
– what are the workload requirements?

OS Protection Boundary
user/kernel protection boundary
privileged mode, kernel-level

user-kernel switch is supported by hardware
-trap instructions
-system call
open(file), send(socket), malloc(memory)
-signals