CMSC 421: Principles of Operating Systems
Midterm Study Guide
General:
-
Make sure you are able to convert between hexadecimal and decimal
values.
Operating System Design:
-
What is the difference between a hardware interrupt and a
software trap?
-
What is the purpose of DMA?
-
What is the difference between user mode versus kernel mode?
-
What are the steps involved when making a system call?
-
Why would a computer ever run a monolithic kernel? Why would it
use a microkernel? What are the advantages and disadvantages of
the two?
Processes:
-
What are the five different states within the process lifecycle?
-
Name three different things stored in a process control block.
-
Name three different situations that can cause a context switch.
-
What is the difference between an orphan and a zombie?
-
What do file descriptors do?
-
What is the difference between direct and indirect IPC? Give an
example of a direct and of an indirect IPC.
Threads:
-
What is the advantage of a many-to-one threading model versus
many-to-many threading?
-
For the producer/consumer code on slide 9
of lecture 8,
describe the race condition. What are some mechanisms that could
prevent that race condition?
-
For the dining philosopher's code on slide 22
of lecture
9, describe the deadlock. What are some ways to avoid that
deadlock?
-
What is the difference between a mutex, semaphore, condition
variable, and monitor? What are the different kinds of mutexes
and semaphores?
-
What can cause a priority inversion?
Scheduling
-
What does it mean for a scheduler to be preemptive? What are the
requirements for a preemptive scheduler?
-
Be able to differentiate between the different schedulers given
a Gantt chart and list of processes. Be able to name their
strengths and weaknesses.
-
What is the problem with a purely priority-based scheduler?
-
For the round-robin scheduler on slide 18
of lecture 11, what
is the average waiting time?
-
Why would a process require hard affinity instead of letting the
operating system migrate it to another processor?
-
Give an example of a system with hard real-time scheduling
requirements.
Memory Allocation
-
Describe different mechanisms that protect a process's address
space.
-
What are the advantages and disadvantages of using swap memory?
-
What is the purpose of mmap()?
-
What are the advantages and disadvantages of the memory
allocators on slide 23
of lecture 13?