Operating Systems: Three Easy Pieces
Technical Books
In Progress
My notes & review of Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
Notes
Preface
- The three easy pieces refer to: virtualization, concurrency, persistence
Introduction to Operating Systems
- Device Driver is some code in the operating system that knows how to deal with a specific device. (kind of a vague definition)
- OS takes physical resources (CPU, memory, disk) and virtualize them. It handles concurrency issues and it stores files persistently
- Another responsibility of the OS is protection between applications. Isolating processes from one another is the key to protection.
- Operating Systems need to be highly reliable because it runs non-stop and if it fails then all applications running on the system fail.
- Key difference between a system call and procedure call is that a system call transfers control into the OS while raising the hardware privilege level.
- User applications run in user mode which has more restrictions on what you can access (can’t access physical memory, initiate I/O request to disk).
- System call is initiated through a hardware instruction called a trap and the hardware transfers the control to a pre-specified trap handler.
- Once the OS is done with the system call is passes control back (out of kernel mode) using a return-from-trap instruction.