Operating Systems, separate exam, 17.9.2013                 suomeksiToisella puolella suomeksi  

Write in each answer sheet course name, date, your name, signature and student id.
For each question, it is sufficient to give a 1-2 page answer.

This is an ordinary separate exam and covers the whole course.

  1. [9 p] Deadlocks
    1. [2 p] What is the deadlock problem? Give a concrete example, based on the Dining Philosophers problem.
    2. [4 p] Which four conditions must be in effect for deadlock to occur? Show that they exist in your example in part (a).
    3. [3 p] Based on previous four conditions (part b), give three different methods to prevent deadlock in advance with Dining Philosophers Problem. Explain, why and how each method works to prevent deadlock in this case.
       
  2. [9 p] Scheduling
    1. [3 p] Give three different (processor) scheduling algorithm, explain ho they work and how they differ in good/bad from the others.
    2. [3 p] How does multiprocessor scheduling differ from "ordinary" scheduling? Give one multiprocessor scheduling algorithm, explain how it works and what is good/bad with it.
    3. [3 p] How does real time scheduling differ from "ordinary" scheduling? Give one real time scheduling algorithm, explain how it works and what is good/bad with it.

  3. [9 p] File Managment
    1. [5 p] What is indexed sequential file and how does it work? What are the advantages/disadvantages for it? When would it be good to use it? When and why should one implement the index as a B-tree?
    2. [4 p] Explain concepts acces matrix, access control list, and capability list, and how they relate to each other. Give an example relating to Unix or Linux file management.
     
  4. [9 p] Memory management
    1. [3 p] What is the Buddy-system relating to memory managment? Which problem does it solve and how does it solve it? What are the advantages/disadvantages for it?
    2. [3 p] What is paging virtual memory, and which problem does it solve? Why does one need hardware support when implementing it and what does this hardware support do? How does paging virtual memory work? Give an example.
    3. [3 p] What is the clock algorithm relating to paging virtual memory, which problem does it solve and how does it work? Give an example.