[理工] 100 交大 作业系统

楼主: TampaBayRays (光芒今年拿冠军)   2017-12-04 23:12:37
https://i.imgur.com/Y2MGL4M.jpg
想请问这题,虽然他frame不够,一直page fault,可是他有thrashing吗?他page fault不是因为他还没用到后面的资料吗?多给他几个frame会改善?
https://i.imgur.com/yvJ87wC.jpg
另外想请问这题答案是不是怪怪的啊?C是对的吗?他的effective memory access time比一次读取memory的时间还短欸....便条纸是我算的
最后想请问这年是不是考的有点偏门啊?
怎么有很多没看过的东西QQ
作者: clonsey1314 (Clonsey)   2017-12-05 00:56:00
C应该是你对
作者: aggress5566 (哩贺)   2017-12-05 01:05:00
跟thrashing有什么关系@@
楼主: TampaBayRays (光芒今年拿冠军)   2017-12-05 07:47:00
从<30跟答案看起来,他是想考thrashing,可是我觉得没有啊感谢C大~
作者: clonsey1314 (Clonsey)   2017-12-05 11:54:00
不一定是thrashing啊,如果系统process数变多,这样一个process分到的frame就变少,就更容易page fault, CPU利用度就可能会变低(e) process配置更多frame, 些许"后面会用到的frame"就会更多被先载到memory里, page fault次数就会变少
楼主: TampaBayRays (光芒今年拿冠军)   2017-12-05 12:17:00
请问:1.如果再加入process进来,新的process发生page fault的话,应该是lru把旧的array资料swap out,这些资料可能已经不会再用到了,所以CPU utilization感觉不一定会下降吧?2.为什么给他们多一点frame会让他们把之后可能用到的frame swap in ? Prepaging吗?感谢~
作者: clonsey1314 (Clonsey)   2017-12-05 13:01:00
1. CPU utilization下降是因为 每发生一次page fault就会stall数百万个cycles, 若page fault更常发生,就会再stall更多cycles, cpu utilization就会又更低2. 以process A为例, processA共有10个frames,若配置给它5个frames, 这样至少要swap 5次,但若配置给它8个frames, 就可能至少swap 2次就好。
楼主: TampaBayRays (光芒今年拿冠军)   2017-12-05 14:00:00
请问不是都是9次page fault吗?所以frame数影响的是swap out的次数? 那如果我用page buffering不就可以解决了?
作者: clonsey1314 (Clonsey)   2017-12-05 17:34:00
如果用prepaging的话,以process A为例,如果猜的够准,最好的情况,一开始加载memory的为a[0...99], a[100...199], ..., a[400...499]共5个frames, 前面5个frame在执行for loop时都会hit, 会发生page fault的只有后面5个frames; 如果一开始memory里加载8个frames且这8个frames都被for loop reference到,则page fault只会发生在剩下的两个frames。"一般而言"置换policy都不会"太不准"。跟page buffering无关
楼主: TampaBayRays (光芒今年拿冠军)   2017-12-05 18:13:00
如果用prepaging的话好像是这样没错,那如果我假设是pure demand paging的话,不是lazy swap吗?这样好像就没差了?
作者: aggress5566 (哩贺)   2017-12-05 19:25:00
是这样没错啊 但如果现在情况是分给A 10个 B 20个那情况是不是又不一样了 我觉得如果出在非选就写清楚你的假设 如果选择就选适当或选的出来的答案吧
楼主: TampaBayRays (光芒今年拿冠军)   2017-12-05 19:29:00
说的也是,也只能这样了XD感谢愿意和我讨论的各位大大!

Links booklink

Contact Us: admin [ a t ] ucptt.com