Please enable JavaScript.
Coggle requires JavaScript to display documents.
Lecture 1 What is an Operating System? - Coggle Diagram
Lecture 1
What is an Operating System?
Jeff Dean: "Numbers Everyone Should Know
Mutex lock/unlock: 25 ns
Main memory reference: 100 ns
Send 2k Bytes over 1 Gbps network: 20,000 ns
Disk seek: 10,000,000 ns
etc.
Application's "machine" is the process abstraction provided by the OS
Processes provide nicer interfaces than raw hardware
Process: Execution environment with restricted rights provided by OS
One or more Threads
Address Spaces
Files
Sockets
OS Basics: Protection
OS isolates processes from each other
OS isolates itself from other processes
... even though they are actually running on the same hardware!
Textbook
Operating Systems: Principles and Practice (2nd Edition) Anderson and Dahlin
Supplementary Material
Operating Systems: Three Easy Pieces
Linux Kernel Development 3rd Edition
OS Abstracts the Underlying Hardware
Processfor -> Thread
Memory -> Address Space
Disks, SSDs, ... -> Files
Networks -> Sockets
Machines -> Processes
For any OS area (file systems, virtual memory, networking ...
What hardware interface to handle? (physical reality)
What software interface to provide? (nicer abstraction)
Basic Tool for protection:
Dual-Mode Operation
Hardware provides at least two modes
Kernel / Supervisor mode
User Mode
Certain operations are prohibited when running in user mode
changing page table pointer
disabling interrupts
interacting directly w/ hardware
writing to kernel memory
Carefully controlled transitions between user mode and kernel mode
syscalls
Interrupts
exceptions