Application Programming Interface
PRACTICE EXAM
OPERATING SYSTEM
Ouestion1: Operating systems supply an Application Programming Interface (API) to access system calls. Why is an API supplied?
Save your time - order a paper!
Get your paper written from scratch within the tight deadline. Our service is a reliable solution to all your troubles. Place an order on any task and we will take care of it. You won’t have to worry about the quality and deadlines
Order Paper Nowquestion2: 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.