PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Grad-ProbAsk
[理工] [OS] non-busy waiting semaphore
楼主:
kyuudonut
(善良è€ç™¾å§“)
2016-09-26 16:45:50
Hi 想请问一下
当初洪逸在教 号志制作 的时候
non-busy 配 cs design,是直接用 entry section & exit section 带过
后面提到 "busy waiting 是否可以完全避免" ,
直接说 entry section 存在 busy waiting
但不是 entry section 也可以使用 sys call 制作吗?
还是老师当时有什么特别的解释@@
谢谢
作者:
hopward
(hopward)
2016-09-26 20:38:00
他有说虽然用disable interrupt制作可避免,但不适合用在microprocessor system,且风险高,因此很多系统将它设为特权指令
作者:
BoSiANg
(O(log(n!)))
2016-09-27 00:19:00
我怎么也记得是"Disable Interrupt"跟"Enable Interupt"可是他在教如何设计Entry Sec.时只有讲SW和HW的方法吧?
作者:
ken52011219
(呱)
2016-09-27 00:44:00
皆可吧@@ 恐龙本上都有提到突然想起差别了Wakeup() block() 这两个指令是当 signal(S) 大于s wait(S) 小于s使用
http://i.imgur.com/zk3qgMN.jpg
http://i.imgur.com/56bYZqT.jpg
而disable interrupt &busy waiting 则是使用 MutexLock时的选择作法而已简单来说 它们皆是解决同步问题的tool 但是是不一样的东西恐龙本反而没提起利用interrupt 去实作 semaphore而是利用 block and wakeup去实作个人想法是因为 interrupt Cost太高了 反而直接用这两个sys call 比较好重新整理一下我的思绪 首先在Semaphore 的wait()中 busy waiting 就是指S-- 这点能接受了话
作者:
BoSiANg
(O(log(n!)))
2016-09-27 01:17:00
http://i.imgur.com/faXrdVP.jpg
洪逸那边会说无法避免应该是因为它前面的几个Algo.是定义在用SW及HW制作上,但若用block,wakeup sys. call事实上是可以避免的。是这样吗?
作者:
ken52011219
(呱)
2016-09-27 01:20:00
http://i.imgur.com/hMO5akB.jpg
突然好像不太懂你的问题 以笔记上表达应该是这个意思吧
作者: aa06697 (todo se andarà)
2016-09-27 09:29:00
一楼说的应该是multiprocessor吧?microprocessor 有可能是single core 用disable interrupt就没什么问题(还是我记错了 手边没笔记)
继续阅读
[理工] 黄子嘉线代 第五章对角化
kkk22805385
[理工] 算法 图论时间复杂度
boy00114
[理工] 计组 ALU
w181496
[理工] 离散 排容
brad84622
[理工] 离散-排列问题
pureblue1234
[理工] 离散-整数分割
ss455032
[理工] 线代 invertible
gary19941208
[理工] 线性代数-基底与维度
r60705
[理工] 离散 排列组合
accommodate
[理工] 电磁学 无极值定理
superdevil
Links
booklink
Contact Us: admin [ a t ] ucptt.com