《liunx操作系統》課件12Linux內核簡介-進程簡介_第1頁
《liunx操作系統》課件12Linux內核簡介-進程簡介_第2頁
《liunx操作系統》課件12Linux內核簡介-進程簡介_第3頁
《liunx操作系統》課件12Linux內核簡介-進程簡介_第4頁
《liunx操作系統》課件12Linux內核簡介-進程簡介_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Linux內核簡介Huizhi Zhao概述Linux系統大致分成三層靠近硬件的底層是內核,即Linux操作系統常駐內存部分中間層是內核之外的shell層,即操作系統的系統程序部分最高層是應用層,即用戶程序部分 內核內核是Linux操作系統的主要部分,實現進程管理、內存管理、文件系統、設備驅動和網絡系統等功能,為內核外的所有程序提供運行環境Linux采用單塊結構,所有的內核系統功能都包含在一個大型的內核軟件中,支持動態裝載和卸載模塊模塊機制可安裝模塊機制使在系統運行時可以動態的安裝和拆卸模塊,即經過編譯但尚未連接的目標文件用戶可以利用系統提供的插入模塊和移走模塊工具來裝卸可安裝模塊設備驅動程序

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

3、源的訪問,操作系統要跟蹤所有進程的活動及它們對系統資源的使用情況,實時對進程和資源的動態管理進程模式系統進程只運行在內核模式,執行操作系統代碼,完成管理性工作用戶進程通常在用戶模式,通過系統調用或出現中斷、異常進入內核模式進程結構Linux系統中的進程具有一段可執行的程序(文本區域)獨立的存儲空間(數據區域)專用的系統堆棧空間(堆棧區域)私有的進程控制塊(task_struct數據結構)task_strucutre結構task_strucutre結構系統中有一個進程向量數組task,元素為指向task_structure結構的指針創建新進程時,linux就從系統內存分配一個task_struc

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

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

6、本,運行的時候打開一個子shell執行調用的腳本,子shell執行完畢后返回父shell. 子shell從父shell繼承export變量,但子shell中的變量不會帶回父shell調用腳本exec不新開一個子shell來執行被調用的腳本,與父腳本在同一個shell內執行,但父腳本中exec行之后的內容就不會再執行了source不新開一個子shell來執行被調用的腳本,而是在同一個shell中執行,被調用的腳本中聲明的變量都可以在主腳本中得到和使用示例在script1中調用script2script2script1Folk調用結果Exec調用結果Source調用結果終止指定進程kill 進程號強行終止進程:kill s 9 進程號終止進程終止終端線程進程是資源管理的最小單位,線程是程序執行的最小單位,一個進程至少需要一個線程作為它的指令執行體在一個進程中可以同時運行多個不同的線程來執行不同的任務,允許單個進程創建多個并行執行的線程來完成各自的任務線程進程管理資源(如cpu、內存、文件等),將線程分配到某個cpu上執行線程沒有單獨的地址空間(同一進程內的線程共享進程的地址空間)線程與同屬一個進程的其他的線程共享進程所擁有的全部資源線程多個線程彼此之間使用相同的地址空間,共享大部分數據啟動一個線程所花費的空間遠遠小于啟動一個進程所花費的空間線程間彼此切換所需的時間也遠遠小

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論