下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上內(nèi)蒙古師大計算機與信息工程學(xué)院操作系統(tǒng)課程實驗報告 實習(xí)題目計算機操作系統(tǒng)實驗進程間基于共享存儲區(qū)的通信指導(dǎo)教師玉柱職 稱副教授學(xué)生姓名學(xué) 號日 期2016/12/21實現(xiàn)工具PC機實現(xiàn)環(huán)境Linux系統(tǒng)實習(xí)內(nèi)容(功能、目標)實驗?zāi)康南到y(tǒng)了解linux系統(tǒng)的通信機構(gòu)IPC ,掌握IPC中共享存儲區(qū)通信機制,理解共享存儲區(qū)通信的方法及特征。實驗內(nèi)容編寫一段程序,同時父進程創(chuàng)建兩個子進程p1和p2;并使子進程p1與子進程p2通過共享存儲區(qū)相互發(fā)送數(shù)據(jù)(字節(jié))。實現(xiàn)的思想、方法和技術(shù)(含數(shù)據(jù)結(jié)構(gòu)、算法)編寫一段程序,同時父進程創(chuàng)建兩個子進程p1和p2;并使子進程p1與子進程
2、p2通過通過共享存儲區(qū)相互發(fā)送數(shù)據(jù)(512)。linux系統(tǒng)的通信機構(gòu)IPC中消息通信機制提供四個操縱共享存儲區(qū)的系統(tǒng)調(diào)用。shmget()的主要功能是建立新的共享存儲區(qū)或返回一個已存在的共享存儲區(qū)描述字,shmat(shmid,addr,flag)的主要功能是將物理共享區(qū)附接到進程虛擬地址空間,其中shmid是shmget()共享存儲區(qū)描述字,addr等于0有系統(tǒng)自動選址進行附接,flag置0既能讀又能寫。shmdt()的功能是斷接一個共享存儲區(qū),shmctl()的主要功能是查詢及設(shè)置一個共享存儲區(qū)狀態(tài)和有關(guān)參數(shù)。使用以上的系統(tǒng)調(diào)用不僅減少了數(shù)據(jù)流動帶來的硬件開銷,還是批次的通信不僅僅局限于
3、接受和發(fā)送數(shù)據(jù),還可以操作彼此的某些虛擬存儲區(qū)。主要代碼注釋#include<sys/types.h>#include<sys/ipc.h>#include<sys/shm.h>#include<stdio.h>#include<stdlib.h>#define SHMKEY 69#define K 50 int shmid;main() int i,*pint,p1,p2; char *addr; while(p1=fork()=-1); if(p1=0) for(i=0;i<20;i+) shmid=shmget(SHMKE
4、Y,K,0777|IPC_CREAT); addr=shmat(shmid,0,0); printf("naddr 0x%xn",addr); pint=(int*)addr; for(i=0;i<20;i+) *pint+=i; pint=(int*)addr; *pint=20; while(*pint=20); for(i=0;i<=26;i+) printf("%c ",*pint+); shmctl(shmid,IPC_RMID,0); exit(0); else while(p2=fork()=-1); if(p2=0) shmi
5、d=shmget(SHMKEY,K,0777); addr=shmat(shmid,0,0); pint=(int*)addr; while(*pint=0); for(i=0;i<20;i+) printf("%d ",*pint+); pint=(int *)addr; for(i=91;i>=64;i-) *pint+=i; pint=(int *)addr; *pint=0; shmctl(shmid,IPC_RMID,0); exit(0); 共享存儲區(qū)所用的頭文件全局變量shmid外部函數(shù)聲明建立進程1建立256字節(jié)共享區(qū)SHMKEY共享區(qū)首地址通過循環(huán)往共享區(qū)內(nèi)寫入依次數(shù)字124共享區(qū)第一個字中寫入長度24,以便接收進程讀等待接收進程讀取共享存儲區(qū)SHMKEY的id連接共享
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024門禁工程合同
- 2024閘門采購合同模板大全
- 2024榨菜種植與農(nóng)業(yè)電商人才培訓(xùn)合作合同3篇
- 2025年度文化旅游代理股權(quán)轉(zhuǎn)讓及項目運營合同4篇
- 2025年度智能社區(qū)視頻監(jiān)控系統(tǒng)工程承包協(xié)議4篇
- 2025年度應(yīng)急物流承運商合作協(xié)議范本4篇
- 2024音樂制作合同:錄音工作室合同范本版B版
- 2025年度桉樹苗木線上線下融合發(fā)展合同3篇
- 2025年度知識產(chǎn)權(quán)運營丨合伙人共同運營專利技術(shù)的合同4篇
- 2024舞臺建設(shè)施工合同協(xié)議書
- 2024版智慧電力解決方案(智能電網(wǎng)解決方案)
- 公司SWOT分析表模板
- 小學(xué)預(yù)防流行性感冒應(yīng)急預(yù)案
- 肺癌術(shù)后出血的觀察及護理
- 聲紋識別簡介
- 生物醫(yī)藥大數(shù)據(jù)分析平臺建設(shè)-第1篇
- 基于Android的天氣預(yù)報系統(tǒng)的設(shè)計與實現(xiàn)
- 沖鋒舟駕駛培訓(xùn)課件
- 美術(shù)家協(xié)會會員申請表
- 聚合收款服務(wù)流程
- 中石化浙江石油分公司中石化溫州靈昆油庫及配套工程項目環(huán)境影響報告書
評論
0/150
提交評論