Operating Systems II, Spring 2006, HW 2
This will be covered in practise session during the week 13, 27.-31.3.2006
- Processes
- Problem 3.1 from text book [Stal05, s. 150] [Stal01, s. 149] ("Problem", not "Review Question")
- Problem 3.5 from text book.
- Give an example on an application problem that would be best to solve
with similar processes as
- process 1 in Fig 4.15 [Stal05, s. 189] [Stal01, s. 185]
(each process is one ULT, running in its own LWP) - process 3 in Fig 4.15
- process 4 in Fig 4.15
- process 1 in Fig 4.15 [Stal05, s. 189] [Stal01, s. 185]
- Threads
- Problem 4.4 from text book [Stal05, s. 199] [Stal01, s. 195]
- problem 4.5 from text book [Stal05, s. 200] [Stal01, s. 195]
- Give a synchronization example, where Solaris thread primitive sema_tryp() is
used, but a similar solution with primitive sema_p() would not work.
Explain..
- [2 htp] Let us consider the Linux kernel synchronization primitives (Ch 6.8 [Stal05]).
- Problem 6.20 from text book [Stal05, s. 299]
- 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?
- 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?
- 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.
- Give an example situation where one should use some Barrier operation. Explain.
Teemu Kerola 07.03.2006 13:07