Yliopiston etusivulle Suomeksi På svenska In English
Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Homework                                          [suomeksi Sivu suomen kielellä]

Operating Systems II,  Spring 2006, HW 2

This will be covered in practise session during the week 13, 27.-31.3.2006

  1. Processes
    1. Problem 3.1 from text book [Stal05, s. 150] [Stal01, s. 149] ("Problem", not "Review Question")
    2. Problem 3.5 from text book.
       
  2. Give an example on an application problem that would be best to solve with similar processes as
    1. process 1 in Fig 4.15 [Stal05, s. 189] [Stal01, s. 185]
      (each process is one ULT, running in its own LWP)
    2. process 3 in Fig 4.15
    3. process 4 in Fig 4.15
       
  3. Threads
    1. Problem 4.4 from text book [Stal05, s. 199] [Stal01, s. 195]
    2. problem 4.5 from text book [Stal05, s. 200] [Stal01, s. 195]
       
  4. Give a synchronization example, where Solaris thread primitive sema_tryp() is used, but a similar solution with primitive sema_p() would not work. Explain..
     
  5. [2 htp] Let us consider the Linux kernel synchronization primitives (Ch 6.8 [Stal05]).
    1. Problem 6.20 from text book [Stal05, s. 299]
    2. Give an example on a situation, where spinlock operation can be translated into code that does not include busy-waiting. Why can this be translated this way? What do you gain with it?
    3. Give an example on a situation, where spinlock operation must be translated into code that includes busy-waiting. Why must it be translated this way? What do you gain with it?
    4. What is the difference between Reader-Writer Spinlock -operation and Reader-Writer Semaphore -operation? Give an example situation where one should use Reader-Writer Spinlock operation, but not Reader-Writer Semaphore operation.
    5. Give an example situation where one should use some Barrier operation. Explain.

Teemu Kerola 07.03.2006 13:07