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

歡迎訪問 生活随笔!

生活随笔

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

linux

mips 内存 linux,MIPS 在linux中的内存映射

發布時間:2025/4/17 linux 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mips 内存 linux,MIPS 在linux中的内存映射 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如圖:

一些說明:

1.內核從什么地方開始運行:MIPS Linux內核的代碼構建為在kseg0區運行;虛擬地址從0x80000000向上。這個范圍的地址僅僅是一個到物理內存低512MB的窗口,無需TLB管理。

2.異常入口點:大多數MIPS CPU中,這都是由硬件布線固化到kseg0底部附近。最新的CPU可以提供EBase寄存器,對異常入口重新定位。主要是讓多個共享內存的CPU能用不同的異常處理程序而不用費力去作特殊的存儲器譯碼。在linux內核中,就算有多個CPU也都運行同一個異常處理代碼,所以這個特性在linux中不大可能用到。

3.用戶程序從什么地方開始運行:MIPS Linux應用程序(運行與低特權級的用戶態)虛擬地址從0到0x7FFF FFFF。該區的地址在用戶態可以訪問,要經過TLB地址轉換。

應用程序的主程序構建時自接近0的地址開始運行。不會真為零-----從虛擬0地址開始的一兩頁不做地址映射,這樣企圖使用空指針就會被當作內存管理錯誤捕獲。應用程序的庫函數部分,在加載或者更晚的時候遞增加載到用戶空間。這樣做可以是因為庫函數構建為位置無關類型,可以根據實際被加載的地址空間自動調整。

4.用戶堆和棧:應用程序的棧初始設置到用戶可以訪問的空間(約2G虛擬空間)的頂部而且向下增長。操作系統檢測到對已分配的最低棧空間附近未映射的存儲器訪問時,會自動映射更多的頁已滿足棧的增長。

同時,新的共享庫或者直接用malloc()分配的用戶數據及其后代從用戶空間底部向上增長。只要這些空間的總和不超過2GB,什么事都沒有:除了最大型的服務器以外,這個限制基本不成問題。

5.512MB以內的存儲器:可以通過kseg()經過高速緩存訪問或者通過kseg1不用高速緩存訪問。歷史上,linux內核假定自己可以直接訪問機器的全部屋里內存。對于用512MB或者更少物理內存范圍的小MIPS系統,這是對的;在這種情況下,全部內存都可以在kseg0(用高速緩存)和kseg1(不用高速緩存)區訪問。

6.512MB以上的高位存儲器:現在512MB即使對于嵌入式系統也已經不夠了,Linux有一個獨立于硬件體系結構的高位存儲器概念----要用特殊的、依賴于硬件體系結構的方式處理的物理存儲器,對于32位linux/mips系統,512MB以上的屋里內存就是高位存儲器。當我們要訪問時,需要創建適當的地址轉換數據項并且即使復制到TLB。

總結

以上是生活随笔為你收集整理的mips 内存 linux,MIPS 在linux中的内存映射的全部內容,希望文章能夠幫你解決所遇到的問題。

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