1. Introduction
-
3 parts (pieces):
- Virtualization: CPU, memory
- Concurrency: threads [and processes]
- Persistence: file system
OS Design Goals:
- Abstractions (APIs)
- Performance (minimize overhead)
- Protection (isolation)
- Reliability
- Other: security, energy-efficiency, mobility (dynamic networking)
How:
- Software: operating system (kernel)
- Hardware: user mode vs. kernel mode, privileged instructions, system calls, traps