什麼是臨界資源?什麼是臨界區?對臨界資源的訪問有哪些原則?
臨界資源:一次僅允許乙個程序使用的共享資源。
臨界區:每個程序中訪問臨界資源的那段程式。
訪問原則:
空閒讓進,如果有若干程序要求進入空閒的臨界區,一次僅允許乙個程序進入。
忙則等待,任何時候,處於臨界區內的程序不可多於乙個。如已有程序進入自己的臨界區,則其他所有試圖進入臨界區的程序必須等待。
有限等待,進入臨界區的程序要在有限時間內退出,以便其他程序能及時進入自己的臨界區。
讓權等待,如果程序不能進入自己的臨界區,則應讓出cpu,避免程序出現「忙等」現象。
請給出p、v操作的定義。如何用p、v操作實現程序間的互斥?
p的原語操作的動作是:
sem減1
若sem減1後仍大於或等於零,則程序繼續執行
若sem減1後小於零,則該程序被阻塞後進入與該訊號相對應的佇列中,然後轉程序排程
v原語操作的動作是:
sem加1
若相加結果大於零,則程序繼續執行
若想加結果小於或等於零,則該訊號的等待佇列中喚醒一等待程序,然後再返回原程序繼續執行或轉程序排程
由於用於互斥的訊號量sem與所有的併發程序有關,所以稱之為公有訊號量。公有訊號量的值反映了公有資源的數量。只要把臨區置於p(sem)和v(sem)之間,即可實現程序間的互斥,sem的初始值通常設定成1。
使用p,v操作實現程序互斥時應該注意的是:
每個程序中,使用者實現互斥的p,v操作必須成對出現。先做p操作,進入臨界區,後做v操作,出臨界區。若有多個分支,要認真檢查其成對性。
p,v操作應分別緊靠臨界區的頭尾部,臨界區的**應盡可能短,不能出現有死迴圈。
互斥訊號量的初值一般為1。
請用p、v操作寫出乙個不會出現死鎖的哲學家進餐問題的解?
至多只允許四個哲學家共同進餐,以保證至少有乙個哲學家能進餐,最終會釋放出它所使用過的兩支筷子,從而可使更多的哲學家進餐。以下將以room作為訊號量,只允許四個則學家同時進入餐廳就餐。這樣就能保證至少有乙個哲學家可以就餐而申請進入餐廳的哲學家進入room的等待佇列。根據fifo原則總會進入到餐廳就餐,因此不會出現餓死和死鎖的現象。
semaphore chopstick [5]
=;semaphore room=4;
void
philosopher
(int i)
}
高階程序通訊方式有哪幾類?各自如何實現程序間通訊?
高階程序通訊方式可以分為三大類,共享儲存器系統,訊息傳遞系統以及管道通訊系統。
在共享儲存器系統中,程序通過共享記憶體中的儲存區來實現通訊。在通訊系統中,程序間的資料交換以訊息為單位,程式設計師直接利用系統提供的一組通訊命令(原語)來實現通訊。管道是用於連續讀程序和寫程序,以實現它們之間的通訊的共享檔案。向管道提供輸入的傳送程序(即寫程序),以字元流形式將大量的資料送入管道,而接收管道輸出的接收程序(即讀程序)可以從管道中接收資料。
有乙個單向行駛的公路橋,每次只允許一輛汽車通過。當汽車到達橋頭時,若橋上無車,便可上橋;否則需等待,直到橋上的汽車下橋為止。若每一輛汽車為乙個程序,請用p、v操作保證汽車按要求過橋。
本題中使用乙個訊號量m用於互斥過河。因為每次允許一輛汽車通過,所以m的初始值為1。
semaphore m =1;
main (
)passi (
)passi 表示第i輛車。
有3個併發程序r、m、p,它們共享了乙個可迴圈使用的緩衝區b,緩衝區b共有n個單元。程序r負責從輸入裝置讀資訊,每讀乙個字元後,把它存入到緩衝區b的乙個單元中;程序m負責處理讀入的字元;程序p負責把處理後的字元取出並列印輸出。只有當緩衝區單元中的字元被程序p取出後,才又可用來存放下一次讀入的字元。請用p、v操作為同步機制寫出它們能正確併發執行的程式。
semaphore buffer_number=n;
semaphore char_number=0;
semaphore man_number=0;
main()
r()}
m()}
p()}
作業系統第四章
2 分割槽分配演算法 動態分割槽方式,分割槽多 大小差異各不相同,此時把乙個新作業裝入記憶體,更需選擇乙個合適的分配演算法,從空閒分割槽表 鏈中選出一合適分割槽 首次適應演算法ff 迴圈首次適應演算法 最佳適應演算法 最差適應演算法 快速適應演算法 4 動態重定位分割槽分配 有緊湊功能的動態分割槽分...
作業系統第四章
常用排程演算法 先來先服務演算法 fcfs 短程序優先演算法 spf 短剩餘時間優先演算法 srt 最高響應比優先演算法 hrrn 時間片輪轉演算法 rr 和多級反饋演算法 mfq 先來先服務演算法 fcfs 基本思想是按照程序進入就緒佇列的先後次序來分配處理機.採用不可剝奪方式 fcfs演算法很少...
作業系統第四章總結
第四章 檔案系統 檔案是以計算機硬碟為載體儲存在計算機上的資訊集合。檔案管理系統 作業系統中負責管理和儲存檔案資訊的軟體機構。檔案系統由三部分組成 與檔案管理有關的軟體,被管理檔案,實施檔案管理檔案所需要資料結構。對於使用者而言,檔案系統最主要的功能 實現檔案的基本操作,按名儲存和查詢,組織成合適的...