[理工] 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