心得分享

Card image cap

鄭同學 報告/作業 分享經驗 03/24 03/15 os作業

03/24 03/15 os作業
名稱 03/15 os作業
日期 03/24
課程名稱 os
指導教師 劉艾華

1. Consider the three conditions for a solution of critical section problem to be a correct solution: Mutual Exclusion, Progress and Bounded Waiting. Please explain
1. Mutual Exclusion. If process Pi is executing in its critical section, then no other processes can be executing in their critical sections.
2. Progress. If no process is executing in its critical section and there exist some processes that wish to enter their critical section, then the selection of the processes that will enter the critical section next cannot be postponed indefinitely.
3. Bounded Waiting. A bound must exist on the number of times that other processes are allowed to enter their critical sections after a process has made a request to enter its critical section and before that request is granted.


2. While Peterson’s solution is correct, please discuss the situation where P1 and P2 are entering the Critical Section at about the same time. How to decide which process can enter its Critical Section?
If both processes try to enter at the same time, turn is set to both P1 and P2 at roughly the same time.
Only one of these assignments lasts; the other will occur, but will be overwritten immediately.
The eventual value of turn decides which of the two processes is allowed to enter its critical section first.


3. Please specify under what kind of situation where busy waiting can be considered advantageous?
Busy waiting wastes CPU cycles that some other process might be able to use productively. This type of semaphore is also called a spinlock.
It’s advantage is when a process need to waiting a lock ,its content does not be change because change content may need much time. Especially used in short time.


4. Consider the reader program of the reader-writer problem below. Please explain
(1) why the readers need to use the semaphore “mutex” but the writers don’t.
(2) why the readers also work on the “wrt” semaphore which is used by the writers.

wait(mutex);
readcount++;
if (readcount == 1)
wait(wrt);
signal(mutex);

reading is performed

wait(mutex);
readcount--;
if (readcount == 0)
signal(wrt);
signal(mutex):

1.Because semaphore “mutex” is used to make sure when the readcount change,the mutual exclusion exist.
2.The semaphore ”wrt” can also used by the first/the last reader enter/leave the critical section.


5. Review the construct of Monitor and understand why the Dinning Philosopher problem can be solved by a Monitor with Pickup and Putdown function. Will give a test for this question next class.
Because the chopsticks is controlled by Monitor’s dp,it make sure there will not have two philosophers Dinning at the same time.

更新日期:2016/3/24 上午 01:20:06