版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2015-2016(2)操作系統(tǒng)實(shí)驗(yàn) 5 學(xué)號: 姓名: 實(shí)驗(yàn)五 進(jìn)程的創(chuàng)建與控制一、實(shí)驗(yàn)?zāi)康倪M(jìn)程是操作系統(tǒng)中最重要的概念之一,任何程序的執(zhí)行都要借助于進(jìn)程來啟動(dòng)、運(yùn)行和控制。通過該實(shí)驗(yàn),一方面讓學(xué)生理解程序和進(jìn)程之間的一對多聯(lián)系,體會(huì)程序的靜態(tài)性和進(jìn)程的動(dòng)態(tài)性,另一方面也感受我們所使用的操作系統(tǒng)對進(jìn)程的支持情況。二、實(shí)驗(yàn)預(yù)習(xí).什么是進(jìn)程? 一個(gè)進(jìn)程在其生存期中至少要經(jīng)歷哪幾種狀態(tài)? 一個(gè)程序是否只能被一個(gè)進(jìn)程啟動(dòng)?進(jìn)程是進(jìn)程實(shí)體的運(yùn)行過程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。一個(gè)進(jìn)程在其 生存期中至少要經(jīng)歷就緒、執(zhí)行、阻塞狀態(tài)三種狀態(tài),一個(gè)程序不僅僅只能被一個(gè)進(jìn)程啟動(dòng)。.操作系統(tǒng)是根據(jù)什
2、么信息來感知進(jìn)程的存在的?操作系統(tǒng)根據(jù)進(jìn)程控制塊(PCB來感知進(jìn)程的存在。三、實(shí)驗(yàn)內(nèi)容和要求.在實(shí)驗(yàn)室已經(jīng)安裝的 Visual C+ 6.0 環(huán)境下創(chuàng)建一個(gè)進(jìn)程,來運(yùn)行一個(gè)Windows系統(tǒng)自帶的記事本程序(notepad.exe ),設(shè)計(jì)出來的界面大體如下圖:要求通過點(diǎn)擊界面上的按鈕,分別啟動(dòng)、阻塞、喚醒、終止記事本、關(guān)閉記事本進(jìn)程空間。.自己建立一個(gè)可執(zhí)行程序,用幾個(gè)不同的進(jìn)程來運(yùn)行它??蓞⒖既缦虏襟E:(1)自己用VB建立一個(gè)應(yīng)用程序 hello.exe,保存起來,為下一步做準(zhǔn)備。(2)在VC環(huán)境下設(shè)計(jì)界面大體如下:兩個(gè)進(jìn)程(P1、P2)運(yùn)行同一個(gè)程序(hello.exe )啟動(dòng)進(jìn)程1 (
3、運(yùn)行hello.exe )掛起進(jìn)程1喚醒進(jìn)程1終止進(jìn)程1啟動(dòng)進(jìn)程2 (運(yùn)行hello.exe )掛起進(jìn)程2喚醒進(jìn)程2終止進(jìn)程2【實(shí)驗(yàn)步驟】.在Visual C+ 6.0環(huán)境下創(chuàng)建一個(gè)進(jìn)程,設(shè)計(jì)出來的界面大體如下圖所示,分別有啟動(dòng)、 阻塞、喚醒、終止記事本、關(guān)閉記事本等進(jìn)程的按鈕,來運(yùn)行一個(gè)Windows系統(tǒng)自帶的記事本程序(notepad.exe )。2016-4-252015-2016(2)操作系統(tǒng)實(shí)驗(yàn) 5 學(xué)號: 姓名: 區(qū) VCCCC確定 I取消 I進(jìn)程創(chuàng)建與控制啟動(dòng)記事本掛起記事本I 激活記事本I 終止記事本I進(jìn)程退出每個(gè)按鈕對應(yīng)的代碼如下:PROCESS_INFORMATION pi
4、;HCURSOR CVccccDlg:OnQueryDragIcon() return (HCURSOR) m_hIcon;/啟動(dòng)記事本 void CVccccDlg:OnButton1() STARTUPINFO si;memset(&si,0,sizeof(si); si.cb=sizeof(si);CreateProcess(NULL, notepad.exe, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS| CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);/掛起記事本void CVccccDlg:OnButton2
5、() SuspendThread(pi.hThread);2016-4-252015-2016(2)操作系統(tǒng)實(shí)驗(yàn) 5 學(xué)號: 姓名: )/激活記事本void CVccccDlg:OnButton3() (ResumeThread(pi.hThread); )/終止記事本void CVccccDlg:OnButton4() (TerminateProcess(pi.hProcess,0); )/進(jìn)程退出void CVccccDlg:OnButton5() (ExitProcess(0); ).(1)在VB環(huán)境下建立一個(gè)可執(zhí)行程序hello.exe并保存運(yùn)行的結(jié)果如圖1所示,然后在VC環(huán)境下設(shè)計(jì)用
6、兩個(gè)進(jìn)程(P1、P2)運(yùn)行同一個(gè)程序(hello.exe ),界面設(shè)計(jì)如圖2所 示。其中包括啟動(dòng)進(jìn)程 1 (運(yùn)行hello.exe )、掛起進(jìn)程1、喚醒進(jìn)程1、終止進(jìn)程1、啟動(dòng) 進(jìn)程2 (運(yùn)行hello.exe )、掛起進(jìn)程2、喚醒進(jìn)程2、終止進(jìn)程2。圖1 VB環(huán)境下的可執(zhí)行程序界面2016-4-252015-2016(2)操作系統(tǒng)實(shí)驗(yàn) 5 學(xué)號: 姓名: 5Q VCCC確定取消茂逾程1 |掛起進(jìn)程1 |嗔醒進(jìn)程1 |終止進(jìn)程1退出 |啟動(dòng)進(jìn)程2 I掛起避程之喚醒進(jìn)程一 |終止進(jìn)程-圖2 VC環(huán)境下的進(jìn)程設(shè)計(jì)界面 (2)對于圖2-2所示的界面所對應(yīng)的代碼如下:啟動(dòng)進(jìn)程1PROCESS_INFO
7、RMATION pi;void CVcccDlg:OnButton1() STARTUPINFO si;memset(&si,0,sizeof(si);si.cb=sizeof(si);CreateProcess(NULL,hello.exe,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS| CREATE_NEW_CONSOLE, NULL,NULL,&si, &pi);/掛起進(jìn)程1void CVcccDlg:OnButton2()SuspendThread(pi.hThread);/喚醒進(jìn)程12016-4-252015-2016(2)操作系統(tǒng)實(shí)驗(yàn) 5 學(xué)號: 姓名
8、: void CVcccDlg二OnButton3()(ResumeThread(pi.hThread);/終止進(jìn)程1void CVcccDlg二OnButton4() (TerminateProcess(pi.hProcess,0);/退出void CVcccDlg二OnButton9()(ExitProcess(0);/啟動(dòng)進(jìn)程2PROCESS_INFORMATION pi2;void CVcccDlg二OnButton5() (STARTUPINFO si2;memset(&si2,0,sizeof(si2);si2.cb=sizeof(si2);CreateProcess(NULL,h
9、ello.exe,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS| CREATE_NEW_CONSOLE, NULL, NULL, &si2, &pi2);/掛起進(jìn)程2void CVcccDlg二OnButton6() (SuspendThread(pi2.hThread);/喚醒進(jìn)程2void CVcccDlg二OnButton7() (ResumeThread(pi2.hThread);2016-4-252015-2016(2)操作系統(tǒng)實(shí)驗(yàn) 5 學(xué)號: 姓名: /終止進(jìn)程2void CVcccDlg二OnButton8() (TerminateProcess(pi2.hProcess,0);(3)編譯以上代碼后的運(yùn)行結(jié)果如下圖3所示,當(dāng)按鈕啟動(dòng)進(jìn)程1時(shí)會(huì)啟動(dòng)進(jìn)程hello.exe,此時(shí)繼續(xù)啟動(dòng)進(jìn)程 2,也會(huì)啟動(dòng)進(jìn)程hello.exe并能夠運(yùn)行;若點(diǎn)擊任何一個(gè)進(jìn)程掛起,則該 進(jìn)程將會(huì)不能夠再運(yùn)行,窗口處于灰色,表示不能夠執(zhí)行,知道單擊喚醒進(jìn)程按鈕才能夠繼續(xù)執(zhí)行進(jìn)行。圖3運(yùn)行界面 四、實(shí)驗(yàn)小結(jié)在本次實(shí)驗(yàn)中,我學(xué)習(xí)和理解了進(jìn)程和程序的關(guān)系,明白任何程序的執(zhí)行都是要依賴于進(jìn)程來進(jìn)行啟
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《習(xí)慣領(lǐng)域與決策》課件
- 游戲版權(quán)保護(hù)機(jī)制概述-洞察分析
- 油氣加工節(jié)能減排-洞察分析
- 推廣服務(wù)品牌建設(shè)-洞察分析
- 壓延設(shè)備智能化節(jié)能控制-洞察分析
- 虛擬化技術(shù)在物聯(lián)網(wǎng)的應(yīng)用探索-洞察分析
- 醫(yī)院科室調(diào)整申請書(6篇)
- 《有效解答顧客疑慮》課件
- 從細(xì)節(jié)出發(fā)如何通過標(biāo)準(zhǔn)化的操作提升實(shí)驗(yàn)效率
- 冰雪運(yùn)動(dòng)中的自我認(rèn)知與挑戰(zhàn)
- 浦東機(jī)場航班地面保障服務(wù)分析
- 工程造價(jià)咨詢服務(wù)公司企業(yè)管理體系
- 會(huì)計(jì)工作年限證明個(gè)人承諾書
- 廣東工業(yè)大學(xué)年《工程制圖》期末試題A卷
- 大學(xué)實(shí)驗(yàn)室安全信息牌
- 返校復(fù)課證明
- 醫(yī)院室內(nèi)裝修拆除工程施工方案
- 基于AT89C51的路燈控制系統(tǒng)設(shè)計(jì)
- 第二章國際石油合作合同
- 設(shè)計(jì)后續(xù)服務(wù)承諾書
- 機(jī)械加工設(shè)備清單及參考價(jià)格
評論
0/150
提交評論