在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux操作系統知識講解:走進linux 內存地址空間

如意 ? 來源:Linux學習 ? 作者:佚名 ? 2020-08-28 10:45 ? 次閱讀

linux 內存地址空間

1、linux 內存地址空間 Linux 內存管理全貌

Linux操作系統知識講解:走進linux 內存地址空間

2、內存地址——用戶態&內核態

用戶態:Ring3 運行于用戶態的代碼則要受到處理器的諸多

內核態:Ring0 在處理器的存儲保護中,核心態

用戶態切換到內核態的 3 種方式:系統調用、異常、外設中斷

區別:每個進程都有完全屬于自己的,獨立的,不被干擾的內存空間;用戶態的程序就不能隨意操作內核地址空間,具有一定的安全保護作用;內核態線程共享內核地址空間;

Linux操作系統知識講解:走進linux 內存地址空間

3、內存地址——MMU 地址轉換

MMU 是一種硬件電路,它包含兩個部件,一個是分段部件,一個是分頁部件

分段機制把一個邏輯地址轉換為線性地址

分頁機制把一個線性地址轉換為物理地址

Linux操作系統知識講解:走進linux 內存地址空間

4、內存地址——分段機制

1) 段選擇符

為了方便快速檢索段選擇符,處理器提供了 6 個分段寄存器來緩存段選擇符,它們是:cs,ss,ds,es,fs 和 gs

段的基地址(Base Address):在線性地址空間中段的起始地址

段的界限(Limit):在虛擬地址空間中,段內可以使用的最大偏移量

2) 分段實現

邏輯地址的段寄存器中的值提供段描述符,然后從段描述符中得到段基址和段界限,然后加上邏輯地址的偏移量,就得到了線性地址

Linux操作系統知識講解:走進linux 內存地址空間

5、內存地址——分頁機制(32 位)

分頁機制是在分段機制之后進行的,它進一步將線性地址轉換為物理地址

10 位頁目錄,10 位頁表項, 12 位頁偏移地址

單頁的大小為 4KB

Linux操作系統知識講解:走進linux 內存地址空間

6、用戶態地址空間

Linux操作系統知識講解:走進linux 內存地址空間

TEXT:代碼段可執行代碼、字符串字面值、只讀變量

DATA:數據段,映射程序中已經初始化的全局變量

BSS 段:存放程序中未初始化的全局變量

HEAP:運行時的堆,在程序運行中使用 malloc 申請的內存區域

MMAP:共享庫及匿名文件的映射區域

STACK:用戶進程棧

7、內核態地址空間

Linux操作系統知識講解:走進linux 內存地址空間

直接映射區:線性空間中從 3G 開始最大 896M 的區間,為直接內存映射區

動態內存映射區:該區域由內核函數 vmalloc 來分配

永久內存映射區:該區域可訪問高端內存

固定映射區:該區域和 4G 的頂端只有 4k 的隔離帶,其每個地址項都服務于特定的用途,如:ACPI_BASE 等

8、進程內存空間

用戶進程通常情況只能訪問用戶空間的虛擬地址,不能訪問內核空間虛擬地址

內核空間是由內核負責映射,不會跟著進程變化;內核空間地址有自己對應的頁表,用戶進程各自有不同額頁表

Linux操作系統知識講解:走進linux 內存地址空間

責編AJX

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11351

    瀏覽量

    210497
  • 內存
    +關注

    關注

    8

    文章

    3064

    瀏覽量

    74374
  • 操作系統
    +關注

    關注

    37

    文章

    6899

    瀏覽量

    123804
