![操作系統(tǒng) 試驗32_第1頁](http://file4.renrendoc.com/view/871bd6b5f7e55325a37cbf4f6e6cec58/871bd6b5f7e55325a37cbf4f6e6cec581.gif)
![操作系統(tǒng) 試驗32_第2頁](http://file4.renrendoc.com/view/871bd6b5f7e55325a37cbf4f6e6cec58/871bd6b5f7e55325a37cbf4f6e6cec582.gif)
![操作系統(tǒng) 試驗32_第3頁](http://file4.renrendoc.com/view/871bd6b5f7e55325a37cbf4f6e6cec58/871bd6b5f7e55325a37cbf4f6e6cec583.gif)
![操作系統(tǒng) 試驗32_第4頁](http://file4.renrendoc.com/view/871bd6b5f7e55325a37cbf4f6e6cec58/871bd6b5f7e55325a37cbf4f6e6cec584.gif)
![操作系統(tǒng) 試驗32_第5頁](http://file4.renrendoc.com/view/871bd6b5f7e55325a37cbf4f6e6cec58/871bd6b5f7e55325a37cbf4f6e6cec585.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——操作系統(tǒng)試驗32青島科技大學(xué)實驗報告
2023年11月21日
姓名王茂林專業(yè)集成電路班級111同組者
課程操作系統(tǒng)試驗項目試驗3.2無名管道通信
一、試驗?zāi)康模?/p>
1、了解管道通信機(jī)制的基本原理。
2、把握父子進(jìn)程使用無名管道通信的方法。二、試驗內(nèi)容
1、父子進(jìn)程基于無名管道的簡單通信。
2、編寫程序說實現(xiàn)多個進(jìn)程基于無名管道進(jìn)行通信。三、試驗步驟及結(jié)果:
1、啟動windows下已經(jīng)安裝好的VMware虛擬機(jī)進(jìn)入linux系統(tǒng)2、等待系統(tǒng)初始化完畢后啟動命令終端3、閱讀試驗指導(dǎo)書
4、運行以下程序,觀測程序運行結(jié)果:
/*pipe1.c*/
#include#include#include#include#include#include#includemain()
{
intfd[2],pid,n;
charoutpipe[50],inpipe[50];pipe(fd);pid=fork();if(pid==0){
sprintf(outpipe,\lockf(fd[1],1,0);
write(fd[1],outpipe,strlen(outpipe));lockf(fd[1],0,0);
printf(\}else{
wait(0);
lockf(fd[0],1,0);
n=read(fd[0],inpipe,25);lockf(fd[0],0,0);
printf(\}}
編譯運行結(jié)果如下:
在本試驗中,首先創(chuàng)立管道,之后父進(jìn)程使用fork()函數(shù)創(chuàng)立子進(jìn)程,最終通過關(guān)閉父進(jìn)程的讀描述符fd[0]和子進(jìn)程的寫描述符fd[1]來建立一個\父進(jìn)程寫入子進(jìn)程讀取\的管道,從而建立起它們之間的通信。
5、運行以下同一個進(jìn)程樹的兄弟進(jìn)程通信程序,觀測程序執(zhí)行結(jié)果。
#include#include#include#include#include#include#includemain(){
intfd[2],pid,pir,n,i;
charsend[50]=\pipe(fd);pid=fork();if(pid==0){
while(send[0]!='a'){
printf(\scanf(\lockf(fd[1],1,0);
write(fd[1],send,strlen(send));lockf(fd[1],0,0);sleep(1);}}else{
pir=fork();if(pir==0){
while(receive[0]!='a'){
lockf(fd[0],1,0);
n=read(fd[0],receive,20);lockf(fd[0],0,0);
printf(\}}else{
wait(0);wait(0);
printf(\}}}
編譯運行結(jié)果如下所示:
在上述程序中,父進(jìn)程先創(chuàng)立管道,再創(chuàng)立兩個子進(jìn)程。第一個子進(jìn)程把從鍵盤接收到的信號寫入無名管道,當(dāng)從鍵盤接收到首字母為‘a(chǎn)’的信息時終止。其次個子進(jìn)程從無名管道中讀取數(shù)據(jù),當(dāng)從無名管道中讀出的首字母為‘a(chǎn)’時終止。父進(jìn)程利用wait(0),等待兩個子進(jìn)程運行終止后,輸出“parentiskill〞退出程序。
6、編寫程序?qū)崿F(xiàn)多個進(jìn)程基于無名管道進(jìn)行通信。用系統(tǒng)調(diào)用pipe()建立一個無名管道,實現(xiàn)兩個子進(jìn)程p1和p2分別向管道寫入一句話:
Child1issendingamessage!Child2issendingamessage!
父進(jìn)程從無名管道中讀出兩個來自子進(jìn)程的信息并顯示。
#include#include
#include#include#include#include#includemain(){
intfd[2],pid1,pid2,n1,n2;
charoutpipe1[100],inpipe1[100];charoutpipe2[100],inpipe2[100];pipe(fd);pid1=fork();pid2=fork();
if(pid1==0
write(fd[1],outpipe1,strlen(outpipe1));lockf(fd[1],0,0);lockf(fd[1],1,0);
write(fd[1],outpipe2,strlen(outpipe2));lockf(fd[1],0,0);
printf(\printf(\}else{
wait(0);
lockf(fd[0],1,0);
n1=read(fd[0],inpipe1,100);
printf(\lockf(fd[0],0,0);lockf(fd[0]
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手音響設(shè)備合同
- 腦科學(xué)前沿進(jìn)展-深度研究
- 2025年紙品加工設(shè)備訂購合同
- 2025年受托進(jìn)行房產(chǎn)交易合同簽署
- 2025年二手客車質(zhì)押合同樣本
- 2025年住宅裝修裝潢工程合同范本
- 氣候變化應(yīng)對措施-深度研究
- 績效評價與戰(zhàn)略規(guī)劃-深度研究
- 能效提升與低碳餐飲-深度研究
- 碳中和技術(shù)路徑研究-深度研究
- 2025年中國主題樂園行業(yè)發(fā)展概況、市場全景分析及投資策略研究報告
- 產(chǎn)后疼痛管理指南
- 工娛治療及其護(hù)理
- 泳池翻新改造施工方案
- 2024-2025學(xué)年人教部編版七年級上語文寒假作業(yè)(五)
- 國有企業(yè)內(nèi)部審計工作制度(2篇)
- 四年級下冊勞動《小小快遞站》課件
- 中國妊娠期糖尿病母兒共同管理指南(2024版)解讀
- 期末試卷:安徽省宣城市2021-2022學(xué)年七年級上學(xué)期期末歷史試題(解析版)
- 食品抽檢核查處置重點安全性指標(biāo)不合格原因分析排查手冊
- 幼兒教師新年規(guī)劃
評論
0/150
提交評論