多级页表如何节省内存
生活随笔
收集整理的這篇文章主要介紹了
多级页表如何节省内存
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在談到多級頁表的優(yōu)勢的時候,很多地方都是這么說的:32位地址空間的分頁系統(tǒng),如果頁面大小為4KB,則每個進程可達1M個頁,假設每個頁表項占用4個字節(jié),這樣每個進程僅僅頁表項就占用了4MB連續(xù)的內存空間。
那么多級頁表怎么節(jié)省存儲空間的?
如果是2級頁表,32位地址分為10,,10,12這3部分。則,頁目錄表1024項,每個小頁表也是1024項,實際的存儲空間是1024*4k(所有小頁表大小)+4k(頁目錄大小),變大了!!!!!!
在這里我談談個人的理解!
實際上,一個進程并不是所有線性地址都會映射到頁表中,假如所有頁表都映射,的確多級頁表占用了更多的內存,但是大多數地址都是沒有映射的。
如果是一級頁表,因為頁表是一個大數組,如果在初始化的時候沒有分配好足夠的空間,以后要擴展的話怎么辦?所以一級頁表在初始化的時候便分配了全部的連續(xù)內存,即使并不是所有地址都映射到頁表上。
如果是多級頁表,這里以二級頁表為例。在初始化的時候只需要先分配好頁目錄所需的連續(xù)內存,頁表的內存可以到需要使用的時候再動態(tài)分配,增加了靈活性,同時節(jié)省了內存。
轉載于:https://www.cnblogs.com/vinozly/p/5590428.html
總結
以上是生活随笔為你收集整理的多级页表如何节省内存的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 脑ct多少钱啊?
- 下一篇: “夕陨何纷纷”下一句是什么