Commit 486828a

mo khan <mo.khan@gmail.com>
2021-01-12 01:48:47
add assignment 2
1 parent 4e955bf
Changed files (1)
doc/assignment2.md
@@ -0,0 +1,22 @@
+# Assignment 2
+
+This assignment should be submitted after you have completed Unit 2. It is worth 10% of your final grade for this course.
+
+Instructions: Please answer the following questions in complete sentences. Your answer for each question should be about 150 words. (100 marks total)
+
+1. Define short-term scheduler and long-term scheduler, and explain the main differences between them. (6 marks)
+1. Explain the concept of a context switch. (6 marks)
+1. Explain the terms at most once and exactly once, and indicate how these terms relate to remote procedure calls. (6 marks)
+1. Identify and briefly explain each of the four major categories of benefits of multithreaded programming. (6 marks)
+1. Briefly describe the benefits and challenges for multithreaded programming that are presented by multicore systems. (8 marks)
+1. Define coarse-grained multithreading and fine-grained multithreading, and explain their differences. (6 marks)
+1. Explain process starvation and how aging can be used to prevent it. (6 marks)
+1. How does the dispatcher determine the order of thread execution in Windows? (6 marks)
+1. Define critical section, and explain two general approaches for handling critical sections in operating systems. (8 marks)
+1. Describe the dining-philosophers problem, and explain how it relates to operating systems. (6 marks)
+1. Define the two-phase locking protocol. (6 marks)
+1. Describe how an adaptive mutex functions. (6 marks)
+1. Describe a scenario in which the use of a reader-writer lock is more appropriate than using another synchronization tool, such as a semaphore. (6 marks)
+1. What is the difference between deadlock prevention and deadlock avoidance? (6 marks)
+1. Describe a wait-for graph, and explain how it detects deadlock. (6 marks)
+1. Describe how a safe state ensures that deadlock will be avoided. (6 marks)