freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

操作系統(tǒng)實驗報告(已修改)

2025-08-15 04:50 本頁面
 

【正文】 操作系統(tǒng)實驗報告實驗名稱:哲學家就餐問題 班 級:通信1202班 學 號:U201213584 姓 名:趙越 指導老師:許毅平一、實驗目的1.熟練使用VC++,調試并正確運行程序,更加熟練地利用c語言解決問題,掌握死鎖的必要條件。,及相關窗口操作。二、實驗原理1. 問題描述: 有五個哲學家圍坐在一圓桌旁,桌中央有一盤通心粉,每人面前有一只空盤子,每兩人之間放一只筷子每個哲學家的行為是思考,感到饑餓,每個哲學家必須拿到兩只筷子,并且每個人只能直接從自己的左邊或右邊去取筷子。2.分析問題: 假如所有的哲學家都同時拿起左側筷子,看到右側筷子不可用,又都放下左側筷子,等一會兒,又同時拿起左側筷子,如此這般,永遠重復。對于這種情況,即所有的程序都在無限期地運行,但是都無法取得任何進展,即出現饑餓,所有哲學家都吃不上飯。規(guī)定在拿到左側的筷子后,先檢查右面的筷子是否可用。如果不可用,則先放下左側筷子,等一段時間再重復整個過程。分析:當出現以下情形,在某一個瞬間,所有的哲學家都同時啟動這個算法,拿起左側的筷子,而看到右側筷子不可用,又都放下左側筷子,等一會兒,又同時拿起左側筷子……如此這樣永遠重復下去。對于這種情況,所有的程序都在運行,但卻無法取得進展,即出現饑餓,所有的哲學家都吃不上飯。解決死鎖問題:為了避免死鎖,把哲學家分為三種狀態(tài),思考,饑餓,進食,并且一次拿到兩只筷子,否則不拿.。僅當一個哲學家左右兩邊筷子都可用時,才允許他拿筷子。這樣要么一次占有兩只筷子在吃面,然后釋放所有資源;要么不占用資源。這樣就不會導致死鎖了。由以上的分析可以得出以下結論:(1)、防止死鎖發(fā)生的分配方式:僅當一個哲學家左右兩邊的筷子都可用時,才允許他拿筷子。這樣要么一次占有兩只筷子(所有線程需要的資源)進行下一步的吃通心粉,然后釋放所有的資源;要么不占用資源,這樣就不可能產生死鎖了。(2)、產生死鎖的分配方式:當筷子(資源)可用時,先分配左邊的筷子,等待一會后再分配右邊的筷子,由于這個過程中,左邊的筷子一直沒有釋放,就有可能產生死鎖了。三、實驗過程實驗的偽代碼如下所示:(要么一下占用兩支筷子,要么不占用 )var mutexleftchopstick,mutexrightchopstick。beging: resting。 waiting。 p(mutexleftchopstick)。 p(mutexrightchopstick)。 GetResource(leftchopstick,rightchopstick)。 eating。 v(mutexleftchopstick)。 v(mutexrightchopstick)。end(一旦可以占用筷子,就馬上占用) var mutexleftchopstick,mutexrightchopstick。beging: resting。 waiting。 p(mutexleftchopstick)。 GetResource(leftchopstick)。 p(mutexrightchopstick)。 GetResource(rightchopstick)。 eating。 v(mutexleftchopstick)。 v(mutexrightchopstick)。end與之前分析的一樣,當兩只筷子都沒被占用時才去獲取筷子,這樣就打破了死鎖的必要條件,即不發(fā)生死鎖;而當有筷子即占用,看似效率很高,但因為資源有限,且不可搶占,很容易發(fā)生死鎖。以下即為該實驗的完整源代碼:define WIN32_LEAN_AND_MEANinclude include include include include include include HINSTANCE hInst。 // Application Instance HandleHWND hWndMain。 // Main Window Handle
點擊復制文檔內容
物理相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1