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 Now
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:

  1. program code,
  2. stack,
  3. heap,
  4. 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.