Final Study Guide
Real-Time Operating Systems:
-
What is the difference between soft and hard real-time systems?
-
What is the difference between interrupt and dispatch latency?
-
What are the advantages and disadvantages of the various
schedulers that are designed for real-time operating systems?
Memory Systems
-
When would an operating system have swap memory, and when would
it not?
-
What are some uses for memory maps?
-
Given the page table on slide 12
of lecture 13, what is
the physical address given the virtual address 0xF?
-
Within a page table, what do the protection and valid bits mean?
-
What is the benefit of a hierarchical paging system?
-
What happens when a page fault occurs?
-
What are the advantages and disadvantages of the various page
replacement algorithms?
Device Drivers
-
What is the difference between character, block, and network
devices? Give an example of each.
-
How does a kernel know which device driver to use given a
particular piece of hardware?
-
What is involved when loading a program? When loading a kernel?
-
What are the steps involved in handling a hardware interrupt?
Linux Kernel Modules
-
What is the difference between a driver's init, probe, remove, and
exit functions?
-
What is the relationship between a function's return value and
the errno variable?
-
What is the difference between user and interrupt context? Give
an example of each.
-
How does a driver allocate memory?
-
How is the container_of() macro used when implementing linked
lists?
-
What is the difference between a mutex and a spinlock? When
would a driver use one or the other?
Mass Storage
-
What schedulers exist for a hard disk drives? What are the
advantages and disadvantages of each?
-
What is the difference between sequential and random access?
Between blocking and non-blocking I/O?
-
How do directories store files and the files' metadata?
-
How do filesystems allocate space for files?
-
What optimizations exist for various filesystems?
-
How do filesystems handle error conditions?
-
On a typical Linux system, what filesystems are available? Why
are there multiple filesystems employed at the same time?
Kernel Security
-
In Linux, give an example of a coarse-grained and a fine-grained
security model.
-
Name three ways how an access matrix could be implemented.
-
What is the difference between an access capability versus a
Linux capability? How are they implemented differently?
Networking
-
What does the OSI model represent?
-
Where does a NIC store a received Ethernet frame?
-
In Linux, what does a NIC do after it has finished storing the
Ethernet frame?