[理工] 104 台大 OS 第九題

作者: kai3570 (kai3570)   2018-01-13 01:27:41
版上找不到,來跟各位大大討論一下
題目
https://i.imgur.com/RW8AdC9.jpg
A.
即使有無限大的swap space
process量太多時仍然要常常swap in
因此提升process亦會thrashing
B. (半猜不太會)
若有priority更高的process一直進到ready queue
thrashing process就會一直沒辦法執行
C.
這題應該就是解釋WSS的運作原理了
D.
不太懂題目想問什麼
有沒有大大願意提供想法
E. (這題也半猜不太會)
不同的VM是在不同的kernel thread底下
所以其他VM並不會受到影響
小弟硬體真的是罩門
麻煩各位大大解解惑了
作者: aggress5566 (哩賀)   2018-01-13 20:10:00
如果我沒誤會A的意思 那他的意思是說某一個process要怎麼thrashing 因為unlimited swap space 我之前好像寫過類似的作業 大概的做法是 讓Process去一直fork要記憶體 然後讓child用exception之類的讓他變zombie 只要Process不結束就不會收回來 所以看起來第二題可能就是第一題的延伸正確沒有錯 但目的不是把叫CPU把child的區塊swap in無聊去跑了一下 光是一個Process一直 malloc 400MB讀寫到seg. fault Swap Space多了1G多
作者: kai3570 (kai3570)   2018-01-13 18:57:00
https://goo.gl/QaJcEx上面網址那本書有討論到"VMM will swap out a VM to avoid thrashing"VMM會確保不同的VM互相獨立所以其他VM應該是不會受影響的
作者: PunchShadow (PunchShadow)   2018-01-13 16:05:00
bus bandwidth 可能被吃掉沒錯 不過硬體資源的分配不是也可以由VMM分配管理嗎?
作者: nat99up (NAt)   2018-01-13 15:46:00
E. VM之間共用硬體資源 有人thrashing有可能吃掉bus bandwidth
作者: PunchShadow (PunchShadow)   2018-01-13 10:00:00
A. 恐龍本的定義是當Multiple-degree增加到一定時,CPU的利用度會突然下降,造成ThrashingB. 我的想法也是不會,再不減少degree的情況下,當一個程式完成時,系統會再分配一個新的程式去執行,造成thrashing的process還是thrashingD的話我覺得是沒辦法完全,因為work set model是一個估價locality的近似方法,如果windows的大小取不適當仍然會出現thrashingE. 我的想法跟你一樣,不同VM間應該要是互不影響的,不過這點不太確定不過如果VM是架在OS上,那kernel thread應該是共用的吧?這點還要再跟各位請教一下我是想說如果是SMP,而且kernel thread的數量足夠VMM可能可以將不同的kernel thread分配到不同VM上這是小弟的淺見,還需要在求證
作者: TWkobe (中華柯比)   2018-01-14 08:43:00
覺得A只要把memory縮小 一直page fault就可以
作者: aggress5566 (哩賀)   2018-01-14 21:49:00
好像有點什麼誤會XD 題目說要讓一個process thrashing 那麼我們所知道的thrashing是multiprogramming所造成的 是站在System觀點 那我理解的題意就是 要怎麼讓一個process 一直在swap 我想到的做法是把記憶體用滿 然後繼續讀寫 這樣勢必會有victim page被swap out 至於要不要swap in swap out才算thrashing我覺得就見仁見智了 至於為何要用zombie只是想說把可以用的swap space盡可能壓到0

Links booklink

Contact Us: admin [ a t ] ucptt.com