第9章 Linux系統_第1頁
第9章 Linux系統_第2頁
第9章 Linux系統_第3頁
第9章 Linux系統_第4頁
第9章 Linux系統_第5頁
已閱讀5頁,還剩127頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、12345系系 統統 調調 用用 界界 面面程程 序序 庫庫進程通信進程通信進程調度進程調度存儲管理存儲管理文件子系統文件子系統高速緩沖高速緩沖字符設備字符設備 塊設備塊設備 設備驅動程序設備驅動程序用戶程序用戶程序 硬硬 件件 控控 制制 硬硬 件件 用戶級用戶級核心級核心級硬件層硬件層進程管理與存儲管理進程管理與存儲管理網絡管理網絡管理網絡協議網絡協議網絡驅動網絡驅動Linux系統的核心結構示意圖6789101112131415 abc(); abc(); syscall; system_call: sys_abc SYSEXITsysabc() 用戶態用戶態核心態核心態用戶程序系統調用

2、在libc標準庫中的封裝例程系統調用處理程序系統調用服務例程Linux系統調用過程16int main() getuid(); int getuid(void) long_res; int $0 x80; ENTRY(system_call) pushl % esx SAVE_ALL GET_CURRENT(%ebx) call sys_getuid16 RESTORE_ALLasmlinkage longsys_getuid16(void) return high2lowuid (current_uid);用戶程序用戶程序系統調用處理程序系統調用處理程序標準標準C庫庫內核例程內核例程getu

3、id系統調用過程171819202122232425262728指向進程基本控制塊的指針進程狀態state進程標識進程調度有關的字段進程親屬關系的字段指向當前目錄的指針指向文件描述符的指針指向主存描述符的指針指向信號結構的指針指向tty結構的指針task_structthread_info當前目錄文件描述符主存描述符所接收的信號與進程相關的tty指向進程隊列priopidtgidpgrpsessinthread_inforun_listttyreal_parentparentchildrensiblingfsfilesmmsignal進程控制塊結構29進程描述符中的標識符字段3031 進程描述

4、符中的親屬關系字段32333435 運行運行TASKUNNING進程調度等待某事件等待的事件發生 創建創建新進程新進程 就緒就緒TASKUNNING 進程進程 終止終止 等待等待TASKINTERRUPTIBLETASKUNINTERRUPTIBLE被搶占創建進程完成Linux系統進程狀態變遷圖36373839404142434445464748基本時間片 =49表6.6 普通進程的靜態優先級和基本時間片的典型值更高的優先級更高的優先級更高的交互性更高的交互性更低的優先級更低的優先級更低的交互性更低的交互性最小最小5ms默認默認100ms最大最大800ms進程靜態優先級與基本時間片的關系圖50

5、5152535455 *active*expiredarrays0arrays1 task task優先級優先級0優先級優先級139 task task優先級優先級0優先級優先級139 過期進過期進程數組程數組活動進活動進程數組程數組runqueue結構中的兩個進程數組565758位位9進程鏈表進程鏈表 優先級位圖優先級位圖 0 1 0 1 9位位 6位位 9位位13 位位6進程鏈表進程鏈表位位130進程鏈表進程鏈表位位130LinuxO(1)級進程調度算法圖解5960 頁目錄頁目錄 頁表頁表 頁內位移頁內位移31 22 21 12 11 080X86分頁機構6162頁目錄頁目錄 頁表頁表 頁

6、內位移頁內位移31 22 21 12 11 0cr3+:+:頁目錄表頁目錄表頁表頁表物理頁物理頁+由線性地址轉換為物理地址6364656667分區頁框分配器的組成管理區分配器管理區分配器每CPU頁框 高速緩存每CPU頁框 高速緩存每CPU頁框 高速緩存 伙伴系統 伙伴系統 伙伴系統 ZONE_DMA 主存管理區 ZONE_NORMAL 主存管理區 ZONE_HIGHMEM 主存管理區686970717273主存描述符、線性區描述符與進程線性地址空間線性地址空間線性地址空間主存線性區域主存線性區域 vm_area_struct 結構結構主存描述符主存描述符mm_struct 結構結構mmap74

7、75767778塊設備文件操作表79 虛擬文件系統虛擬文件系統VFS磁盤高速緩存 文件系統映射層 通用塊層 I/O調度程序 塊設備驅動程序 塊設備驅動程序磁盤磁盤塊設備驅動程序涉及的內核組件8081828384bio_vec結構數組 總數為 bi_vcntbio_idxbio_io_vecbio_vec bio_vec bio_vec bio_vec頁頁面面頁頁面面頁頁面面頁頁面面bio結構、bio_vec結構數組和page結構之間的關系8586request_queue結構的字段8788899091929394959697 write(); 用戶程序用戶程序sys_write()文件系統寫方法文件系統寫方法VFS虛擬文件系統虛擬文件系統具體文件系統具體文件系統 如如Ext2物理存儲介質物理存儲介質一個用戶程序寫操作的實現步驟9899fs_struct結構的主要字段100fs_struct結構的主要字段101102103104105106Ext2文件類型107108ext2_dir_extry_2的結構109110數據塊位圖一個塊引導塊塊號塊號0塊號1塊號n超級塊組描述符索引節點位圖索引節點表數據塊n個塊一個塊一個塊n個塊n個塊

溫馨提示

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

評論

0/150

提交評論