《liunx操作系統(tǒng)》課件12Linux內(nèi)核簡介-進(jìn)程簡介_第1頁
《liunx操作系統(tǒng)》課件12Linux內(nèi)核簡介-進(jìn)程簡介_第2頁
《liunx操作系統(tǒng)》課件12Linux內(nèi)核簡介-進(jìn)程簡介_第3頁
《liunx操作系統(tǒng)》課件12Linux內(nèi)核簡介-進(jìn)程簡介_第4頁
《liunx操作系統(tǒng)》課件12Linux內(nèi)核簡介-進(jìn)程簡介_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Linux內(nèi)核簡介Huizhi Zhao概述Linux系統(tǒng)大致分成三層靠近硬件的底層是內(nèi)核,即Linux操作系統(tǒng)常駐內(nèi)存部分中間層是內(nèi)核之外的shell層,即操作系統(tǒng)的系統(tǒng)程序部分最高層是應(yīng)用層,即用戶程序部分 內(nèi)核內(nèi)核是Linux操作系統(tǒng)的主要部分,實(shí)現(xiàn)進(jìn)程管理、內(nèi)存管理、文件系統(tǒng)、設(shè)備驅(qū)動(dòng)和網(wǎng)絡(luò)系統(tǒng)等功能,為內(nèi)核外的所有程序提供運(yùn)行環(huán)境Linux采用單塊結(jié)構(gòu),所有的內(nèi)核系統(tǒng)功能都包含在一個(gè)大型的內(nèi)核軟件中,支持動(dòng)態(tài)裝載和卸載模塊模塊機(jī)制可安裝模塊機(jī)制使在系統(tǒng)運(yùn)行時(shí)可以動(dòng)態(tài)的安裝和拆卸模塊,即經(jīng)過編譯但尚未連接的目標(biāo)文件用戶可以利用系統(tǒng)提供的插入模塊和移走模塊工具來裝卸可安裝模塊設(shè)備驅(qū)動(dòng)程序

2、或與設(shè)備驅(qū)動(dòng)緊密相關(guān)的部分(如文件系統(tǒng))都是利用可安裝模塊實(shí)現(xiàn)查看模塊lsmod:模塊名稱/模塊大小/依賴該模塊的模塊個(gè)數(shù)/當(dāng)前依賴該模塊的模塊名稱內(nèi)核系統(tǒng)結(jié)構(gòu)操作系統(tǒng)劃分為內(nèi)核和系統(tǒng)程序兩部分系統(tǒng)程序及其他所有程序都在內(nèi)核上運(yùn)行系統(tǒng)內(nèi)核結(jié)構(gòu)核心底層的硬件控制模塊負(fù)責(zé)處理中斷并與機(jī)器通訊進(jìn)程控制系統(tǒng)用于進(jìn)程管理、進(jìn)程同步、進(jìn)程通信、進(jìn)程調(diào)度和內(nèi)存管理文件系統(tǒng)管理文件,分配文件空間內(nèi)存管理控制內(nèi)存分配與回收進(jìn)程管理多個(gè)用戶可以同時(shí)使用一個(gè)操作系統(tǒng),每個(gè)用戶可以同時(shí)運(yùn)行多個(gè)命令計(jì)算機(jī)資源(內(nèi)存、CPU等)以進(jìn)程為單位進(jìn)行管理進(jìn)程是程序的一次執(zhí)行過程,描述程序動(dòng)態(tài)執(zhí)行過程為了協(xié)調(diào)多個(gè)進(jìn)程對這些共享資

3、源的訪問,操作系統(tǒng)要跟蹤所有進(jìn)程的活動(dòng)及它們對系統(tǒng)資源的使用情況,實(shí)時(shí)對進(jìn)程和資源的動(dòng)態(tài)管理進(jìn)程模式系統(tǒng)進(jìn)程只運(yùn)行在內(nèi)核模式,執(zhí)行操作系統(tǒng)代碼,完成管理性工作用戶進(jìn)程通常在用戶模式,通過系統(tǒng)調(diào)用或出現(xiàn)中斷、異常進(jìn)入內(nèi)核模式進(jìn)程結(jié)構(gòu)Linux系統(tǒng)中的進(jìn)程具有一段可執(zhí)行的程序(文本區(qū)域)獨(dú)立的存儲(chǔ)空間(數(shù)據(jù)區(qū)域)專用的系統(tǒng)堆??臻g(堆棧區(qū)域)私有的進(jìn)程控制塊(task_struct數(shù)據(jù)結(jié)構(gòu))task_strucutre結(jié)構(gòu)task_strucutre結(jié)構(gòu)系統(tǒng)中有一個(gè)進(jìn)程向量數(shù)組task,元素為指向task_structure結(jié)構(gòu)的指針創(chuàng)建新進(jìn)程時(shí),linux就從系統(tǒng)內(nèi)存分配一個(gè)task_struc

