Re: [资工][103][台大电机丙][OS] 对答案

楼主: qoojordon (颖川琦)   2015-01-10 17:28:47
抱歉,版上讨论时冷时热,没注意到之前那篇还有人回,
以下将你的说明套色,后面附上我的说明
1. 12(B) : 我看恐龙书写说 program counter 记录的是下一个指令的位址,而不是目前
在执行的?
当下没想那么多,不过你说的是对的,因为计组中指令再算branch target时 ,
PC代表的值也是下个指令所再的内存位置,会修正于第一篇文的答案
2. 想请问13(B) :我觉得 waiting time是指在ready queue 中等待的时间,所以P2第二
次执行等待的时间应该不用计入waiting time里,所以B应该是对的?
我是照你的说法算的,所以average waiting time = [0+(7+3)+9]/3
[...]分别就是p1,p2,p3的 waiting time , 看看和你的做法出入在哪
3. 13(D) 正确答案应该是什么呢??
13(D)我是把它当成每单位时间完成的job数量 , 所以我认为答案是 3/16
因为没看过Average throughput的定义,所以不是很严谨,只是单从字面上猜测
如果有版友有原文出处再请帮忙补充
4. 想确认17(C)做法是:只要被reference过则reference bit就变成1,replace过后refe
rence bit也立刻变1。然后每次要replace时都从第一个开始检查,若reference bit 是1
,则改成0 并且继续往下找;若reference bit 是0 则replace. (这个选项怎么样都做不
出这个答案...)
有2个假设
1.每次page fault的时候都是由第一个page往下依序判断谁要被替换
2.没有考虑是否modified
白色代表还有一次机会,红色代表机会用完了
做法:遇到白色就变红色,遇到红色就直接换
当被reference到时,由红色变白色
0 1 2 3 4 1 5 0 2 1 3 2 4 1 5 2 0 1 3 2 4 1 5
0 0 0 0 4 4 5 5 2 2 2 4 4 4 2 2 1 1 2 2 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 4 4 4
2 2 2 2 2 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
上述是我对恐龙本理解后的做法,和我之前看到的一些参考资料有些不同
补习班的资料好像是写<Reference bit , Modify bit>视为二进制,数字小的先被换
因为我不知道modify bit要干麻 , 所以后来就直接改成看谁被reference而已 ,
我不确定正确性,和版友认知有出入麻烦提出来讨论,免得我在这误人子弟
作者: winnie48 (winnie)   2015-01-10 17:39:00
谢谢回答!13D 我那时候眼花看反了@@ 想法和你一样!13B 我是在想由P2到P3会不会是因为P2要做I/O所以自动放弃,所以我才没有算进7~9秒那段时间更正:9~12秒谢谢!!

Links booklink

Contact Us: admin [ a t ] ucptt.com