第八章: 內(nèi)存管理

進(jìn)程使用內(nèi)從內(nèi)存的界定

  • 一個進(jìn)程使用的地址范圍 基地址寄存器 和 界限地址寄存器 決定
  • 基地址是開始位置 界限地址寄存器是偏移量

內(nèi)存空間劃定意義

  • 避免系統(tǒng)區(qū)域被用戶程序修改
  • 確保用戶進(jìn)程不被其他進(jìn)程訪問

地址綁定

  • 地址綁定
    是進(jìn)程內(nèi)內(nèi)存到物理實際內(nèi)存的映射
  • 物理地址可以直接尋址
  • 地址綁定是邏輯地址到物理地址的映射
    源程序中的地址 -> 可重定位地址-> 絕對地址
  • 3種情況
    編譯時就知道進(jìn)程在內(nèi)存中的地址
    加載時進(jìn)行 編譯器生成可重定位代碼后
    運行時進(jìn)行 進(jìn)程可以從一個內(nèi)存段移到另一個內(nèi)存段,猶如動態(tài)鏈接庫

LINUX內(nèi)存文件

  • 6列 地址范圍 權(quán)限 偏移量 設(shè)備 節(jié)點 路徑

動態(tài)加載

  • 優(yōu)點
    不使用的程序不會加載到內(nèi)存
    適合操作大量不常發(fā)生的事件
    不需要操作系統(tǒng)特別支持退疫,由程序員設(shè)計
  • 本質(zhì)是融柬,進(jìn)程運行時載入了一段別的代碼,用于使用

交換 本質(zhì)是主存進(jìn)程的交換

  • 交換到快速磁盤
  • 換出再換入時調(diào)入哪個內(nèi)存的算法
    編譯時決定 加載時決定 運行時決定

內(nèi)存分配 實際上是進(jìn)程放在內(nèi)存的哪里比較好

連續(xù)分配

  • 多分區(qū)方法 多個固定大小分區(qū) 分區(qū)大小相同 分區(qū)大小不同
  • 可變分區(qū)方法 內(nèi)存記錄已用未用內(nèi)存肪笋,就是實驗4內(nèi)容

不連續(xù)分配

  • 分頁 進(jìn)程塊為頁 內(nèi)存塊為幀
  • 一個進(jìn)程分的內(nèi)存塊可以不是連續(xù)的
  • 一個進(jìn)程持有一個頁表

頁表

  1. 頁表的地址變換
    頁號:頁表基地址 與 頁偏移:與頁表基地址形成幀號
  2. 頁表的實現(xiàn) 可用專用寄存器 或 載入內(nèi)存 來實現(xiàn)
  3. 頁表載入內(nèi)存的問題
    為了訪問數(shù)據(jù)需要兩次訪問內(nèi)存
    第一次為了獲取頁表信息
    第二次為了使用頁表信息訪問數(shù)據(jù)
  4. 地址轉(zhuǎn)換旁觀緩沖
    使用高速緩沖區(qū)存放頁表
    訪問數(shù)據(jù)只需要訪問一次
  5. 在分頁環(huán)境下實現(xiàn)內(nèi)存保護(hù) 使用保護(hù)位
    頁表的長度是固定的,如果有程序不需要用到所有的頁表的話度迂,必定有尾部幾塊的頁表是無效的藤乙,所以要避免進(jìn)程訪問不屬于它自己的數(shù)據(jù)
  6. 分頁優(yōu)點
    使用共享頁表實現(xiàn)代碼共享
  7. 頁表結(jié)構(gòu)
    層次頁表
    避免進(jìn)程同一時間持有的頁表過于龐大,層次頁表的本質(zhì)是 按需讀區(qū)某一小段的頁表惭墓,使其他頁表強(qiáng)制失效
    多級頁表示意圖

哈希結(jié)構(gòu)
邏輯地址的定義為:虛擬頁碼 + 偏移量
哈希頁表每一條目是鏈表坛梁,鏈著 虛擬頁碼,此頁對應(yīng)的幀號腊凶,下一個元素指針
通過進(jìn)程頁號轉(zhuǎn)移到哈希表中 -> 找到對應(yīng)的幀號 -> 用幀號與頁偏移形成物理地址
反向頁表
不是重點罚勾,不做贅述

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市吭狡,隨后出現(xiàn)的幾起案子尖殃,更是在濱河造成了極大的恐慌,老刑警劉巖划煮,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件送丰,死亡現(xiàn)場離奇詭異,居然都是意外死亡弛秋,警方通過查閱死者的電腦和手機(jī)器躏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門俐载,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人登失,你說我怎么就攤上這事遏佣。” “怎么了揽浙?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵状婶,是天一觀的道長。 經(jīng)常有香客問我馅巷,道長膛虫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任钓猬,我火速辦了婚禮稍刀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘敞曹。我一直安慰自己账月,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布澳迫。 她就那樣靜靜地躺著局齿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪纲刀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天担平,我揣著相機(jī)與錄音示绊,去河邊找鬼。 笑死暂论,一個胖子當(dāng)著我的面吹牛面褐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播取胎,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼展哭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了闻蛀?” 一聲冷哼從身側(cè)響起匪傍,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎觉痛,沒想到半個月后役衡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡薪棒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年手蝎,在試婚紗的時候發(fā)現(xiàn)自己被綠了榕莺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡棵介,死狀恐怖钉鸯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情邮辽,我是刑警寧澤唠雕,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站逆巍,受9級特大地震影響及塘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜锐极,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一笙僚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧灵再,春花似錦肋层、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至汪榔,卻和暖如春蒲拉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背痴腌。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工雌团, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人士聪。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓锦援,卻偏偏與公主長得像,于是被迫代替她去往敵國和親剥悟。 傳聞我的和親對象是個殘疾皇子灵寺,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前段時間看了進(jìn)程管理,覺得對編程簡直大有裨益区岗,至少對于多線程編程方面略板,對系統(tǒng)的進(jìn)程管理有了非常深刻的理解,看來還是...
    KevinCool閱讀 1,159評論 0 1
  • 存儲器的層次結(jié)構(gòu)‘ 多層結(jié)構(gòu)的存儲器系統(tǒng) 存儲器的多層結(jié)構(gòu)慈缔。 存儲層次至少應(yīng)具有三級:最高層為 CPU 寄存器蚯根,中...
    傻傻傻瓜_d432閱讀 862評論 0 0
  • 物理內(nèi)存管理為程序運行提供服務(wù)。程序駐留在外存,并使用邏輯地址颅拦。 邏輯內(nèi)存管理的核心工作:邏輯地址空間到物理空間的...
    minlover閱讀 3,188評論 1 4
  • 內(nèi)存管理的基本思想 每個進(jìn)程都擁有自己的地址空間( Address space),包括這個進(jìn)程可以使用的全部地址和...
    夏威夷的芒果閱讀 1,888評論 0 1
  • 非連續(xù)分配允許一個程序分散地裝入到不相鄰的內(nèi)存分區(qū)中蒂誉,根據(jù)分區(qū)的大小是否固定分為分頁存儲管理方式和分段存儲管理方式...
    saviochen閱讀 1,980評論 0 4