Operating Systems, term exam, 7.5.2013                 suomeksiToisella puolella suomeksi  

Write in each answer sheet course name, date, your name, signature and student id.
It is sufficient to give 1-2 page answer to each problem.

  1. [6 p] Virtual memory
    1. [3 p] What are inverted page tables and why are they used? What are the benefits when compared with one-level page tables? What are the disadvantages if any?
    2. [3 p] How does clock page replacement algorithm work? Give a simple example of page reference string (sequence) where clock and LRU algorithms work differently. Explain the reason for this difference. Assume that the process is allocated 3 frames, and the reference string contains page numbers from the set 10, 11, 12, 13, and 14.
       
  2. [6 p] Real Time Scheduling
    1. [3 p] What is the priority inversion problem and why is it important in real time scheduling? Give two different methods to solve this problem and roughly explain how they work.
    2. [3 p] A real-time system needs to handle two voice calls and one video stream. Each voice call runs every 5 ms and consumes 1 ms of CPU time per burst. Video stream runs 25 frames/sec, with each frame requiring 20 ms of CPU time. Is this system schedulable?
      If it is, explain why and which scheluding method would be suitable for this case. If it is not, explain why not.
       
  3. [6 p] Disks and File Systems
    1. [3 p] What specific problem is solved with disk cache frequency-based replacement algorithm and how does it work in principle?
    2. [3 p] What specific problem is solved with journaling file system and how does it work in principle?
       
  4. [6 p] eCOS ja SOA
    1. [3 p] eCOS supports monitor implementation in a little bit interesting way. How are monitors implemented in eCOS? How does the implementation differ from that of "ordinary" (Dijkstra) monitor? How is critical section problem solved in eCos monitor? Why is the more room for concurrency with eCOS monitors than with "ordinary" monitors?
    1. [3 p] What is SOA architecture? What is it good for? Which problem does it solve? What elements does it include? Compare Java RMI to SOA-elements.