Linux学习之系统编程篇:MMU(Memory Manager Unit 内存管理单元)
生活随笔
收集整理的這篇文章主要介紹了
Linux学习之系统编程篇:MMU(Memory Manager Unit 内存管理单元)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、虛擬內存地址
對應于上圖的兩端,其中 0 - 3G 是用戶區 ,3 - 4G 是內核區。編碼的內存地址都是虛擬地址。
在3G到4G之間是PCB 進程控制塊。從3G到0依次為:
(1)命令行參數 和 環境變量。
(2)stack 棧區(生長方向:高地址到地址)。
(3)共享動態庫。
(4)heap 堆區(生長方向:低地址到高地址)。
(5).bss 未初始化數據區。
(6).data 初始化數據區。
(7).text 代碼區。
(8)0~4K 首保護地址。
其中:
(1)命令行參數: argv[i]
(2)環境變量:
PATH: linux 系統命令所在的路徑;
SHELL:使用的 shell;
LANG 語言;
HOME:家目錄;
(3)輸出環境變量:echo $env。
(4)獲取環境變量: char *getenv(const char *name)
返回值:返回環境變量的值;
若失敗則返回NULL (name 不存在)。
二、MMU:內存管理單元
作用:
(1)虛擬內存和物理內存的映射。
(2)設置虛擬內存的訪問級別:linux 內核訪問級別是 0,用戶訪問 級別是 3。
總結
以上是生活随笔為你收集整理的Linux学习之系统编程篇:MMU(Memory Manager Unit 内存管理单元)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux学习之系统编程篇:程序、进程、
- 下一篇: Linux学习之系统编程篇:PCB( 进