Midterm Review Notes
You will be allowed 1 8.5" by 11" sheet of notes for the Midterm
Exam. You can use the front and back of the sheet for your notes.
On the Midterm, you will be probed on the following topics:
- Chapter 1-8 of our text, excluding Section 7.9 on database transactions
- Program #1
My review notes below are simply my thoughts on what is important in the
Midterm material; you are still responsible for all items in Chapter 1-8, even
if they are not explicitly mentioned in these notes.
Chapter 1-3 Introduction, Computer System Structures, Operating System
Structures
Top five concepts/points:
- OS History: batch systems to time sharing systems to multiprogramming
systems and so on [Ch 1]
- Computer system evolution: mainframe, desktop, multiprocessor,
distributed, real-time systems, etc [Ch 1]
- Basic computer system organization: CPU, I/O, storage, memory, network [Ch
2]
- OS components: process, memory, file, I/O, storage, networking, and
protection management [Ch 3]
- OS structure: system called, layered vs. not, kernel, virtual machine [Ch
3]
Chapter 4 Processes
Top five concepts/points:
- Process states and scheduling: PCB, diagrams on page 97 and 101
- Process creation: child processes, fork/execlp paradigm
- Process cooperation and communication
- Process communication examples: Mach & Windows 2000
- Client-server architecture: sockets, remote procedure calls, remote method
invocation
Chapter 5 Threads
Top five (or so) concepts/points:
- Threads versus processes
- User versus kernel threads: threading models
- Thread examples: PThreads, Solaris 2, Windows 2000, Linux, Java
Chapter 6 CPU Scheduling
Top five concepts/points:
- Different levels of schedulers: short, medium and long-term
- Scheduling criteria: CPU utilization, throughput, turnaround time, wait
time, response time
- Scheduling algorithms: Gantt charts, FCFS, SJF, priority, round robin,
multi-level queue, evaluation and Little's formula
- Real-time scheduling
- Process scheduling examples: Solaris 2, Windows 2000, Linux
Chapter 7 Process Synchronization
Top five (or so) concepts/points:
- Synchronization definition: deadlock, race condition, critical section,
entry section, exit section
- Synchronization requirements: mutual exclusion, progress, bounded waiting
- Hardware solutions: TestAndSet(), Swap()
- Semaphores
- Critical regions and monitors
- Deadlock problems: bounded buffer, reader-writer, dining philosopher
- Synchronization examples: Solaris 2, Windows 2000
Chapter 8 Deadlocks
Top 5 concepts/points:
- Necessary conditions for deadlock: mutual exclusion, hold and wait, no
preemption, circular wait
- Resource allocation graphs (RAGs)
- Deadlock prevention: breaking one of the four conditions
- Deadlock avoidance/detection: safe state, safe sequence, RAGs, Banker's
algorithm
- Recovery