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.