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! 
  - [6 p] Processor scheduling
    
      - [2 p] Give two  scheduling algorithms for uniprocessor systems. Explain how they work and how they differ in good/bad from each other.
 
      - [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.
 
      - [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.
 
    
  
  - [6 p] Disk scheduling
 
  
    - [2 p] How does the SCAN (elevator) scheduling work? Why would it be better than FIFO?
 
    - [2 p] How does N-SCAN scheduling work? Why would it be better than SCAN or C-SCAN?
 
    - [2 p] What problem does the  Linux Deadline Scheduler solve? How does it solve the problem? 
        
  
  - [6 p] File management 
 
  
    - [2 p] When would it be advisable to use the indexed file organization?
      When would it be not advisable?
     
    - [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?
 
    - [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?
     
  
  
  - [6 p] Distributed systems
 
  
    - [2 p] What is Service Oriented Architecture (SOA) and how does it relate to distributed systems?
 
    - [2 p] How does  Java RMI relate to SOA?
 
    - [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?