Operating Systems Principles. Peter Reiher. Spring 2020.
Course Description: Introduction to operating systems design and evaluation. Computer software systems performance, robustness, and functionality. Kernel structure, bootstrapping, input/output (I/O) devices and interrupts. Processes and threads; address spaces, memory management, and virtual memory. Scheduling, synchronization. File systems: layout, performance, robustness. Distributed systems: networking, remote procedure call (RPC), asynchronous RPC, distributed file systems, transactions. Protection and security. Exercises involving applications using, and internals of, real-world operating systems.
These are my solutions for CS111: Operating Systems Principles at UCLA. Including all specs and supplemental materials provided by the professor and TAs.
Projects | Grade |
---|---|
Project 0: Warmup | 99/100 |
Project 1A: Terminal I/O and Interprocess Communication | 99/100 |
Project 1B: Compressed Communications | 93/100 |
Project 2A: Locks | 93/100 |
Project 2B: Lock Granularity and Performance | 93/100 |
Project 3A: File System Interpretation | 93/100 |
Project 3B: File System Consistency Analysis | 99/100 |
Project 4A: Beaglebone Configuration | 100/100 |
Project 4B: Beaglebone Sensor Input | 96/100 |
Project 4C: Internet of Things Security | 100/100 |