




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗一進程控制一、實驗目的:加深對進程概念的理解,明確進程和程序的區(qū)別;止操作, 體會父進程和子進程的關系及進程狀態(tài)的變化;掌握 Linux 操作系統(tǒng)的進程創(chuàng)建和終進一步認識并發(fā)執(zhí)行的實質,編寫并發(fā)程序。二、實驗平臺:虛擬機: VMWare9 以上操作系統(tǒng): Ubuntu12.04 以上編輯器: Gedit | Vim編譯器: Gcc三、實驗內容:( 1)編寫一段程序,使用系統(tǒng)調用fork() 創(chuàng)建兩個子進程,當此程序運行時,在系統(tǒng)中有一個父進程和兩個子進程活動。讓每一個進程在屏幕上顯示“身份信息” :父進程顯示 “Parent process! PID=xxx1 PPID=xxx2 ”;子進
2、程顯示“ Childx process! PID=xxx PPID=xxx ”。多運行幾次,觀察記錄屏幕上的顯示結果,并分析原因。說明:xxx1 為進程號,用 getpid() 函數可獲取進程號;xxx2 為父進程號,用 getppid() 函數可獲取父進程號; Childx 中 x 為 1 和 2,用來區(qū)別兩個子進程;wait() 函數用來避免父進程在子進程終止之前終止。程序源碼:#include<stdio.h>#include<unistd.h>#include<stdlib.h>#define NUM 2int main(void)pid_t pid
3、1,pid2;if(pid1=fork()<0)printf(" 創(chuàng)建進程1 失敗 ");elseif(pid1=0)/子進程 1 執(zhí)行printf("Child1printf("PID=%dprocess: ");PPID=%d n",getpid(),getppid();sleep(2);elseif(pid2=fork()<0)printf(" 創(chuàng)建進程2 失敗 ");elseif(pid2=0)printf("Child2printf("PID=%d/子進程 2 執(zhí)行proc
4、ess: ");PPID=%d n",getpid(),getppid();else/父進程執(zhí)行wait();wait();printf("Parent process: ");printf("PID=%dPPID=%d n",getpid(),getppid();exit(0);執(zhí)行結果whtcmisswhtcmiss-VirtualBox:/Desktop$ gcc test1.c -o testwhtcmisswhtcmiss-VirtualBox:/Desktop$ ./testChild2process: PID=2527P
5、PID=2525Child1process: PID=2526PPID=2525Parent process: PID=2525PPID=2127whtcmisswhtcmiss-VirtualBox:/Desktop$ ./testChild2process: PID=2530PPID=2528Child1process: PID=2529PPID=2528Parent process: PID=2528PPID=2127whtcmisswhtcmiss-VirtualBox:/Desktop$ ./testChild2process: PID=2533PPID=2531Child1proc
6、ess: PID=2532PPID=2531Parent process: PID=2531PPID=2127實驗結果分析:第一次程序運行結果,兩個子進程的PPID都是2525,是由同一個進程創(chuàng)建。而父進程PID 是 2525,父進程PPID 是 2127,說明父進程也是一系統(tǒng)進程的子進程。第二次程序運行結果,父進程 PID 是 2528,PPID 是 2127,說明父進程是由同一進程創(chuàng)建的,父進程也是以子進程的方式存在,且進程ID 是逐漸遞增的。( 2) fork() 和exec()系列函數能同時運行多個程序,利用上述函數將下面單進程順序執(zhí)行的程序 single.c改造成可并發(fā)執(zhí)行 3個進程
7、的程序 multi_process.c ;并用 time 命令獲取程序的執(zhí)行時間,比較單進程和多進程運行時間,并分析原因。/single.c#include <stdio.h>#define NUM 5int main(void)void print_msg(char *m);print_msg("Good ");print_msg("Morning");print_msg("007n");/將007替換為本人學號return 0;void print_msg(char *m)int i;for(i = 0; i<N
8、UM; i+)printf("%s",m);fflush(stdout);sleep(1);編譯運行方法:#gcc single.c o single#time ./single單線程執(zhí)行結果:多線程代碼:#multi_process.c#include <stdio.h>#include<unistd.h>#include<stdlib.h>#define NUM 5int main(void)pid_t pid3;int i;for(i=1;i<=3;i+)pidi-1=fork();if(pidi-1=0|pidi-1=-1)
9、break;if(pid0=0)execl("print","print","Good",NULL);else if(pid1=0)execl("print","print","Hello",NULL);elseif(pid2=0)execl("print","print","201300814113",NULL);wait();wait();wait();exit(0);return 0;實驗分析:第二個實驗結果,
10、 第二個程序的多線程因為是并發(fā)執(zhí)行, 而且是有三個線程,所以在時間上幾乎是單線程的 1/3 ,而且因為是并發(fā)的,所以打印結果是無序的。實驗總結本次實驗首先要明確進程和程序的區(qū)別,我通過在Linux 操作系統(tǒng)的進程創(chuàng)建和終止操作, 運行父進程和子進程,查看運行結果和進程狀態(tài)的變化。實驗過程中也了解了父進程與子進程的運行過程及其機制。其中專業(yè)理論知識內容包括:保安理論知識、消防業(yè)務知識、職業(yè)道德、法律常識、保安禮儀、救護知識。作技能訓練內容包括:崗位操作指引、勤務技能、消防技能、軍事技能。二培訓的及要求培訓目的安全生產目標責任書為了進一步落實安全生產責任制,做到“責、權、利”相結合,根據我公司20
11、15 年度安全生產目標的內容,現與財務部 簽訂如下安全生產目標:一、目標值:1 、全年人身死亡事故為零,重傷事故為零,輕傷人數為零。2 、現金安全保管,不發(fā)生盜竊事故。3 、每月足額提取安全生產費用,保障安全生產投入資金的到位。4 、安全培訓合格率為 100%。二、本單位安全工作上必須做到以下內容:1 、對本單位的安全生產負直接領導責任,必須模范遵守公司的各項安全管理制度,不發(fā)布與公司安全管理制度相抵觸的指令,嚴格履行本人的安全職責,確保安全責任制在本單位全面落實,并全力支持安全工作。2 、保證公司各項安全管理制度和管理辦法在本單位內全面實施,并自覺接受公司安全部門的監(jiān)督和管理。3 、在確保安全的前提下組織生產,始終把安全工作放在首位,當“安全與交貨期、質量”發(fā)生矛盾時,堅持安全第一的原則。4 、參加生產碰頭會時,首先匯報本單位的安全生產情況和安全問題落實情況;在安排本單位生產任務時,必須安排安全工作內容,并寫入記錄。5 、在公司及政府的安全檢查中杜絕各類違章現象。6 、組織本部門積極參加安全檢查,做到有檢查、有整改,記錄全。7 、以身作則,不違章指揮、不違章操作。對發(fā)現的各類違章現象負有查禁的責任,同時要予以查處。8 、虛心接受員工提出的問題,杜絕不接受或盲目指揮;9、發(fā)生事故,應立即報告主管領導,按照“四不放過”的原則召開事故分析會,提出整改措施和對責
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省忻州地區(qū)2023-2024學年七年級下學期期中雙減成果展示數學試卷(含解析)
- 全球造紙市場供需趨勢考核試卷
- 印刷過程余熱回收技術考核試卷
- 生產效率提升策略考核試卷
- 紙質包裝的防水防油技術研究考核試卷
- 2025年中國PEV薄膜數據監(jiān)測報告
- 2025年中國DVI產品數據監(jiān)測研究報告
- 2025年中國60匙位智能鑰匙管理系統(tǒng)主機數據監(jiān)測報告
- 2025年中國16支棉紗數據監(jiān)測報告
- 2025至2030年中國高濃度聚合硫酸鐵市場分析及競爭策略研究報告
- 計量經濟學論文eviews
- 優(yōu)生優(yōu)育課件-提高生育健康水平
- 父母與高中生之間的協(xié)議書
- 2022年韶關市法院系統(tǒng)招聘考試真題
- 2022年江蘇省射陽中等專業(yè)學校工作人員招聘考試真題
- 高中英語新課程標準試題含答案(四套)
- 公安院校公安專業(yè)招生體檢表
- 警務輔助人員考試真題及答案
- 2023年安龍縣體育教師招聘筆試模擬試題及答案
- GB/T 27922-2011商品售后服務評價體系
- GA/T 168-2019法醫(yī)學機械性損傷尸體檢驗規(guī)范
評論
0/150
提交評論