CS 3733 Operating Systems First Midterm Exam Review: Spring 2009
This will be a closed book exam.
Listed here are the major topics covered on the midterm exam.
This is a tentative list and will be updated before the exam.
1. Introduction: what is an operating system?
buffering, spooling, multiprogramming, time sharing
2. Processes
process state, process control block, concurrent processes
3. C programming
storage and linkage classes, the meaning of the word static.
4. Process scheduling
job queue, ready queue, device queues, schedulers, performance criteria,
FCFS, SJF, SJFA, round robin, priorities, preemptive scheduling,
multilevel queues, multilevel feedback queues,
process scheduling simulator experiments,
load average and context switch calculations (like from assignment 2).
Know how to do problems like the ones from Assignment 1, but do them by
hand, without using your program.
5. Using fork, wait, and exec
chains, fans, and trees of processes
6. Unix system calls
open, close, read, write, pipe dup2, getpid, getppid.
Understand that read and write do not always process all information
requested. Exception: small write to a pipe or FIFO.
7. I/O in Unix and C
file descriptors and file pointers, file descriptor table,
system file table, redirection.
Understand the difference in buffering when using file descriptors and file
pointers.
8. Unix directory structure
directories, inodes, hard links, symbolic links
9. Rings of processes
10. Threads
general ideas, you do not have to know the syntax for creating threads
11. Synchronization
producer-consumer problem, critical sections, critical section problem,
mutual exclusion, progress, bounded waiting, busy waiting,
Peterson's solution, Test-and-Set, Swap