Operating Systems Design
Operating System Basics
Describe the basic components of an operating system and their role in implementations for general purpose, real-time, and embedded applications.
Define the concepts of processes, threads, asynchronous signals and competitive system resource allocation.
Show how a shell works.
Scheduling Algorithms for Multi-Tasking
Explain what multi-tasking is and outline standard scheduling algorithms for multi-tasking.
Mutual Exclusion Principles
Discuss mutual exclusion principles and their use in concurrent programming, including semaphore construction and resource allocation.
System Memory Management
Give an overview of system memory management.
Implementing File Systems
Explain how file systems are implemented.
Competing Operating Systems
Discuss the features and strengths of various contemporary operating systems.
Implement an Operating System
Implement a functional, pre-emptive, multi-tasking operating system written in C, including a shell, scheduler, file manager, memory manager, and synchronization components.