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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux段式管理与页式管理

發布時間:2025/4/16 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux段式管理与页式管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內存管理有2種機制:1、段式管理;2、頁式管理

在80386CPU中增加了2個寄存器:1、全局性的段描述表寄存器GDTR

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2、局部性的段描述表寄存器LDTR

段寄存器的高13位用于在全局或局部描述表項中選擇一個描述符;

第2為選擇全局或者局部段描述寄存器;

低2位決定特權級別,一般LINUX中0表示系統狀態,1表示用戶狀態。

每個描述表項8個字節,將段寄存器的高13位加上指定的段描述表寄存器的基地址就得到了描述表項的起始地址;

每個描述表項含有段的基地址和段的大小;而段的基地址高8位和低24位沒有連在一起,這也是因為Intel剛開始的意圖本來是想用24位的地址空間,后來發現不夠用,所以改為了32位地址。但此時80286CPU已經發布出去了,無奈只能修修補補,以兼容80286。

? ? ?? 所以,段寄存器 + GDTR/LDTR = 描述表項,描述表項指定了段的基地址和段的大小;

? ? ?? 如果將段的基地址設為0,段的大小設置為最大,此時物理地址就與邏輯地址一致,Intel稱其為平面地址。

段描述表寄存器只能在系統狀態使用,用戶程序不能改變GDTR和LDTR的內容

邏輯地址-->映射-->線性地址-->物理地址

連續的邏輯地址經過映射后的線性地址還是連續的

32位的線性地址:dir:10字節;page:10Byte; offset:10Byte

段式管理:邏輯地址到物理地址一步到位;

頁式管理:先找到目錄項,再找到頁面描述符。這樣做是出于空間效率的考慮,線性地址空間可以表示4G的地址空間,但一個進程很難會用到4G的空間,但數組中即使是空著的表項也占用空間,所以分成2層可以視需要來設置頁表,如果目錄中某項為空,就不必設置頁表,從而省下存儲空間。

?

? ? ?? 在linux內核中使用了gcc對C的擴充,所以linux內核只能用gcc編譯,Linux內核與gcc平行的發展,所以每個Linux內核版本都有對應的gcc版本。

?在i386CPU中,地址為32位時,2層映射比較合理,但考慮到64位的CPU,為了通用性,頁式管理設計了3層映射。對于32位地址采用2層設計,大于32位的地址采用3層設計。

對于32位的4G虛擬內存空間,最高的1G內存用于內核本身,稱為“系統空間”,而較低的3G字節,用作各個進程的“用戶空間”,這樣理論上每個進程可以使用3G的用戶空間。

雖然系統空間位于虛擬內存空間的最高部分,但對應的物理地址卻是從0地址開始的。

? ? ? ? 就我的理解,歷史上先出現了段式管理,很多老式芯片都支持段式管理,后來出現了頁式管理,Linux為了兼容或者通用,采用了先段式管理后頁式管理的方法,現在的大多數芯片一般采用的都是頁式管理,段式管理其實形同虛設。

?

?

? ? ? ??

?

轉載于:https://www.cnblogs.com/zhu-g5may/p/9726765.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Linux段式管理与页式管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。