a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 操作系統 > 正文

讀核日記(六)

2024-07-26 00:31:37
字體:
來源:轉載
供稿:網友

我們講完了分段機制。接下來我們需要分析保護模式的第二種存儲管理機制:分頁方式。

在前面我們提到過轉臺和控制寄存器組。他們包括EFLAGS、ELP。和4 個32 位的控制寄存器CRO CR1CR2 CER3。其中CRO中有一位PE 用于標志是使用保護模式還是實模式的。有一位PG定義是否使用分頁方式(1或0)。

當PG=1 時,系統使用分頁機制。80386使用大小位4K的頁,并且每一個頁的邊界隊奇。即每一個頁的起始位置都可以被4K整除。這樣4G的字節就被分成了1M 頁。分頁機制把線性頁映射成物理頁。真正的起到了轉換作用

下面我們看一下linuxE得分頁結構:

1.多級頁表結構

在LINUX中含有1M個頁。其中每個頁表占4個字節。則需要占用4M的連續內存因此LINUX引入了2 級頁表結構。在線性地址中的后10 位(22-32)定義了二級頁表。

二級頁表有1K 個字節,頁正好存在]一個4K 的頁中。并且通過前20位進行索引,從而實現實際的物理地址。

這個地方我說不太清楚。大致可以這樣理解。

如:有N 個鏈表。每一個便是一頁。可最后一頁的內容是指向另一個二級煉表的指針(或者是索引項)

2,頁面項和頁目錄項

對于每一個頁。都會存在一個頁面項。用來表示該頁的使用狀況,是否空閑。是否在內存中等等。而這些相會存儲成一個連標。以減少使用表時的查詢時間等。

而每一個頁表,會存在1024個頁面項,這才是真正的“頁“。

3,線性地址到物理地址的切換

  1. CR 包含頁目錄的起始地址,用32 位地址中的31-22位的內容作頁目錄的頁目錄項的索引,于CR3種的頁目錄的起始地址相加。得到相應頁表的地址
  2. 從指定的地址中取出32 位頁目錄項。它的提12 位是0用這32 位地址中21-12位作為頁表中的頁面的索引。將它乘以4和頁表的起始地址相加,得到32位地址
  3. 獎11-0位作為相對一頁面地址的偏移量,于32位頁面地址相加。形成32 位的物理地址。

 

4,頁面CACHE

當然,系統頻繁的訪問二級頁表,會造成很大的時間浪費,因此引入了頁表CACHE,用來保存最近使用的頁面,或者頻繁使用的頁面,關于CACHE 的原理這里不再詳細講解,有興趣的朋友可以查一些,計算機專業的基礎教材

至此,LINUX使用的836保護模式,基本上講解完畢。至于控制轉移和任務切換。和一般的匯編編程差不多少,本人匯編水平太低。不在獻丑

總的說來,多任務的切換,以及保護模式的應用。虛擬存儲系統的實現,是建立在硬件的技術支持之上的。

個人認為,LINUX的存儲管理。在不同的機器上是完全不同的,至于linux是否為他們提供了統一的接口。我還不太清楚。可以參見其他機型的源碼


上一篇:讀核日記(五)

下一篇:讀核日記(三)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲乱码一区二区三区在线观看 | 国产三级自拍 | 欧美精品久久久久久久久久丰满 | 国产在线1 | 成人免费影院 | 欧美精品网 | 午夜天堂精品久久久久 | 色黄网站 | 羞羞av在线 | 日韩欧美一区二区三区久久婷婷 | 国产极品91 | 国产欧美久久一区二区三区 | 国产在线视频在线 | 黄a视频 | 中文字幕 国产 | 亚洲成a人v欧美综合天堂麻豆 | 午夜影院a| 91伊人| 亚洲精品福利视频 | 日韩一区二区在线免费观看 | 日本黄色电影网站 | 国产精品色一区二区三区 | 精品久久久久久久久久久久久久 | 天天看天天摸天天操 | 日韩欧美在线播放 | 狠狠色丁香婷婷综合 | 亚洲欧美日韩在线 | 亚洲国产婷婷香蕉久久久久久99 | 国产不卡一二三区 | 小罗莉极品一线天在线 | 蜜桃精品在线观看 | 三级在线观看视频 | 日韩欧美在线播放 | 亚洲午夜精品视频 | 青青草视频在线观看 | 一级在线观看 | 久久九精品 | 欧美亚洲综合久久 | av一级毛片 | 欧美成人视屏 | 成年人在线观看视频 |