操作系統(tǒng)實驗—管理Linux系統(tǒng)進程與進程的互斥_第1頁
操作系統(tǒng)實驗—管理Linux系統(tǒng)進程與進程的互斥_第2頁
操作系統(tǒng)實驗—管理Linux系統(tǒng)進程與進程的互斥_第3頁
操作系統(tǒng)實驗—管理Linux系統(tǒng)進程與進程的互斥_第4頁
操作系統(tǒng)實驗—管理Linux系統(tǒng)進程與進程的互斥_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、操作系統(tǒng)課程實驗報告姓名學(xué)號系任課教師指導(dǎo)教師評閱教師實驗地點實驗時間實驗編號與實驗名稱:第3、4次實驗1   管理Linux系統(tǒng)進程2  進程互斥實驗3  進程的控制實驗實驗?zāi)康模?   管理Linux系統(tǒng)進程1) 回顧系統(tǒng)進程的概念,加深對Linux / UNIX進程管理的理解。2) 回顧ps命令和選項。3) 列出當(dāng)前shell中的進程。4) 列出運行在系統(tǒng)中的所有進程。實驗內(nèi)容及要求(詳見實驗講義):實驗用到的軟件(:)Lunix系統(tǒng)的虛擬機實驗內(nèi)容、關(guān)鍵步驟(流程圖、代碼等)及結(jié)果分析(70分)試驗一:步驟3:1) Linux

2、系統(tǒng)中,幾乎每一個啟動的進程,都會由內(nèi)核分配一個唯一的_進程標(biāo)識符 (PID)_,用于跟蹤從進程啟動到進程結(jié)束。2) 當(dāng)啟動新進程的時候,內(nèi)核也給它們分配系統(tǒng)資源,如_內(nèi)存和_CPU_。3) 永遠不向父進程返回輸出的進程叫做_僵進程_。4) 由父進程派生出來的進程叫做_子_進程。5) _父_進程是一個派生另一個進程的進程。6) 運行用于提供服務(wù)的Linux系統(tǒng)進程是_sched(調(diào)度)和int(初始化)_。7) 如果父進程在子進程之前結(jié)束,它創(chuàng)建了一個_孤兒_進程。步驟4:輸入ps命令Ps ePs-fPs-u useridPs ef  ps -ef | wc -l命令Man ps步驟

3、5:列出系統(tǒng)中運行的所有進程輸入 ps -ef 命令,顯示運行在系統(tǒng)中的各個進程的完全信息。執(zhí)行該命令,并與ps f命令的輸出結(jié)果對照,一致嗎?有何不同?不一致:Ps-efPs-fPs-ef表示的是所有進程的完整列表,而ps-f表示的是一個進程的完整列表。注意分析當(dāng)前終端窗口中的輸出結(jié)果:a. 顯示了多少個進程?_39_b. PID是什么?進程的進程標(biāo)識號。PID可以用來殺死進程c. 啟動進程的命令 (CMD) 是什么?_命令名守護進程執(zhí)行的程序的名字_d. 請觀察,什么命令的PID號是1?_sbin/init_e. 再次運行  ps -ef | wc -l命令,計算進程的數(shù)目并把輸

4、出結(jié)果輸入到wc命令中:_39_執(zhí)行 man ps命令,可以打開Linux用戶命令手冊,了解ps命令的用法,輸入wq命令可退出用戶手冊的閱讀。man命令可以執(zhí)行嗎?結(jié)果如何?_可執(zhí)行_步驟6:試調(diào)試下二段代碼。并寫明結(jié)果(考慮fork與sleep是什么函數(shù))輸入代碼一:生成:試驗2生成:2  進程互斥實驗1.1修改以下代碼,用lockf( )來給每一個進程加鎖,以實現(xiàn)進程之間的互斥 Code1:修改,加鎖: 生成結(jié)果:加鎖后的結(jié)果:2:實驗結(jié)果:實驗結(jié)果和上題的原理是一樣的。2、分析以下程序的輸出結(jié)果【寫進實驗報告】: 程序開始了指針,當(dāng)文件不存在時自動創(chuàng)建。代碼中創(chuàng)建了兩個進程p1

5、,p2進行讀寫指針加鎖。當(dāng)P1結(jié)束后父進程獲得處理機執(zhí)行創(chuàng)建p1,p2獲得處理機執(zhí)行,這時候也給文件指針加鎖,同樣,直到p2運行完后解鎖,p2結(jié)束后父進程獲得處理機,等父進程執(zhí)行完畢后所有程序結(jié)束。 3  進程的控制實驗(1)如何更新子進程內(nèi)容?答:我們可以運用系統(tǒng)調(diào)用exec( )系列進行更新子進程。exec( )系列中的系統(tǒng)調(diào)用都完成相同的功能,它們把一個新程序裝入內(nèi)存,來改變調(diào)用進程的執(zhí)行代碼,從而形成新進程。如果exec( )調(diào)用成功,調(diào)用進程將被覆蓋,然后從新程序的入口開始執(zhí)行,這樣就產(chǎn)生了一個新進程,新進程的進程標(biāo)識符id 與調(diào)用進程相同。exec( )用新進程取代了原來

6、進程,所以exec( )調(diào)用成功后,沒有任何數(shù)據(jù)返回,從而這個子進程內(nèi)容得以變換。 (2)可執(zhí)行文件加載時進行了哪些處理? 答:進行的處理有:a、創(chuàng)建一個新進程的fork()系統(tǒng)調(diào)用;b、實現(xiàn)進程自我終止的exit系統(tǒng)調(diào)用;c、改變進程原有代碼的exec系統(tǒng)調(diào)用;d、將調(diào)用進程掛起并等待子進程終止的wait系統(tǒng)調(diào)用;e、獲得進程的標(biāo)識符getpiid系統(tǒng)調(diào)用的處理。  (3)什么是進程同步?答:是相互合作去完成相同的任務(wù)的進程間,由同步機構(gòu)對執(zhí)行次序進行協(xié)調(diào)。在這里exec( )和fork( )聯(lián)合使用,達到了同步。系統(tǒng)調(diào)用exec和fork( )聯(lián)合使用能為程序開發(fā)提供有力支持。用fork( )建立子進

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論