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

正文內(nèi)容

linux內(nèi)核源代碼導(dǎo)讀-文庫吧

2025-07-02 15:30 本頁面


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