4、ture的數(shù)據(jù)結(jié)構(gòu),并把首地址加入task數(shù)組包含進(jìn)程狀態(tài)、調(diào)度信息、標(biāo)識符、內(nèi)部進(jìn)程通信、連接信息、時(shí)間和計(jì)時(shí)器、文件系統(tǒng)、虛擬內(nèi)存、處理器信息查看進(jìn)程動(dòng)態(tài)信息top查看時(shí)刻更新的運(yùn)行進(jìn)程列表,實(shí)時(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況Linux進(jìn)程基本狀態(tài)運(yùn)行態(tài)(running):進(jìn)程正在運(yùn)行或準(zhǔn)備運(yùn)行可中斷等待態(tài)(interruptaible):進(jìn)程等待一個(gè)時(shí)間的發(fā)生或某種系統(tǒng)資源,能夠被信號或中斷喚醒不可中斷等待態(tài)(uninterruptible):不能被信號或中斷喚醒,只有所等待的資源得到滿足,才能被喚醒停止態(tài)(stopped):接受一個(gè)信號,致使進(jìn)程停止僵死態(tài)(zombie):進(jìn)程終止,

5、但控制結(jié)構(gòu)還保留Linux進(jìn)程狀態(tài)的變化運(yùn)行態(tài)查看進(jìn)程信息ps -eF查看進(jìn)程樹pstree進(jìn)程Linux操作系統(tǒng)啟動(dòng)的時(shí)候,內(nèi)核只建立了一個(gè)init進(jìn)程,剩下的所有進(jìn)程都是init進(jìn)程通過fork機(jī)制建立的當(dāng)進(jìn)程調(diào)用folk時(shí),Linux在內(nèi)存中開辟出一片新的內(nèi)存空間給新的進(jìn)程,并將老的進(jìn)程空間中的內(nèi)容復(fù)制到新的空間中,此后兩個(gè)進(jìn)程同時(shí)運(yùn)行老進(jìn)程成為新進(jìn)程的父進(jìn)程(parent process),而相應(yīng)的,新進(jìn)程就是老的進(jìn)程的子進(jìn)程(child process)調(diào)用腳本在shell腳本中調(diào)用另一個(gè)腳本的三種不同方法(fork, exec, source) fork直接在腳本里面用調(diào)用可執(zhí)行腳

6、本,運(yùn)行的時(shí)候打開一個(gè)子shell執(zhí)行調(diào)用的腳本,子shell執(zhí)行完畢后返回父shell. 子shell從父shell繼承export變量,但子shell中的變量不會(huì)帶回父shell調(diào)用腳本exec不新開一個(gè)子shell來執(zhí)行被調(diào)用的腳本,與父腳本在同一個(gè)shell內(nèi)執(zhí)行,但父腳本中exec行之后的內(nèi)容就不會(huì)再執(zhí)行了source不新開一個(gè)子shell來執(zhí)行被調(diào)用的腳本,而是在同一個(gè)shell中執(zhí)行,被調(diào)用的腳本中聲明的變量都可以在主腳本中得到和使用示例在script1中調(diào)用script2script2script1Folk調(diào)用結(jié)果Exec調(diào)用結(jié)果Source調(diào)用結(jié)果終止指定進(jìn)程kill 進(jìn)程號強(qiáng)行終止進(jìn)程:kill s 9 進(jìn)程號終止進(jìn)程終止終端線程進(jìn)程是資源管理的最小單位,線程是程序執(zhí)行的最小單位,一個(gè)進(jìn)程至少需要一個(gè)線程作為它的指令執(zhí)行體在一個(gè)進(jìn)程中可以同時(shí)運(yùn)行多個(gè)不同的線程來執(zhí)行不同的任務(wù),允許單個(gè)進(jìn)程創(chuàng)建多個(gè)并行執(zhí)行的線程來完成各自的任務(wù)線程進(jìn)程管理資源(如cpu、內(nèi)存、文件等),將線程分配到某個(gè)cpu上執(zhí)行線程沒有單獨(dú)的地址空間(同一進(jìn)程內(nèi)的線程共享進(jìn)程的地址空間)線程與同屬一個(gè)進(jìn)程的其他的線程共享進(jìn)程所擁有的全部資源線程多個(gè)線程彼此之間使用相同的地址空間,共享大部分?jǐn)?shù)據(jù)啟動(dòng)一個(gè)線程所花費(fèi)的空間遠(yuǎn)遠(yuǎn)小于啟動(dòng)一個(gè)進(jìn)程所花費(fèi)的空間線程間彼此切換所需的時(shí)間也遠(yuǎn)遠(yuǎ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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論