收藏 人收藏

    評論

    相關推薦

    Linux內核地址映射模型與Linux內核高端內存詳解

    Linux 操作系統和驅動程序運行在內核空間,應用程序運行在用戶空間,兩者不能簡單地使用指針傳遞數據,因為Linux使用的虛擬
    發表于 05-08 10:33 ?3485次閱讀
    <b class='flag-5'>Linux</b>內核<b class='flag-5'>地址</b>映射模型與<b class='flag-5'>Linux</b>內核高端<b class='flag-5'>內存</b>詳解

    Linux操作系統基礎知識學習

    本文是我在學校自學Linux時所做的筆記,純理論,希望對大家有所幫助。文章中,Q表示問題,A表示回答。Linux操作系統概述Q1.什么是GNU?Linux與GNU有什么關系?A:1.G
    發表于 11-30 10:43

    Linux內存系統---走進Linux 內存

    Linux內存系統---走進Linux 內存 1、內存
    發表于 08-26 08:05

    Linux操作系統

    linux的教學內容1 、Linux概述 2 、Linux操作系統安裝3、 Linux的內核 4 、Li
    發表于 04-10 16:54 ?0次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統</b>

    什么是Linux操作系統

    什么是Linux操作系統  簡單地說,Linux是一套
    發表于 12-26 12:04 ?1410次閱讀

    Linux快速入門之安裝Linux操作系統及小結

    實驗內容 安裝Linux(Red Hat Enterprise 4 AS版本)操作系統,查看Linux的目錄結構。 3.實驗步驟 (1)磁盤規劃。 在這一步驟中,需要留出最好有5GB以上的空間
    發表于 10-18 14:16 ?0次下載

    Linux下進程的內存結構

    Linux操作系統采用虛擬內存管理技術,使得每個進程都有各自互不干涉的進程地址空間。該地址
    發表于 06-01 09:17 ?1500次閱讀
    <b class='flag-5'>Linux</b>下進程的<b class='flag-5'>內存</b>結構

    深入淺出Linux的進程地址空間

    我們知道,在32位機器上linux操作系統中的進程的地址空間大小是4G,其中0-3G是用戶空間,3G-4G是內核
    的頭像 發表于 06-20 09:57 ?1986次閱讀

    Linux操作系統知識講解走進內存

    Linux操作系統知識講解走進內存
    的頭像 發表于 08-28 10:30 ?2410次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統</b><b class='flag-5'>知識</b><b class='flag-5'>講解</b>:<b class='flag-5'>走進</b><b class='flag-5'>內存</b>

    Linux操作系統知識講解走進Linux 內存分配算法

    Linux操作系統知識講解走進Linux 內存分配
    的頭像 發表于 08-28 10:57 ?5517次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統</b><b class='flag-5'>知識</b><b class='flag-5'>講解</b>:<b class='flag-5'>走進</b><b class='flag-5'>Linux</b> <b class='flag-5'>內存</b>分配算法

    Linux操作系統知識講解走進Linux 內存使用場景

    Linux操作系統知識講解走進Linux 內存使用
    的頭像 發表于 08-28 11:04 ?3028次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統</b><b class='flag-5'>知識</b><b class='flag-5'>講解</b>:<b class='flag-5'>走進</b><b class='flag-5'>Linux</b> <b class='flag-5'>內存</b>使用場景

    Linux操作系統知識講解:避免內存使用七大坑

    Linux操作系統知識講解:避免內存使用七大坑
    的頭像 發表于 08-28 11:12 ?2898次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統</b><b class='flag-5'>知識</b><b class='flag-5'>講解</b>:避免<b class='flag-5'>內存</b>使用七大坑

    linux操作系統基礎知識

    本文主要闡述了linux操作系統基礎知識。
    發表于 06-04 15:07 ?5904次閱讀

    深入剖析Linux共享內存原理

    Linux系統中,每個進程都有獨立的虛擬內存空間,也就是說不同的進程訪問同一段虛擬內存地址所得到的數據是不一樣的,這是因為不同進程相同的虛擬內存地
    的頭像 發表于 10-30 09:52 ?2355次閱讀
    深入剖析<b class='flag-5'>Linux</b>共享<b class='flag-5'>內存</b>原理

    什么是內存 操作系統內存介紹

    。 簡而言之,電腦上的程序(進程)運行是需要使用到對應大小的物理內存。 虛擬內存 實際上運行的進程并不是直接使用物理內存地址,而是把進程使用的內存地址與實際的物理
    的頭像 發表于 10-09 16:23 ?980次閱讀
    什么是<b class='flag-5'>內存</b> <b class='flag-5'>操作系統</b><b class='flag-5'>內存</b>介紹
    主站蜘蛛池模板: 狠狠干免费视频 | 天堂在线www | 日日爽天天干 | 国内久久精品 | 精品日韩| 草草操 | 四虎影视院 | 亚洲激情视频网站 | 8000av在线 | 四虎国产精品免费观看 | 久久精品国产福利国产琪琪 | 三级日韩| 波多野结衣在线观看一区二区 | 无人码一区二区三区视频 | 男人天堂欧美 | 久久精品国产免费高清 | 四虎影院最新网站 | xxx日本69| 色婷婷久久免费网站 | 人人干人人玩 | 日本a免费| 免费黄色成人 | 2018天天操夜夜操 | 久久综合五月开心婷婷深深爱 | 国产一级aaa全黄毛片 | 同性同男小说肉黄 | 中文字幕在线永久在线视频2020 | 日本黄色录象 | 老师你好大好白好紧好硬 | 中文字幕11页 | 免费亚洲成人 | 国产又色又爽又黄的网站在线一级 | 在线色片 | 日韩在线三级视频 | 男人日女人的网站 | 日本媚薬痉挛在线观看免费 | 天天躁夜夜躁狠狠躁2021西西 | 天天操天天射天天 | 亚洲天天做日日做天天看2018 | 狠狠色噜噜狠狠狠狠97不卡 | 奇米影视亚洲狠狠色777不卡 |