日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

一步步编写操作系统 36 一级页表与虚拟地址1

發(fā)布時(shí)間:2023/12/10 windows 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一步步编写操作系统 36 一级页表与虚拟地址1 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為了給大家說(shuō)清楚分頁(yè)機(jī)制,我們先在宏觀上說(shuō)下cpu地址變換過(guò)程,先讓大家有個(gè)直觀的印象,如果有不明白的地方也不要著急,適時(shí)地不求甚解,有助于從全局上將知識(shí)融會(huì)貫通(這句話是我即興說(shuō)的,說(shuō)得多好啊^^,好吧,無(wú)視我吧)。

分頁(yè)機(jī)制其實(shí)是建立在分段機(jī)制之上的。這是不是有些讓大家意外呢?其實(shí)這并不是說(shuō)分頁(yè)機(jī)制依賴于分段機(jī)制,只是這內(nèi)存分段機(jī)制屬于intel IA32架構(gòu)骨子里的東西,改是改不掉的,除非重頭再造個(gè)cpu出來(lái),所以分頁(yè)機(jī)制只能在現(xiàn)有分段機(jī)制大局已定的情況下誕生,它們兩者的關(guān)系是怎樣的呢,讓我們先從保護(hù)模式下的分段機(jī)制開始梳理。

盡管在保護(hù)模式中段寄存器中的內(nèi)容已經(jīng)是選擇子,但選擇子最終就是為了要找到段基址,其內(nèi)存訪問(wèn)的核心機(jī)制依然是“段基址:段內(nèi)偏移地址”,這兩個(gè)地址在相加之后才是絕對(duì)地址,也就是我們所說(shuō)的線性地址,此線性地址在分段機(jī)制下被cpu認(rèn)為是物理地址,直接拿來(lái)就能用,也就是說(shuō),此線性地址可以直接送上地址總線。將段基址和段內(nèi)偏移地址相加求和的工作是由cpu的段部件自動(dòng)完成的。整個(gè)訪問(wèn)內(nèi)存的過(guò)程如圖:

分頁(yè)機(jī)制要建立在分段機(jī)制的基礎(chǔ)上,也就是說(shuō),段部件的工作依然免不了,所以,分頁(yè)只能是在分段之后進(jìn)行的,其過(guò)程如圖

cpu在不打開分頁(yè)機(jī)制的情況下,是按照默認(rèn)的分段方式進(jìn)行的,段基址和段內(nèi)偏移地址經(jīng)過(guò)段部件處理后所輸出的線性地址,cpu就認(rèn)為是物理地址。如果打開了分頁(yè)機(jī)制,段部件輸出的線性地址就不再等同于物理地址了,我們稱之為虛擬地址,它是邏輯上的、是假的、不應(yīng)該被送上地址總線(因?yàn)榈刂分皇莻€(gè)數(shù)字,任何數(shù)字都可以當(dāng)做地址,這里說(shuō)的是“不應(yīng)該”是指應(yīng)該人為保證送上地址總線上的數(shù)字是正確的地址)。cpu必須要拿到物理地址才行,此虛擬地址對(duì)應(yīng)的物理地址需要在頁(yè)表中查找,這項(xiàng)查找工作是由頁(yè)部件自動(dòng)完成的。為了要搞清楚頁(yè)部件的工作原理,必須要搞清楚這兩件事:

  • 分頁(yè)機(jī)制的原理
  • 頁(yè)表的結(jié)構(gòu)
  • 下面我們將從這兩方面入手,循序漸進(jìn)地展開分頁(yè)機(jī)制原理。

    經(jīng)過(guò)段部件處理后,保護(hù)模式的尋址空間是4GB,注意啦,這個(gè)尋址空間是指線性地址空間,它在邏輯上是連續(xù)的。分頁(yè)機(jī)制的思想是:通過(guò)映射,可以使連續(xù)的線性地址與任意物理內(nèi)存地址相關(guān)聯(lián),邏輯上連續(xù)的線性地址其對(duì)應(yīng)的物理地址可以不連續(xù)。

    分頁(yè)機(jī)制的作用有兩方面:

    • 將線性地址轉(zhuǎn)換成物理地址
    • 用大小相等的頁(yè)代替大小不等的段

    這兩方面的作用如圖:

    由于有了線性地址到真實(shí)物理地址的這層映射,故經(jīng)過(guò)段部件輸出的線性地址便有了另外一個(gè)名字,虛擬地址。

    總結(jié)

    以上是生活随笔為你收集整理的一步步编写操作系统 36 一级页表与虚拟地址1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。