CS 3733 Operating Systems Final Exam Review: Spring 1997
Bring your copy of Practical UNIX Programming to the final.
You will be allowed to use it. No other books or notes are
permitted.
Listed here are the major topics covered on the final exam.
The first of these were also covered on the midterm.
The final exam will be on Wednesday, May 7 at 10:30 AM.
1. Introduction: what is an operating system?
buffering, spooling, multiprogramming, time sharing, distributed systems.
2. Processes
process state, process control block, concurrent processes,
independent and cooperating processes,
3. C programming
storage and linkage classes, the meaning of the word static.
4. Using fork, wait, and exec
chains, fans, and trees of processes
5. Unix system calls
open, close, read, write, pipe dup2, getpid, getppid.
6. Unix directory structure
directories, inodes, hard links, symbolic links,
7. I/O in Unix and C
file descriptors and file pointers, file descriptor table,
system file table, redirection.
8. Rings of processes
9. Synchronization
producer-consumer problem, critical sections, critical section problem,
mutual exclusion, progress, bounded waiting, busy waiting, Peterson's solution,
synchronization hardware, semaphores
10. Classical problems in synchronization
bounded buffer problem, monitors, readers and writers problems, dining philosophers
11. Signals
Using the signal mask, catching and ignoring signals,
waiting for signals, interrupted system calls
12. Process Scheduling
scheduling algorithms (FCFS, SJF, round robin, multi-level,
multi-level feedback)
13. Network Communication
client-server model, connectionless and connection-oriented,
UICI, sockets
14. Memory Management
partitions, paging, virtual memory, page replacement
(FIFO, LRU, optimal, second chance, clock), calculation of
effective memory access time.