操作系統課程設計讀者寫者問題
1. 操作系統習題(讀者寫者問題)
我就不信了。。。
2. 操作系統讀者—寫者問題、
由於你的問題沒有寫清楚具體還有什麼要求,所以我按最經典的給你回答,也就內是容1、讀者與寫者之間互斥,寫者與寫者之間互斥。2、讀者之間不互斥 semaphorermutex=1; semaphorewmutex=1; intcount=0; main() { cobegin reader(); writer(); coend } reader() {while(ture) {p(rmutex); if(count==0)p(wmutex); count ; v(rmutex); 讀數據; p(rmutex); count--; if(count==0)v(wmutex); v(rmutex); } } writer() {while(ture) {p(wmutex); 寫數據; v(wmutex); } } 剛給的這個演算法已經滿足你的兩個條件了,如果是對寫者優先的話那就還得改一改,但是讀者優先的話that'sit
3. 計算機操作系統:讀者——寫者問題,用PV原語做.(讀者優先)
int readcount=0; //讀進程計數
semaphore writeblock,mutex;
writeblock=1;mutex=1;
cobegin
process reader_i(){ process writer_j(){
P(mutex); P(writeblock);
readcount++; {寫文件};
if(readcount==1) V(writeblock);
P(writeblock); }
V(mutex);
{讀文件};
P(mutex);
readcount--;
if(readcount==0)
V(writeblock);
V(mutex);
}
coend
不知道LZ你看懂了沒有,其中mutex是讀者讀程序發生兩種情況之間的互斥,可以看成兩種情況,一種是剛有讀者進來讀程序,這是不讓寫者寫,所以有P(writeblock),如果readcount==1,表示有人進來讀程序,開始讀程序。另一種情況是讀者開始變少,少一個就readcount--,直到沒有讀者,這時候釋放寫者,讀者的程序結束。寫者的程序簡單,就不說了
4. 讀者 寫者問題 操作系統
http://wenku..com/view/4863412be2bd960590c67790.html
5. 計算機操作系統中讀者與寫者問題
是隨時申請讀寫的,按時序來了就指定優先順序和並排隊,只要有資源了就會讀或寫。當然是各排各的隊,這就是進程管理。充分利用計算機資源嘛。讀資源和寫資源不一定是一個啊。
6. 計算機操作系統 管程機制實現讀者寫者問題
管程實現讀者寫者演算法
管程:bulletin =MODULE ;(假設已實現一基本管程monitor,同時提供了enter,leave,signal,wait等操作)
r,w:condition;
-r 控制讀者使用資源, w 控制寫者使用資源;
writing:boolean;
-當前寫者是否使用資源;
read_account:integer;
define start_read,end_read,start_writer,end_writer;
use monitor.enter,monitor.leave,monitor.wait,monitor.signal;
procere start_read();
{ if (writing) monitor.wait(r);
read_account++;
monitor.signal(r);}
procere end_read();
{read_account--;
if(read_account =0) monitor.signal(w); }
procere start_write();
{ if(read_account<>0) or writing);
monitor.wait(w);
writing=true;
procere end_write();
{ writing=fasle;
if(r<>NULL) monitor.signal(r);
else monitor.signal(w); }
根據上述定義的一系列過程,給出改進後的讀者寫者演算法。
讀者寫者演算法如下:
reader-(讀者進程):
{
while(true)
{
bulletin.enter();
bulletin.start_read();
read();
bulletin.end_read();
bulletin.leave();}
}
writer-(寫者進程):
{
while(ture)
{
bulletin.enter();
bulletin.start_write();
write();
bulletin.end_write();
bulletin.leave();}
}
7. 跪求計算機操作系統的讀者--寫者問題的C語言版源代碼
看看這抄個網頁襲希望能對你有些幫助
http://blog.csdn.net/surstar/archive/2005/02/05/282109.aspx
8. 操作系統讀者寫者問題
操作系統里很多進程都是死循環,跟我們平常寫的程序是不一樣的。
9. 200分求利用記錄型信號量解決讀者寫者問題課程設計
估計沒人有那麼多時間做這題了,你自己好好看看書吧 程序題不是很難 ,知道有扎實的基礎.