Comp111 - Operating Systems
The midterm will cover the following topics:
Midterm Exam Review
Midterm Exam Wed Nov 14, 2018.
Open Books and Notes
No electronic devices
You should be able to:
- C systems programming.
- C syntax and pointers.
- Common system calls.
- Operating systems concepts
- User and system time.
- Context switches.
- Kernel and user mode.
- Basic I/O: open, read, write, close.
- Buffered I/O: fopen, fdopen, fprintf, fgets, fclose.
- Shells and systems support for shells: fork, exec, dup, setrlimit.
- Signals: signal, kill, sigvec.
- Mutexes: creating, using, performance.
- Threads: definition, creating, joining.
- Semaphores: sem_wait, sem_post, sem_trywait, semop.
- Common systems programming issues
- Critical sections and shared memory.
- Race conditions: definition, impact, solutions.
- Deadlock: definition, impact, solutions.
- Operating system algorithms
- Producer/Consumer architecture and bounded buffer queues.
- Deadlock prevention including lock priority, Banker's algorithm.
- Buddy system for memory allocation.
- Relevant materials
- Lectures to 10/31/2018
- Stallings Chapters 1-8.
- Assignments 1-3.
- All in-class exercises.
The sample exams in the midterm review directory are actual exams from prior
years. They may differ in content somewhat based upon the date of the
- Interpret a C program involving system calls and explain the result.
- Model common operating system algorithms and predict the result.
- Explain common states of a process or operating system.
- Explain and/or illustrate operating system concepts.