Tutorial Week 6
Questions
Resources & Deadlock
Q1: What is deadlock?
Q2: What is starvation, give an example?
Q3: Describe the four conditions required for deadlock to occur.
Q4*: Describe four ways to prevent deadlock by attacking the conditions required for deadlock.
Q5*: Answer the following questions about the tables.
- Compute what each process still might request and display in the columns labeled "still needs".
- Is the system in a safe or unsafe state? Why?
- Is the system deadlocked? Why or why not?
- Which processes, if any, are or may become deadlocked?
- Assume a request from p3 arrives for (0,1,0,0)
- Can the request be safely granted immediately?
- In what state (deadlocked, safe, unsafe) would immediately granting the request leave the system?
- Which processes, if any, are or may become deadlocked if the request is granted immediately?
available | |||
r1 | r2 | r3 | r4 |
2 | 1 | 0 | 0 |
current allocation | maximum demand | still needs | ||||||||||
process | r1 | r2 | r3 | r4 | r1 | r2 | r3 | r4 | r1 | r2 | r3 | r4 |
p1 | 0 | 0 | 1 | 2 | 0 | 0 | 1 | 2 | ||||
p2 | 2 | 0 | 0 | 0 | 2 | 7 | 5 | 0 | ||||
p3 | 0 | 0 | 3 | 4 | 6 | 6 | 5 | 6 | ||||
p4 | 2 | 3 | 5 | 4 | 4 | 3 | 5 | 6 | ||||
p5 | 0 | 3 | 3 | 2 | 0 | 6 | 5 | 2 |
Memory Management
Q6: Describe internal and external fragmentation.?
Q7: What are the problems with multiprogrammed systems with fixed-partitioning?
Q8: Assume a system protected with base-limit
registers. What are the problems with such a protected system
(compared to a paged or segmented VM system)?
Q9*: A program is to run on a multiprogrammed
machine. Describe at which points in time during program development
to execution time where addresses within the program can be
bound to the actual physical memory it uses for execution? What are
the implication of using each of the three binding times?