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:

  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.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *