Operating Systems (8 cr), separate exam 12.6.2015   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 page answer.
This is an ordinary separate exam, it covers the whole course, and the grade is based solely on this exam.
If you want to have it graded also as a renewal exam, please note so in your answer sheet. The renewal exam replaces only one course exam, either the one that you missed or the one that you received least points from. The renewal exam points are scaled to course exam points and your grade will include all course components.
Better grade wins. The exam grading may happen only after midsummer.

  1. [6 p] Utilizing locality. There exists two types of locality, spatial and temporal.
    1. [3 p] What type of locality is cache operation based on, what problem in cache does it solve and how? What happens if the locality principle fails in this case?
    2. [3 p] What type of locality is TLB based on, what problem in TLB does it solve and how? What happens if the locality principle fails in this case?

  2. [6 p] Deadlocks.
    1. [3 p] How can you detect a deadlock, and how can you recover from detected deadlock?
    2. [3 p] Why can you prevent deadlocks from ever occurring by reserving the resources always in some given order? What problem is there with this deadlock solution?
      
  3. [6 p] Processor scheduling
    1. [3 p] How does Round-Robin scheduling algorithm work in principle?
      What problem does it solve and what type of environment is it suitable for?
      Why is it now suitable for real time systems?
      What time quantum size is good and what is bad? Why?
    2. [3 p] How does the RMS (rate monotonic scheduling) algorithm work in principle?
      What problem does it solve and what type of environment is it suitable for?
      Why is it not suitable for the usual one processor systems?

  4. [6 p] Disk managment
    1. [2 p] What problem relating to SCAN (elevator) algorithm is solved with C-SCAN (circular SCAN) algorithm, and how does it do it?
    2. [2 p] What problem relating to C-SCAN algorithm is solved with Linux Anticipatory Scheduler, and how does it do it?

  5. [6 p] Virtual memory
    1. [2 p] What problem relating to 1-level virtual memory is solved with 2-level virual memory, and how is it done? How is address translation done now?
    2. [2 p] What problem is solved with Clock algorithm, and how does it solve it?
    3. [2 p] What problem is solved with PFF (Page Fault Frequency) algorithm, and how does it solve it?

  6. [6 p] System security
    1. [2 p] Why is user identification so important for the overall system security?
    2. [2 p] One uses "salt" with Unix password management. What does this mean in practice? What do you gain with salt?
    3. [2 p] How does role based access control differ from ordinary access control?
      What rows/columns are there in role based access control matrixes?
      How do you determine the access rights with these matrixes?