promotion image of download ymail app
Promoted
匿名使用者
匿名使用者 發問時間: 電腦與網際網路軟體 · 9 年前

作業系統相關資訊問題

1.請問何謂critical resource? 何謂critical section?

2.要解決臨界區間的問題,通常要符合哪三個條件?

3.一個號誌(semaphore)的結構包含哪幾個部份?

4.而二元號誌跟計數號誌有何差別?

1 個解答

評分
  • 最佳解答

    1.請問何謂critical resource? 何謂critical section?

    critical =臨界 關鍵 resource=資源

    critical=臨界 關鍵 section=部分 章節

    2.要解決臨界區間的問題,通常要符合哪三個條件?

    A:1互斥、2有限制的等待、3暢通性

    3.一個號誌(semaphore)的結構包含哪幾個部份?

    A: 在使用一個號誌之前,必須先用OSSemCreate來建立號誌。OSSemcreate()建立號誌的時候會有以下幾種情況: 1.如果號誌是用來表示事件的發生,應該將號誌初始化為0; 2.如果是用來表示一個共享的資源,應該把號誌初始化為1; 3.如果是表示task可以使用n個相同的資源,應該把號誌初始化為n。2.Delete a Semaphore — 刪除一個號誌 OSSemDel()可以用來刪除一個號誌,但是在刪除號誌之前要先刪除可能操作這個號誌的所有task。3.Pend a Semaphore — 等待一個號誌4.Post a Semaphore — 發出一個號誌

    5.Accept a Semaphore — 無等待地請求一個號誌當有Task要求一個semaphore時候,此函式會檢查是否該Task可以取得semaphore,如果無法取得該semaphore可以讓該Task簡單的返回。※注意: 和OSSemPend()不同的是,當semaphore無法取得semaphore時,OSSemPend()會暫時暫停呼叫他的Task;而若使用OSSemAccept()若semaphore無法取得,即可立即返回到該Task。 6.Query a Semaphore — 查詢一個號誌的當前狀態也就是說,您可以藉由OSSemQuery()這個函數來得知是否有任何的Task在等待semaphore、且有多少個Task正在等待( 藉由counting 在.OSEventTbl[]中filed的個數 ) 4.而二元號誌跟計數號誌有何差別?

    二元號誌裡面的整數計數值只允許0和1兩種狀態,而計數號誌則允許大於等於零的多種狀態。

    圖片參考:http://chang2002.myweb.hinet.net/001/9898111.gif

    圖片參考:http://a.imagehost.org/0959/01-1.jpg

    2010-12-08 17:43:12 補充:

    現在是在考試喔 暈倒 哈哈

    參考資料: 獅子王資訊電腦工作室(四級輕兵器保修,病理推斷診斷,汽車修護超知識團,台灣中油,系統工程師居酒屋)
    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。