Re: [理工] 97台大電機OS 同步問題~

看板Grad-ProbAsk作者 (′‧ω‧‵)時間15年前 (2011/01/28 00:26), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
以下為個人淺見 ※ 引述《cutesteven (原野漫遊)》之銘言: : 我有2題97電機丙OS想問 : 1.同步問題 : http://ppt.cc/rnpH : 此題想問這題是否滿足同步所有條件 : 本來想說若count讀到相同的值則p0 p1就可能通過while判斷而違反mutual exclusion : 可是題目已說這是mutual exclusion的"distributed system"@@ : 而我感覺是progress也沒有違反? : 請教各位了~ Mutual Exclusion: 題目是Distributed System. 依照題義應該沒有問題 ok Progress: 1. Remainder Section 不參與 Critical Section 決策過程 ok 因為一出Critical Section就重設為零了 2. Decision time is limited ok 一設為零,在busy-waiting的另一個就進了 Bounded Waiting: alternately enter? 再重複進入之前設為零,就放另一個進去了 ok 答案選 (E) 均滿足 : 2.http://ppt.cc/Q~C4 (單選) : 想問B選項.system call是特權指令嗎? : D選項.SJF : 哪個是錯的@@ A. Working Set可用來調配degree of Multiprogramming並控制thrashing B. System Call是Process和OS之間的Communication interface. OS透過 System Call ID 查表再啟動Service Routine回傳結果. 此題意指針對「以特權指令的權限」執行的System Call user program 不可任意使用。 C. 階層式記憶體的確沒有保證資訊的取回。(待高手補強) D. SJF是擁有future knowledge的optimal algorithm E. 正確,可能諸如Hard Real-Time System的Instruction Set就不支援 答案選(D) 有錯還請版友指教 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.176.27

01/28 00:35, , 1F
感謝原PO 我是在想C他寫"may not" 沒有特例可能滿足?
01/28 00:35, 1F

01/28 00:49, , 2F
沒有。 SJF 是Best Case拿來當比較依據用的。
01/28 00:49, 2F

01/28 00:50, , 3F
無論如何越短的Process越快執行完 後面所有的wait都變短
01/28 00:50, 3F

01/28 00:50, , 4F
是可以被證明的
01/28 00:50, 4F

01/28 00:53, , 5F
我被搞混了 17943似乎有說a是錯的@@?
01/28 00:53, 5F

01/28 01:09, , 6F
我突然想到SRJF(可插隊的SJF)似乎waiting time更短?
01/28 01:09, 6F

01/28 01:09, , 7F
或許是我錯了!
01/28 01:09, 7F

01/28 01:10, , 8F
可是我剛看17943 我認為A沒有問題@@
01/28 01:10, 8F

01/28 01:13, , 9F
我是覺得working set不會改變process數目,只會更動page數
01/28 01:13, 9F

01/28 01:13, , 10F
所以嚴格來說不算更改mult-programming?
01/28 01:13, 10F
我重新整合一下題義的Ambiguity 對於Degree of Multiprogramming的定義 是可以簡單定義為「正在系統中執行的Process數量」 但對於系統來說,他是如何調配有多少程式可以執行呢? 系統中的Physical memory固定,調配Working Set Size的個數 會使每個Process所擁有的Page改變 在Summary不變情況下 只能更動Process個數 也就是現在的「Degree of Multiprogramming」 若是定義為「系統目前的狀態」 的確不能任意改變 但利用Working set間接的改變是可行的 再來是對於SJF的Ambiguity。 SJF is optimal in non-preemptive scheduling 沒有問題 證明如下 For each dispatched process, waiting time = 1st: 0 2nd: x1 3rd: x1 + x2 4th: x1 + x2 + x3 ... nth: x1 + x2 + ... + xn-1 => Total waiting time = (n-1) x1 + (n-2) x2 + ... + (2) xn-2 + (1) xn-1 + (0) xn 為了最小化 Xi 必須讓被乘的次數越少越好 但實際上,SRJF也算是SJF的一種。 -- 有錯請指教 謝謝 ※ 編輯: YankSC 來自: 114.25.176.27 (01/28 01:31)

09/11 14:11, , 11F
或許是我錯了! https://daxiv.com
09/11 14:11, 11F
文章代碼(AID): #1DGPpDtp (Grad-ProbAsk)
文章代碼(AID): #1DGPpDtp (Grad-ProbAsk)