x86記憶體段式管理機制

來源:互聯網
上載者:User

段式管理:主存按段來進行分配和管理。這種方式中不按固定的長度對主存進行劃分,而是按程度模組(也叫段)的大小來對主存進行劃分。程式中的一個模組、數組、表格等分別對應主存中的一個段。

段式管理的長處是主存的段與程式模組相對應,易於管理和維護。

 

段式管理 在真實位址模式下與保護地址模式下是不同的操作方法。其中不同的段式管理方式也是intel x86的真實位址模式與保護地址模式的本質區別。

在真實位址模式下,線性地址 = 段寄存器的值*4+位移量。  這種方式主要是把記憶體的定址空間從64KB(2的16次方) 增加到1MB。

 

下面主要介紹保護地址模式

1.介紹幾個寄存器

段寄存器CS,SS,DS,ES,FS,GS其中每一個寄存器對應一個相應的段描述符寄存器。“段描述符”也一個全新的資料結構。

 

段寄存器有的內容叫作“段選擇子”,形式如所示。

2.GDT表與 LDT表

GDT(global descriptor table)此表儲存了系統中所有段的資訊,每個表子項為8位元組。叫做“段描述符”,所此GDT表也叫全域段描述符表。有一個GDTR寄存器,用於儲存GDT表在記憶體中的首地址。

LDT(local descriptor table)儲存了一個進程(任務)所用到的所有的段的資訊,表子項也是“段描述符”。

 

在頁式存管中CR3用於儲存頁面目錄的基地址。但請注意此地址為物理地址。

在段式存管中GDTR用於儲存段描述符表的基地址,當只用到了段式存管,沒有用頁式存管時,GDTR的內容為物理地址。

如果使用了頁式存管,則GDTR的內容為線性地址,還需要通過頁式存管進行變換,CPU才能找到GDT表真正的物理地址。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.