CS 3733 Operating Systems Final Exam Review: Fall 1996
Bring you 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 nine of these and part of 10 were also covered
on the midterm.
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.