看板 Grad-ProbAsk 關於我們 聯絡資訊
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同時存取共享變數了嗎?下面又何必再使用號誌? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.185.91 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1536663922.A.FC5.html
q79236: 號誌主要的優點在於好用 只要一行程式碼就可以完成共享變 09/11 22:24
q79236: 數的互斥 相比起CS design好用的多 09/11 22:24
TEPLUN: 回去翻了一下恐龍 好像也沒看到在wait()上面又在包一層tes 09/12 09:20
TEPLUN: t and set做entry的寫法 09/12 09:20
FRAXIS: Semaphore 的 wiki 網頁上有寫 disable interrupt 在 09/12 10:29
FRAXIS: 就沒辦法使用 必須要使用 software/hardware 方式 09/12 10:29
FRAXIS: 你寫的 semphore 的 implementation 是假設有 atomic 變數 09/12 10:30
FRAXIS: 當沒有 atomic 變數時 就要用 software/hardware 方式 09/12 10:32
FRAXIS: semphore 可以提供比 CS 更高層的 API 所以使用比較方便 09/12 10:33
olen0622: 好怪的說法? 09/12 19:49