[理工] 108 交大 OS

楼主: mandychad (新庄金城武)   2020-01-04 13:32:03
https://i.imgur.com/HI4hVzz.jpg
1. (d) 在many to one model 的时候,只允许一个user thread access kernel at a ti
me,那请问为什么还会有race condition?
2. (b) 想问是不是也可以作I/O的关系?
https://i.imgur.com/6JSL9c4.jpg
10. (d) 想问这是什么意思?以下我的解读正确吗?
查了恐龙本,提到extent是指修改的contiguous allocation scheme,当contiguous spa
ce不够时,可以链结另外一块contiguous space(称为extent),所以利用extent alloc
ation可以减少file 的外碎情形,所以叫file defragmentation。
谢谢~
作者: zuchang (chang)   2020-01-04 13:39:00
1应该是完成前不被插队 才完全防止race condition2 的描述感觉是不可插队的rr 因为只有完成或timer到才放掉cpu现在的分时应该要可被插队
作者: ccapricorntw (Eating)   2020-01-04 14:18:00
file defragmentation是指file block重新排列吧?
作者: dsa66253 (Kobe Mary)   2020-01-04 14:46:00
借问一下 10的d defragmentation 是为了解决外碎 可是我们已经用extent 基本上就已经没有外碎了吧?
作者: plsmaop (plsmaop)   2020-01-04 16:42:00
1 还是有 race condition,一个 user thread 做一半换另外一个动到同样的东西就有机会 GG具体而言可以参考 python GIL 的问题
作者: mistel (Mistel)   2020-01-04 17:48:00
extent allocation是contiguous allocation的延伸,怎么不会有外碎?file defragmentation就是磁盘重组 相信都有用过CCleaner在memory上就叫compaction 应该都是类似的动作2.b是在问什么时候可能会离开running这个状态 答案是终止,timer,或者是要OS服务的system call等等(就像楼主说的I/O
楼主: mandychad (新庄金城武)   2020-01-05 09:24:00
感谢大大们 懂了

Links booklink

Contact Us: admin [ a t ] ucptt.com