




已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
操作系統(tǒng)課程實驗報告實驗編號與實驗名稱:1、 管理Linux系統(tǒng)進程2、 進程互斥實驗3、 進程的控制實驗實驗?zāi)康模阂弧?) 回顧系統(tǒng)進程的概念,加深對Linux / UNIX進程管理的理解。2) 回顧ps命令和選項。3) 列出當前shell中的進程。4) 列出運行在系統(tǒng)中的所有進程。二、1、進一步認識并發(fā)執(zhí)行的實質(zhì)2、通過分析實驗結(jié)果,分析進程競爭資源的現(xiàn)象,學習解決進程互斥的方法三、1、 掌握進程另外的創(chuàng)建方法:需認真分析實驗結(jié)果,體會本次實驗進程創(chuàng)建方法與fork的不同2、 2、通過分析實驗結(jié)果,熟悉進程的睡眠、同步、撤消等進程控制方法實驗內(nèi)容及要求(詳見實驗講義):一、步驟1:登錄進入Linux。步驟2:訪問命令行。步驟3:回顧系統(tǒng)進程概念。步驟4:回顧ps命令和信息。步驟5:列出系統(tǒng)中運行的所有進程。步驟6:試調(diào)試下二段代碼。二、 1、進程互斥的實現(xiàn) 2、分析以下程序的輸出結(jié)果三、 1、用fork( )創(chuàng)建一個進程,再調(diào)用exec( )用新的程序替換該子進程的內(nèi)容 2、利用wait( )來控制進程執(zhí)行順序?qū)嶒炗玫降能浖ǎ海┨摂M機實驗內(nèi)容、關(guān)鍵步驟(流程圖、代碼等)及結(jié)果分析(70分)第一個實驗步驟3:回顧系統(tǒng)進程概念1) Linux系統(tǒng)中,幾乎每一個啟動的進程,都會由內(nèi)核分配一個唯一的進程標識符 (PID),用于跟蹤從進程啟動到進程結(jié)束。2) 當啟動新進程的時候,內(nèi)核也給它們分配系統(tǒng)資源,如CPU時間和RAM空間。3) 永遠不向父進程返回輸出的進程叫做僵進程。4) 由父進程派生出來的進程叫做子進程。5) 父進程是一個派生另一個進程的進程。6) 運行用于提供服務(wù)的Linux系統(tǒng)進程是守護進程。7) 如果父進程在子進程之前結(jié)束,它創(chuàng)建了一個孤兒進程。步驟4:回顧ps命令和信息輸入ps命令,將結(jié)果截圖貼到實驗報告。輸入 ps -f 命令步驟5:列出系統(tǒng)中運行的所有進程 輸入 ps -ef 命令,顯示運行在系統(tǒng)中的各個進程的完全信息。執(zhí)行該命令,并與ps f命令的輸出結(jié)果對照,一致嗎?有何不同?答:不一致ps f 完全 產(chǎn)生一個完全列表,給出每個進程的所有可用信息。ps ef 每一個完全產(chǎn)生一個完全列表,給出每個進程的所有可用信息,顯示系統(tǒng)中每一個進程的信息。a. 顯示了多少個進程?ps f 2個ps ef 所有 143b. PID是什么?進程的進程標識號。PID可以用來殺死進程c. 啟動進程的命令 (CMD) 是什么?命令名守護進程 (執(zhí)行的程序的名字)d. 請觀察,什么命令的PID號是1?第一個命令 root inite. 再次運行 ps -ef | wc -l命令,計算進程的數(shù)目并把輸出結(jié)果輸入到wc命令中:執(zhí)行 man ps命令,可以打開Linux用戶命令手冊,了解ps命令的用法,輸入wq命令可退出用戶手冊的閱讀。man命令可以執(zhí)行嗎?結(jié)果如何?步驟6:第二個實驗Code 1:沒加lockf()函數(shù)的實驗Code 1:加了lockf()函數(shù)的實驗Code 2:沒加lockf()函數(shù)的實驗Code 2:加了lockf()函數(shù)的實驗第三個實驗:第三題結(jié)果:思考題:二、1.2觀察并分析出現(xiàn)的現(xiàn)象結(jié)果如何?與未上鎖的輸出結(jié)果相比,結(jié)果有無不同?原因?將打印字符串的循環(huán)次數(shù)改為1000結(jié)果加鎖與否的結(jié)果又是否相同?結(jié)果都一樣。因為程序在被運行之時會被賦予一個時間片,而 i的值小于 1000 時,CPU執(zhí)行完這個程序所需時間還小于這個時間片,所以操作系統(tǒng)并不會把公共設(shè)備奪過來給其他程序。從而兩個結(jié)果都一樣。沒使用了lockf()函數(shù)使用了lockf()函數(shù) 從上圖的比較中我們可以看出,當 i 的值變得很大時,lockf()函數(shù)的作用就體現(xiàn)出來了。 他會將一個程序和這個程序所需的公共設(shè)備上鎖,直至這個程序結(jié)束才解鎖。在這段期間,沒有程序能使用被上鎖的公共設(shè)備。三、(1)如何更新子進程內(nèi)容?fork時根據(jù)返回的進程ID鎖定指定的子進程即進入子進程,其后的操作都是能有效更新子進程的。 (2)可執(zhí)行文件加載時進行了哪些處理?初始化,開辟內(nèi)存,顯示窗口是后期可選工作。每個程序,任何一個程序,任何一個可執(zhí)行文件,啟動運行時都要調(diào)用Ntdll.dll中的NtCreateProcess()。(3)什么是進程同步?wait( )是如何實現(xiàn)進程同步的?我們把異步環(huán)境下的一組并發(fā)進程因直接制約而互相發(fā)送消息而進行互相合作、互相等待,使得各進程按一定的速度執(zhí)行的過程稱為進程間的同步。進程同步是進程之間直接的相互作用,是合作進程間有意識的行為。如果我們對一個消息或事件賦以唯一的消息名,則我們可用過程wait(消息名)表示進程等待合作進程發(fā)來的消息。這樣,wait()就實現(xiàn)了進程間的同步。實驗過程中遇到的問題解決辦法與實驗體會(10分)【請注意:此處必須如實填寫,為空或不適均扣10分】1、 因為第一次使用lockf( ),所以搞不懂lockf( )中的參數(shù)到底應(yīng)該怎樣用。2、 我使用了lockf( )后并沒有意識到時間片對于程序的影響如 但是我只是寫了一個 i = 5 而已,因為我覺得他們的結(jié)果應(yīng)該都是一樣的。后來多測試了幾次后才發(fā)現(xiàn),但 i = 1000 時結(jié)果是會有所改變的。3、 第一次使用Exec( )
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新時代醫(yī)院電子病歷系統(tǒng)優(yōu)化與數(shù)據(jù)安全防護研究報告
- 爆破公司安全試題及答案
- 安全作業(yè)試題知識及答案
- 從能源到環(huán)保2025年可燃冰開采技術(shù)預研全視角報告001
- 安全生法試題及答案
- 安全生產(chǎn)責任制試題及答案
- 安全教培訓試題及答案
- 中國廚藝學校教案課件
- 中國功夫教學大全課件
- 原發(fā)性高血壓的健康教學
- 《出生醫(yī)學證明》單親母親情況聲明
- 第一套路面工程考試試題及答案
- 4配電柜安全風險點告知牌
- 旋挖機操作手知識試卷含參考答案
- GB∕T 22590-2021 軋鋼加熱爐用耐火澆注料
- 研發(fā)部程序文件bom管理
- 大件運輸管理制度
- Q∕GDW 11445-2015 國家電網(wǎng)公司管理信息系統(tǒng)安全基線要求
- 材料科學基礎(chǔ) 第2章 晶體結(jié)構(gòu)
- 結(jié)構(gòu)化思維PPT通用課件
- 新標準大學英語(第二版)綜合教程2 Unit 5 A篇練習答案及課文翻譯
評論
0/150
提交評論