PRACTICE EXAM
OPERATING SYSTEM
Ouestion1: Operating systems supply an Application Programming Interface (API) to access system calls. Why is an API supplied?
question2: Synchronisation
If the semaphore operations semWait() and semSignal() are not executed atomically then a semaphore cannot guarantee mutual exclusion.
Explain this statement
question3: Synchronisation
- What is a binary Semaphore?
- What is it used for?
Question: General
Using examples, explain the difference between caching and buffering.
question Processes and Threads
Explain the differences between “concurrency” and “parallelism”.
Question: General
Explain why it is a poorly designed operating system that allows application programs direct access to device controllers and devices.
Question: General
How does the distinction between kernel mode and user mode function as a low-level protection (security) system
Question: Memory Management
What is a page fault? Describe the actions taken by the operating system when a page fault occurs.
Question: File Systems
The EXT2 file-system splits a disk partition into “groups”. Each group contains the on-disk data structures (inode table, bitmap block, …) required to administer the data blocks in the group.
- Why is a partition split into “groups”?
- Why not have one group spanning the entire partition?
Question: Processes and Threads
Explain how a new process is created in Unix. Make sure to explain what occurs to all the processes involved.
Question: Memory Management
Explain what “internal” fragmentation and “external” fragmentation is?
Question: Processes and Threads
What are the two models of inter-process communication? What are the strengths and weaknesses of the two approaches?
Question: General
What is the “layered approach” to system design? Why is it difficult to implement?
Question: Memory Management
What is the “locality model” of program execution?
Question: File Systems
What is the advantage of Memory-Mapping Files?
Question: File Systems
Why do operating systems require file systems to be mounted?
Question: Synchronisation
What is Mutual Exclusion?
How can Mutual Exclusion be ensured by using a Semaphore?
Question: File Systems
Name two (2) on-disk data structures that can be found
in a indexed file system, and briefly describe what they are used
for.
Note: These are file-system data structures, not volume or partition boot structures.
Question: Processes and Threads
A running process consists of the following structures:
- program code,
- stack,
- heap,
- process control block.
Explain each of the above structures (you should only require one or two sentences for each).
Question: Synchronisation
Explain what a race condition is and how it can be prevented
Question: Memory Management
Explain why “reentrant” code can be shared between processes
Question: Synchronisation
Semaphores, as well as a tool to ensure mutual exclusion can also be used as resource counters. Using the Producer-Consumer problem with a fixed length buffer, explain how Semaphores can be used as resource counters.
Question: Processes and Threads
Before switching to a new process the operating system performs a state save on the currently running process. What does a state save entail?
Question: File Systems
What is a Virtual File System and why is it necessary?
Question: Memory Management
On general-purpose operating systems why do programs use a virtual address space and not the physical address space.