日本伊人精品一区二区三区观看方式,亚洲一区二区久久久久久,亚洲精品无吗,欧美日韩一区二区高清

有考網有考網合作機構>長沙培訓學校>長沙岳麓區河西CBD達內IT教育培訓
長沙岳麓區河西CBD達內IT教育培訓
全國統一學習專線 8:30-21:00
位置:有考網 > 計算機類 > linux云計算 > > Linux內存管理是什么?  正文

Linux內存管理是什么?

發布時間:2021-09-23 15:26:36來源:轉載

很多人對Linux內存管理存在疑問,小編發現這個內存管理的知識點還真的需要專門的去理解一下,今天我們一起來學習學習。

1.不涉及linux內核的匯編知識,僅C語言層面解析

1.回答:匯編主要處理的是寄存器地址(包括內容)的計算,進行一部分的地址轉換工作(當然,它是重要的);C語言處理了極大部分的系統內存管理工作。

2.虛擬地址、線性地址、物理地址三者映射關系

虛擬地址:程序員(在縮小范圍估計是:應用程序員)直接看到的

線性地址:操作系統控制

物理地址:CPU內存地址(或者外部內存)

總結一點:虛擬地址通過段管理機制首先變換成一種中間地址形式--cpu32位的線性地址,然后使用分頁管理機制將此地址映射到物理地址。

例子解析:

一個變量定義在一個進程里面,在程序中使用&操作符獲取的地址(估計是偏移地址),將怎么映射呢?(或者它是什么地址,在進程中的位置如何)

1. 回答:因為,程序使用的都是虛擬地址,所以程序員拿到的變量地址是虛擬地址(它是經過編譯器處理過的,并由系統指映射線性地址,分配物理內存的)。

2. 同時,一個變量的地址(虛擬地址)是不會改變的(只要程序代碼不改變,或者不在編譯),但是,改變運行(不同的時間,相隔一段時間在運行的話),物理地址是會改變的。正是因為操作系統的內存管理作用(線性地址映射到物理地址,是一個動態的過程)。

malloc函數從調用、分配到返回的過程是?

1. 回答:函數調用系統函數,系統函數進入了內核態,引起中斷(或其他,異常處理等工作),操作系統得知需要額外的增長空間以提供使用,所以使用分頁機制來映射到可以使用的物理地址(沒有有用數據,或不被映射),從而使得虛擬地址有了真實的物理地址映射管理,可以正常使用了。

2. malloc實際上,并不是用戶調用malloc后馬上對物理地址與虛擬地址之間進行映射,只有在用戶對申請的內存空間進行讀寫異常操作才會發生映射。總結一句:在實際需要時才加載執行文件中頁面的方式。

相關內容: Linux Linux云計算 Linux內存管理

同類文章
相關熱詞
主站蜘蛛池模板: 龙陵县| 苏尼特右旗| 黑河市| 洞头县| 崇礼县| 略阳县| 平乡县| 平阴县| 申扎县| 连平县| 嘉黎县| 宣恩县| 上饶县| 鹤峰县| 霍州市| 色达县| 吐鲁番市| 长宁县| 宜君县| 宝山区| 榆中县| 印江| 囊谦县| 栖霞市| 晴隆县| 黄骅市| 沿河| 会宁县| 宝清县| 自贡市| 梅州市| 巴彦淖尔市| 济宁市| 高要市| 正蓝旗| 汝南县| 浦江县| 花莲市| 内黄县| 边坝县| 南昌县|