freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

linux內核源代碼導讀-文庫吧

2025-07-02 15:30 本頁面


【正文】 c eip p1堆棧 esp I386系統(tǒng)的基本概念 ?代碼的運行 ?堆棧的概念 ?內核態(tài)與用戶態(tài) ?中斷 /異常 /系統(tǒng)調用 ?虛擬內存 用戶態(tài)和內核態(tài)的概念 ?Why? ?假定不區(qū)分 ?用戶直接修改操作系統(tǒng)的數(shù)據(jù) ?用戶直接調用操作系統(tǒng)的內部函數(shù) ?用戶直接操作外設 ?用戶任意讀 /寫物理內存 ?因此,要區(qū)分用戶態(tài)和內核態(tài): ?禁止用戶程序和底層硬件直接打交道 (最簡單的例子,如果用戶程序往硬件控制寄存器寫入不恰當?shù)闹?,可能導致硬件無法正常工作 ) ?禁止用戶程序訪問任意的物理內存 (否則可能會破壞其他程序的正常執(zhí)行,如果對核心內核所在的地址空間寫入數(shù)據(jù)的話,會導致系統(tǒng)崩潰) ?什么是用戶態(tài)和內核態(tài)? ?一般現(xiàn)代 CPU都有幾種不同的指令執(zhí)行級別 ?在高執(zhí)行級別下,代碼可以執(zhí)行 特權指令 ,訪問 任意的物理地址 ,這種 CPU執(zhí)行級別就對應著內核態(tài) ?而在相應的低級別執(zhí)行狀態(tài)下,代碼的掌控范圍會受到限制。只能在對應級別允許的范圍內活動 ?舉例: intel x86 CPU有四種不同的執(zhí)行級別 03, Linux只使用了其中的 0級和 3級分別來表示內核態(tài)和用戶態(tài) ?如何區(qū)分一段代碼是核心態(tài)還是用戶態(tài) ? cs寄存器的最低兩位表明了當前代碼的特權級 ? CPU每條指令的讀取都是通過 cs:eip這兩個寄存器: 其中 cs是代碼段選擇寄存器, eip是偏移量寄存器。 ?上述判斷由硬件完成 ?一般來說在 Linux中,地址空間是一個顯著的標志:0xc0000000以上的地址空間只能在內核態(tài)下訪問,0x00000000- 0xbfffffff的地址空間在兩種狀態(tài)下都可以訪問 注意 :這里所說的地址空間是邏輯地址而不是物理地址 I386系統(tǒng)的基本概念 ?代碼的運行 ?堆棧的概念 ?內核態(tài)與用戶態(tài) ?中斷 /異常 /系統(tǒng)調用 ?虛擬內存 中斷和異常 ?中斷(廣義) 會改變處理器執(zhí)行指令的順序,通常與 CPU芯片內部或外部硬件電路產生的電信號相對應 ?中斷 ——異步的: 由硬件隨機產生,在程序執(zhí)行的任何時候可能出現(xiàn) ?異常 ——同步的: 在(特殊的或出錯的)指令執(zhí)行時由 CPU控制單元產生 我們用“中斷信號”來通稱這兩種類型的中斷 設備 設備 控制器 中斷 控制器 IRQ CPU INTR 中斷信號的作用 ?中斷信號提供了一種特殊的方式,使得 CPU轉去運行正常程序之外的代碼 ?比如一個外設采集到一些數(shù)據(jù),發(fā)出一個中斷信號,CPU必須立刻響應這個信號,否則數(shù)據(jù)可能丟失 ?當一個中斷信號到達時, CPU必須停止它當前正在做的事,并且切換到一個新的活動 ?為了做到這這一點, ?在進程的內核態(tài)堆棧保存程序計數(shù)器的當前值 (即 eip和 cs寄存器 )以便處理完中斷的時候能正確返回到中斷點, ?并把與中斷信號相關的一個地址放入進程序計數(shù)器,從而進入中斷的處理 系統(tǒng)調用的意義 ?操作系統(tǒng)為用戶態(tài)進程與硬件設備進行交互提供了一組接口 ——系統(tǒng)調用 ?把用戶從底層的硬件編程中解放出來 ?極大的提高了系統(tǒng)的安全性 ?使用戶程序具有可移植性 ?基于 I386的 Linux使用 int 0x80進行系統(tǒng)調用 I386系統(tǒng)的基本概念 ?代碼的運行 ?堆棧的概念 ?內核態(tài)與用戶態(tài) ?中斷 /異常 /系統(tǒng)調用 ?虛擬內存 虛擬內存 ?物理內存有限,是一種稀缺資源 ?局部性原理 ?空間局部性 ?時間局部性 ?按需調頁 ?頁框 ?利用磁盤上的交換空間 ?進程的虛擬地址空間 ?獨立的地址空間( 32位, 4GB),每個進程一個 ?在 Linux中, 3G以上是內核空間, 3G以下是用戶空間 ?4G的進程地址空間使用進程私有的二級頁表進行地址轉換(虛擬地址 ?物理地址) ?頁面大?。?4KB ?頁目錄、頁表 ?若對應的內容在內存中,則對應的二級頁表項記錄相應的物理頁框信息 ?否則根據(jù)需要進行裝載或者出錯處理 ?進程調度后,執(zhí)行一個新的被調度的進程之前,要先進行頁表切換 ?Linux中的內核空間 ?每個進程 3G以上的空間用作內核空間 ?從用戶地址空間進入內核地址空間不經過頁表切換 ?而是通過中斷 /異常 /系統(tǒng)調用入口(也只能如此) 小結 ?根據(jù)代碼的執(zhí)行、中斷 /異常 /系統(tǒng)調用來理解操作系統(tǒng) ?操作系統(tǒng)提供中斷 /異常處理 ?操作系統(tǒng)提供系統(tǒng)調用 ?應用開發(fā)人員編寫應用程序 ?驅動開發(fā)人員編寫驅動 ?應用程序運行 序 ?一些基本概念 ?操作系統(tǒng)的基本概念 ?I386系統(tǒng)的基本概念 ?Linux簡介 ?源碼閱讀和 project環(huán)境 ?Linux 源碼簡介 Linux簡介 ?什么是 Linux? ?“ Linux”在不同的語境下的含義 ?Linux發(fā)展簡史 ?Linux操作系統(tǒng)的主要內容 ?Linux版本 ?內核版本 ?發(fā)行版本 ?Linux系統(tǒng)的好處 ?Linux的運行及相關基本
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1