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

正文內(nèi)容

操作系統(tǒng)課程設(shè)計說明書基于linux的進程之間通信(已修改)

2025-07-10 09:38 本頁面
 

【正文】 中北大學操作系統(tǒng)課程設(shè)計說 明 書學 院、系:軟件學院專 業(yè):軟件工程學 生 姓 名:學 號:設(shè) 計 題 目:基于Linux的進程之間通信 實現(xiàn)信號量通信機制(哲學家進餐) 起 迄 日 期:2015年12月28日 2016年1月8日指 導 教 師:何志英2015 年12月25日1 需求分析:設(shè)計內(nèi)容:(1) 實現(xiàn)管道通信,要求見P183習題(3)。(2) 實現(xiàn)信號量通信機制,要求見P191習題(3)。(3) 實現(xiàn)消息緩沖通信機制,要求見P197習題。(4) 實現(xiàn)共享內(nèi)存區(qū)通信機制,要求見P201習題(2)。要求:(1) 用Linux中進程控制系統(tǒng)調(diào)用函數(shù)來創(chuàng)建進程(線程)。(2) 輸出進程通信時同步的說明信息。:(2) 實現(xiàn)信號量通信機制,要求見P191習題(3)。::設(shè)有5個哲學家,共享一張放有5把椅子和5把叉子的圓桌,每人分得一把椅子。哲學家們在肚子饑餓時才試圖分兩次從兩邊撿起兩把叉子就餐。條件: ,哲學家才能吃飯,則哲學家必須等到他人吃完后才能拿起叉子 ,絕不放下自己手中的叉子:?答:當5個哲學家每人手中都拿到了1把叉子(共5把),即不肯放下自己手中的叉子又想要得到左右鄰居的叉子時,每個哲學家永遠拿不到兩把叉子,所有哲學家都在等待另一把叉子,就會導致這5個哲學家誰都吃不上飯。也就是產(chǎn)生死鎖后的情況。(永遠拿不到兩個叉子)的算法。答:程序請看代碼實現(xiàn)。 分析:沒有人餓死,就是不允許出現(xiàn)死鎖的情況(5個哲學家每人1把叉子): ,最終保證至少有一位哲學家能夠進餐,并且在用畢時能釋放出他用過的兩只叉子,從而使更多哲學家能夠進餐; ,才允許他拿起叉子進餐; ,然后再去拿他右邊的叉子,而偶數(shù)號哲學家則相反。五位哲學家都先競爭奇數(shù)號叉子,獲得后再競爭偶數(shù)號叉子,最終總有一位哲學家會因為獲得兩只叉子而進餐。 我采用的解決死鎖的方法是第二種,即在哲學家拿起叉子前先判斷他左右鄰居的情況,只要左右鄰居中有一位正在進餐(叉子已經(jīng)被鄰居拿到,鄰居進餐結(jié)束前自己無法獲得其叉子),就不允許其拿起叉子進餐,這就可以預防死鎖的情況發(fā)生。:按照題目要求,需要調(diào)用Linux操作系統(tǒng)函數(shù)使用信號量機制完成對哲學家進餐問題的求解,要求所有哲學家都能吃到食物,并且要防止哲學家在競爭叉子過程發(fā)生死鎖。程序應該包含如下功能::哲學家在進餐前和進餐后處于思考狀態(tài);:哲學家進餐前需要拿起叉子,在這個過程中可能發(fā)生死鎖,所以要在這個功能中編寫防止死鎖的方法;:哲學家拿起叉子后開始進餐;:哲學家用餐完畢,放下叉子,并通知其左右鄰居;、V操作功能:由于要使用信號量機制,肯定會涉及到P、V操作:包括建立共享內(nèi)存區(qū)、連接進程和共享內(nèi)存區(qū)、創(chuàng)建并初始化信號量集、創(chuàng)建子進程模擬5個哲學家等。: 完成對哲學家進餐問題的求解,解決死鎖問題。 : 最終要提交的成果是:說明書、源程序(cpp文件)2 總體設(shè)計:圖1 哲學家進餐問題程序模塊結(jié)構(gòu)圖 總體流程圖圖2 總體程序流程圖圖3 哲學家進餐問題解決方案流程圖3.詳細設(shè)計 包含必要的頭文件 由于要調(diào)用Linux系統(tǒng)函數(shù),所以要導入必要的頭文件,需要導入的頭文件如下:include sys/ //使用了shmat函數(shù)include sys/include sys/ //使用了semget函數(shù)include sys/ //使用了wait函數(shù)include sys/ //使用了shmget、shmat、shmctl、shmdt四個函數(shù)include //使用了printf函數(shù)include include include //使用了exit函數(shù)、全局變量及宏定義// 宏定義 define N 5 //哲學家的人數(shù)(叉子個數(shù))define LEFT (i+N1)%N //i的左邊鄰居編號define RIGHT (i+1)%N //i的右邊鄰居編號define THINKING 0 //哲學家在思考define HUNGRY 1 //哲學家試圖拿起叉子define EATING 2 //哲學家進餐// 全局變量的定義
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1