104清大计系第二题

楼主: h9638512 (马吉叫我办的)   2016-11-15 22:29:18
想请教一下第二题在问什么?
看不懂题目的意思

楼主: h9638512 (马吉叫我办的)   2016-11-20 10:47:00
非常感谢各位的回答
作者: ken52011219 (呱)   2016-11-16 00:01:00
这题应该是OS 恐龙本的习题A. 可以使该 Process 跑复数次B. 优势: 不用变换Scheduler Algorithem 就可以保证
作者: kyuudonut (善良老百姓)   2016-11-16 00:05:00
可以让它pritority较高的意味 获得的时间会相对比较多
作者: ken52011219 (呱)   2016-11-16 00:06:00
借由复数的pointer 来完成以下两项事情1. 重要的Process可以借由多次的running来完成2.避免Low-priority 的process被饿死劣势: Context Switch 变更多C. 允许 quantum time 依情况不同而改变关于题目 它是指 Ready Queue 中 你可以把它想像成“Link list”别想像成 Array , 我在每个Process某个Process 旁边接了复数个 Link 指向自己Dispatcher依照顺序,Process 会持续重复的被select这个功用目的 优劣是为何context switch会增加 是因为每次 time quantum到了之后 time interrupt被触发 dispatcher会先将原process的 资料传回 在加载下一个PCB 不管前后process是否是一样的
作者: windwaker112 (阿茄)   2016-11-16 10:47:00
他怎么避免low-priority process 饿死,是指原本RR本身的功能吗?
作者: ken52011219 (呱)   2016-11-16 10:52:00
我的理解是 因为 RR 是平均给予process time quantum
作者: aa06697 (todo se andarà)   2016-11-16 10:53:00
时间到就会换~大家一定都轮得到
作者: ken52011219 (呱)   2016-11-16 10:54:00
若要避免Low-priority process starvation 只要在该轮中给它加入pointer 就可避免
作者: windwaker112 (阿茄)   2016-11-16 11:16:00
我的诱惑是避免饥饿不是本身rr就有的特性吗?这样算是这个做法的"优点"吗?这个做法会让原本平衡的time sharing不公平不是有机会造成饥饿,反而是劣势@@?
作者: ken52011219 (呱)   2016-11-16 11:46:00
RR算是FCFS 藉著time quantum 来preemptive 依然有可能starvation虽然照你说好像真的哪里怪怪的 QQ刚刚看洪逸笔记真的如wind大所说的
作者: windwaker112 (阿茄)   2016-11-16 12:02:00
没关系我们一起QQ,OS简直天坑
作者: ken52011219 (呱)   2016-11-16 12:12:00
我是这么猜想的 洪逸说的公平和避免饥饿是在Process完成时间并无限制的情况下,可以达到该效果而实际上各 Process 皆会有一个限制时间很难真得借由RR达到实际情况的公平顺便提供一下刚刚找的解答" target="_blank" rel="nofollow">
作者: windwaker112 (阿茄)   2016-11-16 12:33:00
意思是说,我看谁比较饿,就让他多跑几次以达到公平这样吗?
作者: ken52011219 (呱)   2016-11-16 12:50:00
RR再加上multiple pointer 本身就是额外加priority给某process 就已经论不上公平了 这是优点 也感觉如你所说的是缺点这个缺点是违法RR Algorithms 的精神 但对于整个OS可以不用换scheduler algo就可以达到 若不需要这样当然在该轮就不用加pointer就好话说我感觉我自己在绕圈圈了QQ
作者: windwaker112 (阿茄)   2016-11-16 13:15:00
所以解答的好处第二个拿去下面坏处第二个刚好是两个这样吗XD,因为坏处第二个看不太懂
作者: ken52011219 (呱)   2016-11-16 13:30:00
讨论过后我觉得坏处可以写@@~坏处第二项我觉得是在讲整个LINK变复杂了吧(?
作者: krusnoopy (push)   2016-11-16 13:41:00
我的想法是他的做法是一个process可能有两个pointer帮他在queue排队,坏处第二项就是因为一个process执行结束,也要结束掉queue里面的另外一个pointer,所以要搜寻整个串行" target="_blank" rel="nofollow">
这篇解答说会饿死是缺点
作者: windwaker112 (阿茄)   2016-11-16 14:06:00
我懂了,我把他看成pointer是连续放进去的才想说,做完只要把后面一样的砍掉就好,那照这个逻辑来看是不会有饥饿产生,只是时间分配不均而已,只是有的process在一轮里面跑的时间比较长而已
作者: krusnoopy (push)   2016-11-16 14:10:00
嗯嗯那我更正,只是低priority会分配较少但不会饿死
作者: windwaker112 (阿茄)   2016-11-16 14:47:00
yeah~终于有结论了,感谢各位大大

Links booklink

Contact Us: admin [ a t ] ucptt.com