UNIX系統內核結構培訓教材課件_第1頁
UNIX系統內核結構培訓教材課件_第2頁
UNIX系統內核結構培訓教材課件_第3頁
UNIX系統內核結構培訓教材課件_第4頁
UNIX系統內核結構培訓教材課件_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第十章UNIX系統內核結構10.1UNIX系統概述10.2進程的描述和控制10.3進程的同步與通信10.4存儲器管理10.5設備管理10.6文件管理1第十章UNIX系統內核結構10.1UNIX系統概述10.1UNIX系統概述10.1.1UNIX系統的發展史10.1.2UNIX系統的特征1、開放性2、多用戶、多任務環境3、功能強大,實現高效4、提供了豐富的網絡功能5、支持多處理器功能210.1UNIX系統概述10.1.1UNIX系統的發展10.1.3UNIX系統的內核結構圖10-1UNIX核心的框圖字符設備塊設備設備驅動程序硬件控制高速緩存文件子系統系統調用接口進程間通信調度存儲管理進程控制子系統核心級硬件級硬件核心級用戶級庫函數用戶程序捕俘310.1.3UNIX系統的內核結構圖10-1UNIX1、進程控制子系統進程控制(2)進程通信(3)存儲器管理(4)進程調度10.1.3UNIX系統的內核結構2、文件子系統文件管理(2)高速緩沖機制(3)設備驅動程序41、進程控制子系統進程控制10.1.3UNIX系統的10.2進程的描述和控制10.2.1進程控制塊PCB在UNIX系統Ⅴ中,把進程控制塊分為四部分:(1)進程表項(2)U區(3)進程區表(4)系統區表510.2進程的描述和控制10.2.1進程控制塊PCB圖10-2進程區表項、系統區表項和區的關系正文數據棧正文數據棧abcdeabcde系統區表A進程區表B進程區表4、本進程區表(PerProcessRegionTable)6圖10-2進程區表項、系統區表項和區的關系正文數據棧正圖10-3進程的數據結構4、本進程區表(PerProcessRegionTable)U區進程表abcabc本進程區表系統區表7圖10-3進程的數據結構4、本進程區表(PerPr10.2.2進程狀態與進程映像1、進程狀態圖10-4進程的狀態轉換62379845喚醒換出換出換入內存中睡眠睡眠且換出睡眠調度核心態執行1搶奪被搶奪內存中就緒內存足內存不足創建fork用戶態執行返回到用戶態系統調用中斷中斷中斷返回返回僵死喚醒就緒且換出810.2.2進程狀態與進程映像1、進程狀態圖10-42、進程映像(1)用戶級上下文(2)寄存器上下文程序寄存器處理機狀態寄存器(PSR)

棧指針通用寄存器(3)系統級上下文靜態部分動態部分92、進程映像(1)用戶級上下文910.2.3進程控制1、fork系統調用為新進程分配一個進程表項和進程標識符;(2)檢查同時運行的進程數目;(3)拷貝進程表項中的數據;(4)子進程繼承父進程的所有文件;(5)為子進程創建進程上下文;(6)子進程執行。1010.2.3進程控制1、fork系統調用為新進程分配2、exec系統調用圖10-5execⅤ的參數組織方式trappathargvarg2parg1parg0p0文件名字符串參數字符串112、exec系統調用圖10-5execⅤ的參數組織方3、exit系統調用(1)關閉軟中斷;(2)回收資源;(3)寫記賬信息;(4)置進程為“僵死”狀態。4、wait系統調用123、exit系統調用(1)關閉軟中斷;4、wait10.2.4進程調度與切換

1、引起進程調度的原因

2、調度算法

3、進程優先級的分類4、進程優先數的計算5、進程切換1310.2.4進程調度與切換1、引起進程調度的原因10.3進程的同步與通信1、sleep與wakeup同步機制2、信號(signal)機制

3、管道機制4、消息機制5、共享存儲區機制6、信號量集機制1410.3進程的同步與通信1、sleep與wakeup同步10.3.4消息機制圖10-6消息機制中的數據結構…隊列

i…隊列

n…消息首部msgh0消息首部msgh3消息首部msgh2消息緩沖區消息緩沖區消息緩沖區消息首部m消息緩沖區消息隊列頭表0321510.3.4消息機制圖10-6消息機制中的數據結構10.3.5共享存儲區機制圖10-7利用共享存儲區進行通信AB正文進程的虛空間數據棧共享存儲區B正文數據B′棧內存空間進程的虛空間A′A1610.3.5共享存儲區機制圖10-7利用共享存儲區進圖10-8信號量集表與信號量表sem0sem1sem20sem31sem42sem53sem6sem7sem80sem91sem102sem110…信號量集表信號量表信號量集信號量集10.3.6信號量集機制17圖10-8信號量集表與信號量表sem0sem1sem10.4存儲器管理10.4.1請求調頁管理的數據結構1、頁表和磁盤描述表圖10-9頁表項和磁盤描述表項物理頁號年齡寫時拷貝修改位訪問位有效位保護(a)頁表項對換設備號設備塊號存儲器類型(b)盤塊說明1810.4存儲器管理10.4.1請求調頁管理的圖10-10頁框數據表項及其散列隊列2、頁框數據表和對換使用表19圖10-10頁框數據表項及其散列隊列2、頁框數據表和對圖10-11四種數據結構之間的關系頁表項頁框號794磁盤塊描述項對換設備1塊號2743引用數1對換設備1塊號2743物理頁794引用數1對換設備塊2743對換使用表項頁框數據表項794虛地址1493K20圖10-11四種數據結構之間的關系頁表項頁框號794磁10.4.2換頁進程

1、增加有效頁的年齡2、對換出頁的幾種處理方式3、將換出頁面寫到對換設備上10.4.3請求調頁1、缺頁在可執行文件上2、缺頁在對換設備上3、缺頁在內存頁面緩沖區中2110.4.2換頁進程1、增加有效頁的年齡10.5設備管理10.5.1字符設備緩沖區管理1、空閑字符緩沖區隊列圖10-12空閑字符緩沖區隊列cblock[0]c_nextc_nextc_nextcblock[1]cblock[2]c_nextcblock[N-1]cfreelist…

2、空閑字符緩沖區的分配與回收3、設備的字符緩沖區隊列2210.5設備管理10.5.1字符設備緩沖區管理110.5.2塊設備緩沖區管理1、盤塊緩沖區及其首部圖10-13緩沖首部設備號塊號狀態緩沖區指針散列隊列的前向指針散列隊列的后向指針空閑表上的前向指針空閑表上的后向指針2310.5.2塊設備緩沖區管理1、盤塊緩沖區及其首部圖12、盤塊緩沖池結構圖10-14空閑隊列(鏈)及散列隊列blkno0mod4blkno1mod4blkno2mod4blkno3mod4281798346459750103599空閑表頭標3、盤塊緩沖區的分配

4、盤塊緩沖區的回收242、盤塊緩沖池結構圖10-14空閑隊列(鏈)及散列隊列10.5.3內核與驅動程序接口1、設備開關表的作用圖10-15設備開關表及系統調用和驅動程序間的接口openclosereadwriteioctl字符設備開關表openmountcloseunmountreadwrite塊設備開關表高速緩沖調用openclosereadwriteioctl驅動程序設備中斷處理程序openclosestrategy驅動程序設備中斷處理程序中斷向量中斷向量設備中斷文件子系統2510.5.3內核與驅動程序接口1、設備開關表的作用圖110.5.4磁盤驅動程序1、打開磁盤驅動器的過程gdopen

2、啟動磁盤控制器的過程

3、磁盤中斷處理過程gdintr2610.5.4磁盤驅動程序1、打開磁盤驅動器的過程gdop10.5.5磁盤讀、寫程序1、磁盤的讀寫方式2、讀過程bread和breada(1)一般讀過程bread(2)提前讀過程breada3、寫過程bwrite、bawrite和bdwrite(1)一般寫過程bwrite(2)異步寫過程bawrite(3)延遲寫過程bdwrite2710.5.5磁盤讀、寫程序1、磁盤的讀寫方式2、讀過程b10.6文件管理10.6.1UNIX文件系統概述1、UNIX文件系統的特點文件系統的組織是分級樹形結構;(2)文件的物理結構為混合索引式文件結構;(3)采用了成組鏈接法管理空閑盤塊。2810.6文件管理10.6.1UNIX文件系統概2、文件系統的結構圖10-18UNIX文件系統的結構ibinusrdeviiibin的目錄表usr的目錄表dev的目錄表Root目錄表iilettertesttestreportWangWang292、文件系統的結構圖10-18UNIX文件系統的結構ib圖10-19直接尋址和間接尋址i.addr(0)i.addr(1)i.addr(2)…i.addr(9)i.addr(10)i.addr(11)i.addr(12)一次間接塊數據塊二次間接塊三次間接塊直接尋址一次間址二次間址三次間址…1、尋址方式10.6.2文件的物理結構30圖10-19直接尋址和間接尋址i.addr(0)i.a圖10-20文件的地址映射示例2、地址轉換i.addr(0)i.addr(1)i.addr(2)…i.addr(10)i.addr(11)i.addr(12)數據塊二次間接塊直接尋址一次間址二次間址三次間址…36742891563313333952一次間接塊952331333331圖10-20文件的地址映射示例2、地址轉換i.add10.6.3索引結點的管理1、超級塊(Superblock)(1)文件系統的盤塊數目(2)空閑盤塊號棧(3)當前空閑盤塊號數目(4)空閑磁盤i結點號棧(5)空閑磁盤i結點數目(6)空閑盤塊編號棧的鎖字段(7)空閑磁盤i結點棧的鎖字段(8)超級塊修改標志(9)修改時間3210.6.3索引結點的管理1、超級塊(Superbloc2、磁盤索引結點的分配與回收(1)分配過程ialloc(2)回收過程ifree3、內存索引結點的分配與回收(1)分配過程iget(2)回收過程iput332、磁盤索引結點的分配與回收(1)分配過程ialloc310.6.4空閑磁盤空間的管理圖10-21文件卷的組織1、文件卷的組織2、空閑盤塊的組織3、空閑盤塊的分配與

溫馨提示

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

評論

0/150

提交評論