[理工] [OS] 99台大和98台大

看板Grad-ProbAsk作者時間14年前 (2012/01/30 23:27), 編輯推噓2(2035)
留言37則, 3人參與, 最新討論串1/1
98台大http://www.lib.ntu.edu.tw/exam/graduate/98/98403.pdf OS是非題第3題,答案眾說紛紜。 選True的表示:對於某process而言,若page size變大but分給它的memory不變,        則它所需要的page數量可能變少,所以page變成dirty的可能會由        多變少。(eg. 某process原本需要10個page,加大後只需8個page,        所以page變dirty的可能性由10變8,會decrease。) 選False的表示:對某process而言,假設此process需要N bytes的memory, 則使用N/2 bytes大小的page時,對位置0~N/2-1中的k個資料寫入時,         則第1個page會dirty,此時被換掉時write back的機率為1/2;         但若使用1bytes大小的page時,對位置0~N/2-1中的k的資料寫入時,         則k個page會dirty,此時被換掉時write back的機率為k/N,         而 k/N <= 1/2 ,只有在k = 2/N時等號成立,         也就是說,大的page size被換掉的機率一定大於小的page size,         所以命題也就不可能成立。 我支持True的想法,但是False也有道理, 問洪逸說這題出的很怪異就沒下文了(這又是哪招?),想問問看各位的想法? 以上,感謝各位! 99台大http://www.lib.ntu.edu.tw/exam/graduate/99/99404.pdf (3b)這題, 我的想法:因為問的是throughput,而FCFS、SJF和non-preemptive priority 這三者對某n個processes而言最後完成的時間相同, 所以throughput(單位時間完成的process個數)也相同。 對於RR和preemptive priority而言,因為context switch次數可能較多, 導致最後完成時間變長,所以throughput較低。 but手上的答案給的是SJF,我問洪逸他也說"直覺"是SJF(這哪招?) 請問我的想法哪邊有問題呢? (推文討論的應該差不多了,還有人有想法嗎O_O?) 還有同樣98 OS是非題第6題,我覺得是True,但是手邊的答案是False, 我的想法是若time quantum比各process cpu burst time小時, 則average reponse time會提升, 但若time quantum比各process cpu burse time大時, 則average reponse time退化為原本的scheduling。 我的想法有錯嗎? 結果這題po完就想到了...自解,若原本採用preemptive priority且 各process到達時間為priority遞增(越晚來的priority越高,必定可搶cpu), 則把這個scheduling改為RR後average reponse time反而增加。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.24.171.176 ※ 編輯: wheels 來自: 114.24.171.176 (01/30 23:43)

01/31 09:43, , 1F
3.(b)我覺得會選SJF的原因是如果是在任意時間點來看的話
01/31 09:43, 1F

01/31 09:44, , 2F
SJF的throughput都會比其他演算法好
01/31 09:44, 2F

01/31 09:45, , 3F
可能最後的throughput會相同 但SJF能保證任意時間點
01/31 09:45, 3F

01/31 09:57, , 4F
然後可以請問98(6)average response time的部分嗎?
01/31 09:57, 4F

01/31 09:58, , 5F
是指第一次被CPU服務時間扣掉到達時間
01/31 09:58, 5F

01/31 10:02, , 6F
我剛剛有在網路上查到是這個意思 但我記得洪逸在課堂上說
01/31 10:02, 6F

01/31 10:03, , 7F
average response time沒很明確定義 不知道我有沒有記錯@@
01/31 10:03, 7F

01/31 13:58, , 8F
3b你的想法跟星期天的助教一樣,但是如果討論任意時間點的
01/31 13:58, 8F

01/31 13:58, , 9F
話用preemptive priority實作SRJF反而有可能比SJF更好,所
01/31 13:58, 9F

01/31 13:59, , 10F
以我才覺得是固定最後時間。這題也算是ambiguous吧!
01/31 13:59, 10F

01/31 14:00, , 11F
average response time洪逸上課時也是用你查到的定義。
01/31 14:00, 11F

01/31 16:24, , 12F
那請問妳3.a的答案有統一答案嗎??
01/31 16:24, 12F

01/31 16:25, , 13F
然後SRJF和SJF其實我覺得在條件沒有很明顯的限制
01/31 16:25, 13F

01/31 16:26, , 14F
其實分不太出優劣因為SRJF也必須考慮context switch的部分
01/31 16:26, 14F

01/31 16:34, , 15F
我自己寫時答案是三者一樣,因為我考慮到如果throughput是
01/31 16:34, 15F

01/31 16:34, , 16F
考慮每個時間點的話,SRJF在某些case可能比SJF好,所以才會
01/31 16:34, 16F

01/31 16:35, , 17F
考慮最後時間,然後才有三者一樣的答案。
01/31 16:35, 17F

01/31 16:35, , 18F
或者可以說我的想法是:假設答案是SJF,則SRJF可能比它好,
01/31 16:35, 18F

01/31 16:37, , 19F
所以矛盾,故不考慮SJF。
01/31 16:37, 19F

01/31 16:40, , 20F
假設答案是SRJF,若context switch次數多,則SJF比較好,所
01/31 16:40, 20F

01/31 16:41, , 21F
以矛盾,故不考慮SRJF。
01/31 16:41, 21F

01/31 16:41, , 22F
以上皆在考慮任一時間點throughput時。
01/31 16:41, 22F

01/31 16:42, , 23F
若考慮固定最後時間點throughtput,無矛盾,所以三者皆一樣
01/31 16:42, 23F

01/31 16:49, , 24F
恩 我剛剛又想了一下 然後覺得討論任意時間點的throughput
01/31 16:49, 24F

01/31 16:50, , 25F
我比較能接受 然後應該會選擇SJF和SRJF這兩個
01/31 16:50, 25F

01/31 16:50, , 26F
並對他做討論說什麼情況下SJF會比較好或SRJF比較好
01/31 16:50, 26F

01/31 16:51, , 27F
因為如果討論最後時間點的throughput會讓我覺得
01/31 16:51, 27F

01/31 16:52, , 28F
不像是在討論OS的排班法則 反而比較像CPU的硬體效能
01/31 16:52, 28F

01/31 16:52, , 29F
我是這麼覺得啦XD
01/31 16:52, 29F

01/31 16:52, , 30F
然後3a有答案嗎QQ 大大
01/31 16:52, 30F

01/31 17:06, , 31F
因為他問的是maximize的throughtput才會搞的這麼麻煩啊XD
01/31 17:06, 31F

01/31 17:07, , 32F
我覺得還是把自己的想法寫在答案上讓閱卷老師煩惱吧XD
01/31 17:07, 32F

01/31 17:08, , 33F
3a是priority,這還滿確定的:)
01/31 17:08, 33F

01/31 17:08, , 34F
給I/O bound的高priority可以overlap I/O執行和CPU執行時間
01/31 17:08, 34F

01/31 17:17, , 35F
恩 OK 感謝你
01/31 17:17, 35F

01/31 17:20, , 36F
嗯...這樣剩下98 OS那題還沒辦法解決。
01/31 17:20, 36F
※ 編輯: wheels 來自: 140.112.30.141 (01/31 17:21)

09/11 14:50, , 37F
其實分不太出優劣因為S https://daxiv.com
09/11 14:50, 37F
文章代碼(AID): #1F9hRU1- (Grad-ProbAsk)