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

正文內(nèi)容

操作系統(tǒng)實(shí)驗(yàn)報(bào)告(9489)(編輯修改稿)

2024-08-30 04:46 本頁面
 

【文章內(nèi)容簡介】 sgp,size,type,flag)函數(shù)中參數(shù)size應(yīng)設(shè)為1024,msgget(key,flag)中的key應(yīng)為75。父進(jìn)程獲得創(chuàng)建消息后,子進(jìn)程Server先后發(fā)送編號(hào)為1~10的10條消息,子進(jìn)程Client先后接收這10條消息,方能達(dá)到實(shí)驗(yàn)?zāi)康?。?)數(shù)據(jù)結(jié)構(gòu)消息(mymsg):結(jié)構(gòu)體實(shí)現(xiàn),包含的成員變量有消息類型和消息內(nèi)容,具體實(shí)現(xiàn)如下:struct mymsg{ //消息的結(jié)構(gòu)體聲明long int mymsgtype。 //消息類型int text。 }。 //消息內(nèi)容(3)程序框圖 共享存儲(chǔ)區(qū)的創(chuàng)建、附接和斷接(1)功能設(shè)計(jì)為了實(shí)現(xiàn)進(jìn)程通過共享存儲(chǔ)區(qū)進(jìn)行通信,需要?jiǎng)?chuàng)建兩個(gè)進(jìn)程并且調(diào)用shmget()、shmat()、shmctl()函數(shù)實(shí)現(xiàn)共享存儲(chǔ)區(qū)的創(chuàng)建、附接和斷接。由于共享存儲(chǔ)區(qū)的寫入和讀取由兩個(gè)子進(jìn)程完成,而共享存儲(chǔ)區(qū)在本程序中為所有進(jìn)程共用的,因此共享存儲(chǔ)區(qū)的創(chuàng)建、附接和斷接均需要在父進(jìn)程中完成。具體的實(shí)現(xiàn)方式是現(xiàn)在父進(jìn)程中創(chuàng)建一塊共享存儲(chǔ)區(qū),然后用int類型指針list指向該存儲(chǔ)區(qū)的地址;接著創(chuàng)建兩個(gè)子進(jìn)程,第一個(gè)子進(jìn)程通過list指針實(shí)現(xiàn)向共享存儲(chǔ)區(qū)寫入int類型的數(shù)據(jù),第二個(gè)子進(jìn)程通過list指針實(shí)現(xiàn)從共享存儲(chǔ)區(qū)讀出int類型的數(shù)據(jù)。由于兩個(gè)子進(jìn)程同時(shí)使用了list指針,所以需要控制兩個(gè)進(jìn)程互斥,在讀進(jìn)程序中添加了sleep(1)語句。(2)數(shù)據(jù)結(jié)構(gòu)通過shmid=shmget (key ,size ,flag)函數(shù)建立(獲得)共享存儲(chǔ)區(qū),返回該共享存儲(chǔ)區(qū)的描述符shmid。(3)程序框圖五、實(shí)驗(yàn)程序消息的創(chuàng)建、發(fā)送和接收includeincludesys/includeincludesys/includesys/includesys/define MAX 1024define KEY 75struct mymsg{ //消息結(jié)構(gòu)體long int mymsgtype。 //消息類型int text。 //消息內(nèi)容}msg。int main(){ pid_t pids。 pid_t pidc。 int msgid。 int i=1。 msgid=msgget(KEY,0666|IPC_CREAT)。//獲得一個(gè)消息的描述符 if((pids=fork())==0){ //創(chuàng)建Server子進(jìn)程 while(i11){=11i。 =i。 printf(the sended message is %d th\n,i)。 i++。 msgsnd(msgid,amp。msg,MAX,0)。 //向msgid指定的消息隊(duì)列發(fā)送消息,長度為1K } exit(0)。 } else{ i=10。 if((pidc=fork())==0){ //創(chuàng)建Client子進(jìn)程 while(i!=1){ msgrcv(msgid,amp。msg,MAX,0,0)。 //從msgid指定的消息隊(duì)列接收消息 printf(the message is %d th\n,)。 i=。} exit(0)。}else{ wait(0)。 wait(0)。 exit(0)。} } }共享存儲(chǔ)區(qū)的創(chuàng)建、附接和斷接includeincludeincludeincludeincludesys/includesys/includesys/define MAX 11define KEY 75main(){ int i,child1,child2,running=1。//定義子進(jìn)程號(hào) int id。 int *list。 id=shmget(KEY,sizeof(int)*MAX,IPC_CREAT|0666)。 //建立一塊共享存儲(chǔ)區(qū),返回該共享存儲(chǔ)區(qū)的描述符id list=(int*)shmat(id,0,0)。 //將list指針指向共享存儲(chǔ)區(qū) if((child1=fork())==1){ printf(error in fork a\n)。 exit(1)。 } if(child1==0){ sleep(1)。 for(i=0。i=10。i++) printf(your message is: %d \n,list[i])。 exit(0)。 } else{ if((child2=fork())==1){printf(error in fork a\n)。exit(1)。 } if(child2==0){ i=0。 while(1){ list[i]=i。 //向緩沖區(qū)里寫入數(shù)據(jù) printf(the message sent is : %d\n,list[i])。 if(list[i]==10) break。 i++。} exit(0)。} else{ wait(0)。 wait(0)。 shmdt(list)。 //將共享存儲(chǔ)區(qū)與進(jìn)城斷開 shmctl(id,IPC_RMID,0)。// 將共享存儲(chǔ)區(qū)標(biāo)志為被銷毀的 exit(0)。} } }六、實(shí)驗(yàn)結(jié)果(1)消息的創(chuàng)建、發(fā)送和接收 第一個(gè)子進(jìn)程一次發(fā)了10條消息,第二個(gè)子進(jìn)程一次接收了10條消息,消息隊(duì)列先進(jìn)先出。(2)共享存儲(chǔ)區(qū)的創(chuàng)建、附接和斷接第一個(gè)子進(jìn)程向共享存儲(chǔ)區(qū)寫入了11個(gè)數(shù)據(jù),第二個(gè)子進(jìn)程從共享存儲(chǔ)區(qū)讀取,兩個(gè)進(jìn)程之間是互斥執(zhí)行的。七、實(shí)驗(yàn)感想 通過本次實(shí)驗(yàn),我學(xué)會(huì)了如何用消息隊(duì)列和共享內(nèi)存的方式實(shí)現(xiàn)進(jìn)程間的通信,掌握了Linux系統(tǒng)的消息通信機(jī)制和共享存儲(chǔ)區(qū)的原理,并在實(shí)踐過程中掌握了它們的使用方法。在編程和調(diào)試的過程中,我進(jìn)一步熟悉了LINUX環(huán)境下的編譯過程和調(diào)試方法。實(shí)驗(yàn)五 利用信號(hào)實(shí)現(xiàn)進(jìn)程間通信一、實(shí)驗(yàn)?zāi)康膶W(xué)習(xí) UNIX 類操作系統(tǒng)信號(hào)機(jī)制,編寫Linux 環(huán)境下利用信號(hào)實(shí)現(xiàn)進(jìn)程間通信的方法,掌握注冊(cè)信號(hào)處理程序及signal()調(diào)用方法。二、實(shí)驗(yàn)內(nèi)容編寫一個(gè)程序,完成下列功能:實(shí)現(xiàn)一個(gè)SIGINT 信號(hào)的處理程序,注冊(cè)該信號(hào)處理程序,創(chuàng)建一個(gè)子進(jìn)程,父子進(jìn)程都進(jìn)入等待。SIGINT 信號(hào)的處理程序完成的任務(wù)包括打印接受到的信號(hào)的編號(hào)和進(jìn)程PID。編譯并運(yùn)行該程序,然后在鍵盤上敲Ctrl + C,觀察出現(xiàn)的現(xiàn)象,并解釋。提示:參見“五、補(bǔ)充材料”中的signal()的基本用法。三、實(shí)驗(yàn)要求按照要求編寫程序,放在相應(yīng)的目錄中,編譯成功后執(zhí)行,并按照要求分析執(zhí)行結(jié)果,并寫出實(shí)驗(yàn)報(bào)告。四、實(shí)驗(yàn)設(shè)計(jì)功能設(shè)計(jì)本實(shí)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1