[理工] C.S. design

看板Grad-ProbAsk作者 (mihanami)時間7年前 (2018/09/11 19:05), 編輯推噓3(307)
留言10則, 4人參與, 7年前最新討論串1/1
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

09/11 22:24, 7年前 , 1F
號誌主要的優點在於好用 只要一行程式碼就可以完成共享變
09/11 22:24, 1F

09/11 22:24, 7年前 , 2F
數的互斥 相比起CS design好用的多
09/11 22:24, 2F

09/12 09:20, 7年前 , 3F
回去翻了一下恐龍 好像也沒看到在wait()上面又在包一層tes
09/12 09:20, 3F

09/12 09:20, 7年前 , 4F
t and set做entry的寫法
09/12 09:20, 4F

09/12 10:29, 7年前 , 5F
Semaphore 的 wiki 網頁上有寫 disable interrupt 在
09/12 10:29, 5F

09/12 10:29, 7年前 , 6F
就沒辦法使用 必須要使用 software/hardware 方式
09/12 10:29, 6F

09/12 10:30, 7年前 , 7F
你寫的 semphore 的 implementation 是假設有 atomic 變數
09/12 10:30, 7F

09/12 10:32, 7年前 , 8F
當沒有 atomic 變數時 就要用 software/hardware 方式
09/12 10:32, 8F

09/12 10:33, 7年前 , 9F
semphore 可以提供比 CS 更高層的 API 所以使用比較方便
09/12 10:33, 9F

09/12 19:49, 7年前 , 10F
好怪的說法?
09/12 19:49, 10F
文章代碼(AID): #1Rbw5o_5 (Grad-ProbAsk)