Operating Systems, term exam, 7.5.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-2 page answer.
Write the answers to each problem in separate sheets.

NOTE: Please return the answer for each problem in its own pile!

  1. [6 p] Processor scheduling
    1. [2 p] Give two scheduling algorithms for uniprocessor systems. Explain how they work and how they differ in good/bad from each other.
    2. [2 p] How does multiprocessor scheduling differ from "ordinary" uniprocessor system scheduling? Give one multiprocessor scheduling algorithm, explain how it works and what is good/bad with it.
    3. [2 p] How does real time scheduling differ from "ordinary" uniprocessor system scheduling? Give one real time scheduling algorithm, explain how it works and what is good/bad with it.
     
  2. [6 p] Disk scheduling
    1. [2 p] How does the SCAN (elevator) scheduling work? Why would it be better than FIFO?
    2. [2 p] How does N-SCAN scheduling work? Why would it be better than SCAN or C-SCAN?
    3. [2 p] What problem does the Linux Deadline Scheduler solve? How does it solve the problem?
       
  3. [6 p] File management
    1. [2 p] When would it be advisable to use the indexed file organization?
      When would it be not advisable?
    2. [2 p] How do you find a given key (personnel id 123456) from an indexed file, when the index is not implemented with a B-tree?
    3. [2 p] How do you find a given key (personnel id 123456) from an indexed file, when the index is implemented with a B-tree?

  4. [6 p] Distributed systems
    1. [2 p] What is Service Oriented Architecture (SOA) and how does it relate to distributed systems?
    2. [2 p] How does Java RMI relate to SOA?
    3. [2 p] How does a cluster differ from a generic collection of computers connected with a local area network? How does a cluster differ from a SMP (Symmetric MultiProcessing) system?