CS 321 Operating Systems Topics Review
1. OS Architecture
Monolithic vs Microkernel.
2. Processes & Thread
Process creation/execution/exit
Process model and thread model
- user and kernel mode
- interrupt/exception/trap
Process transition diagrams
- Example: 3-state/4-state process diagram
IPC
- Race conditions
- Critical region
- Semaphores, Monitors, Message passing.
Process/thread Scheduling
- Context Switching
- Round Robin, Priority, FCFS, Shortest Job First
3. Memory Management
Memory allocation
- First fit, Next fit, Best fit, Worst fit, Quick fit
Virtual memory with paging
- Page Tables (single level, multiple levels)
- TLBs (Associated Memory, Cache memory)
- Page Replacement Algorithms
(Optimal, FIFO, NRU, Second chance, LRU)
Virtual memory with segmentation
- Segment with paging
4. File System
File attributes and operations
Directory systems and operations
File system implementations
- Bitmap vs Linked List
- Soft/Hard links
- UNIX inode;
5. I/O
Principles of I/O Hardware
- Memory-mapped I/O, Programmed I/O, Interrupts, and DMA
- Device controller, Disk
Principles of I/O Software
- Layered software
Disks
- Disk arms scheduling algorithms
6. Deadlocks
Deadlock conditions
Deadlock detection and recovery
Deadlock avoidance (Bank algorithms)
Deadlock preventions.
7. Virtualization
Type 1 and Type 2 Hypervisors and their applications.
8. Multiple Processor Systems
Multiprocessor operating system types
- Private OS/Master-slave/SMP (Symmetric MultiProcessor)
Multiprocessor Synchronization
-
Multiple locks
Multiprocessor Scheduling
-
Time sharing/Space sharing/Gang scheduling
9. Security
The security environment
- Security goals and threads
Operating systems security
- Trusted computing base
Controlling Access to resources
- Protection domains
- Access control lists
- Capabilities
Attacks
- Buffer overflow attacks
- Mulware (Viruses/Worms/Spyware)
Defenses
- Firewalls
10. OS Programming
Create and synchronize multiple processes.