[理工] C.S. design

楼主: TEPLUN (mihanami)   2018-09-11 19:05:20
https://i.imgur.com/lev7NIN.jpg
https://i.imgur.com/6dajYCU.jpg
https://i.imgur.com/pJaLugj.jpg
第六章看一看有点乱掉了...
有几个问题想请教
1.第一张图是C.S.design的表
洪逸说开关中断通常用于作业系统内部设计,这能理解,但是kernel层次使用软硬件方式
,并没有使用到Disable interrupt,那为何面包店算法跟Test and set要用于kernel
层次?
2.本来以为号志如wait(S)的使用优点是不用写一堆,但图三是号志的制作的部分,洪逸
说Entry section的部分写面包店算法或用Test and set的方式,但用这两种方法本身
不是就能避免不同process同时存取共享变量了吗?下面又何必再使用号志?
作者: q79236 (昕翔)   2018-09-11 22:24:00
号志主要的优点在于好用 只要一行程式码就可以完成共享变量的互斥 相比起CS design好用的多
楼主: TEPLUN (mihanami)   2018-09-12 09:20:00
回去翻了一下恐龙 好像也没看到在wait()上面又在包一层test and set做entry的写法
作者: FRAXIS (喔喔)   2018-09-12 10:29:00
Semaphore 的 wiki 网页上有写 disable interrupt 在就没办法使用 必须要使用 software/hardware 方式你写的 semphore 的 implementation 是假设有 atomic 变量当没有 atomic 变量时 就要用 software/hardware 方式semphore 可以提供比 CS 更高层的 API 所以使用比较方便
作者: olen0622 (hong)   2018-09-12 19:49:00
好怪的说法?

Links booklink

Contact Us: admin [ a t ] ucptt.com