Skip to main content

Section 1.4 Course objectives

By the end of this course, a student should be able to:
P1: Processes
Explain the mechanisms that an operating system utilizes to allow multiple processes to be run on a limited number of CPUs
P2: Scheduling
Describe and contrast the policies that the operating system might employ for scheduling processes to run
M1: Virtual Memory
Explain the mechanisms employed by the operating system in order to virtualize the physical memory so that processes don’t need to know anything about the physical layout of their memory.
M2: Page swapping
Explain the mechanisms and policies involved in using persistent storage to provide the illusion that there is more available memory than there actually is.
C1: Threads
Describe how threads allow a process to have multiple threads of computation concurrently, and the challenges that this brings up.
C2: Concurrency primitives
Describe the core mechanisms used for implementing concurrency (locks, condition variables, semaphores).
P1: Files
Describe the main mechanisms and policies involved in the file abstraction and persisting information to a persistent storage medium.
P2: Journaling
Describe the journaling and log-based system mechanisms that ensure a file system can recover from something like a power outage.
I1: Code comprehension
Examine the code of a small operating system, and identify how the various OS concepts are implemented.
I2: Code modification
Make suitable modifications to the small OS code in order to implement new features.