国产精品婷婷久久久久久,国产精品美女久久久浪潮av,草草国产,人妻精品久久无码专区精东影业

操作系統(tǒng)實(shí)驗(yàn)報(bào)告.doc

約25頁(yè)DOC格式手機(jī)打開展開

操作系統(tǒng)實(shí)驗(yàn)報(bào)告,頁(yè)數(shù):15字?jǐn)?shù):5066實(shí)驗(yàn)一、哲學(xué)家就餐問(wèn)題一、問(wèn)題描述哲學(xué)家就餐問(wèn)題是有dijkatra提出并解決的典型同步問(wèn)題。該問(wèn)題描述的是有五個(gè)哲學(xué)家共用一張圓桌,分別坐在周圍的五張椅子上,圓桌上有五個(gè)碗和五只筷子,他們的生活方式是交替的進(jìn)行思考和就餐。平時(shí),一個(gè)哲學(xué)家進(jìn)行思考,饑餓時(shí)便試圖取用其左右最靠近他...
編號(hào):10-68181大小:133.00K
分類: 論文>其他論文

內(nèi)容介紹

此文檔由會(huì)員 usactu 發(fā)布

操作系統(tǒng)實(shí)驗(yàn)報(bào)告


頁(yè)數(shù):15 字?jǐn)?shù):5066


實(shí)驗(yàn)一、哲學(xué)家就餐問(wèn)題

一、問(wèn)題描述
哲學(xué)家就餐問(wèn)題是有Dijkatra提出并解決的典型同步問(wèn)題。該問(wèn)題描述的是有五個(gè)哲學(xué)家共用一張圓桌,分別坐在周圍的五張椅子上,圓桌上有五個(gè)碗和五只筷子,他們的生活方式是交替的進(jìn)行思考和就餐。平時(shí),一個(gè)哲學(xué)家進(jìn)行思考,饑餓時(shí)便試圖取用其左右最靠近他的筷子,只有在他拿到兩只筷子時(shí)才能進(jìn)餐。進(jìn)餐完,放下筷子繼續(xù)思考。
二、問(wèn)題分析
該問(wèn)題可用記錄型信號(hào)量或者是AND型信號(hào)量解決。
記錄型信號(hào)量解決
經(jīng)分析可知,放在桌子上的筷子是臨界資源,在一段時(shí)間內(nèi)只允許一位哲學(xué)家使用,為了實(shí)現(xiàn)對(duì)筷子的互斥使用,可以用一個(gè)信號(hào)量表示一只筷子,由這五個(gè)信號(hào)量組成信號(hào)量數(shù)組。當(dāng)哲學(xué)家饑餓時(shí)總是先拿其左邊的筷子,成功后,再去拿右邊的筷子,又成功后方可就餐。進(jìn)餐完,又先放下他左邊的筷子,再放下右邊筷子。這個(gè)算法可以保證不會(huì)有兩個(gè)相鄰的哲學(xué)家同時(shí)就餐,但有可能引起死鎖。
AND型信號(hào)量解決
在哲學(xué)家就餐過(guò)程中,要求每個(gè)哲學(xué)家先獲得兩個(gè)臨界資源后方能就餐,這在本質(zhì)上就是AND同步問(wèn)題,故用AND信號(hào)量機(jī)制可獲得最簡(jiǎn)潔的解法。
三、程序偽代碼
#include
#include
#include

#define N 5 /* 哲學(xué)家的個(gè)數(shù) */
#define P(S) WaitForSingleObject(S, INFINITE) // 定義Windows下的P操作
#define V(S) ReleaseSemaphore(S, 1, NULL) // 定義Windows下的V操作

typedef HANDLE Semaphore; // 信號(hào)量的Windows原型
HANDLE hThread[N]; // 線程計(jì)數(shù)
Semaphore S[N]; // N根筷子, N個(gè)信號(hào)量
// 對(duì)每個(gè)哲學(xué)家的線程
DWORD WINAPI Philosopher(LPVOID para)
{
添加代碼
}
int main(int argc, char *argv[])
{
DWORD tid;
int i=0;
char sTmp[32];// 初始化信號(hào)量
for (i=0; i {