Linux操作系統(tǒng)原理與應用第五章課件_第1頁
Linux操作系統(tǒng)原理與應用第五章課件_第2頁
Linux操作系統(tǒng)原理與應用第五章課件_第3頁
Linux操作系統(tǒng)原理與應用第五章課件_第4頁
Linux操作系統(tǒng)原理與應用第五章課件_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第五章 存儲管理 5.1存儲管理概述 存儲管理是操作系統(tǒng)的重要組成部分,它負責計算機系統(tǒng)內(nèi)存空間的管理。其目的是充分利用內(nèi)存空間,為多道程序并發(fā)執(zhí)行提供存儲基礎(chǔ),并盡可能地方便用戶使用。 5.1.1存儲管理的概念 存儲管理所研究的主要內(nèi)容包括3個方面:?。‵etch)放(Placement)替換(Replacement)5.1.2存儲管理的功能 內(nèi)存的分配與回收 地址轉(zhuǎn)換 內(nèi)存信息的共享與保護 內(nèi)存擴充 5.2覆蓋和交換技術(shù) 覆蓋和交換技術(shù)是在多道環(huán)境下用來擴充內(nèi)存的兩種方法。覆蓋技術(shù)主要用在早期的操作系統(tǒng)中,而交換技術(shù)則在現(xiàn)在操作系統(tǒng)中仍具有較強的生命力。 5.2.1覆蓋技術(shù) 覆蓋技術(shù)的基本

2、思想是把程序劃分為若干個功能上相對獨立的程序段,按照程序的邏輯結(jié)構(gòu)讓那些不會同時執(zhí)行的程序段共享同一塊內(nèi)存區(qū)。通常,這些程序段都被保存在外存中,當有關(guān)程序段的先頭程序段已經(jīng)執(zhí)行結(jié)束后,再把后續(xù)程序段調(diào)入內(nèi)存覆蓋前面的程序段。這使得用戶看來好像內(nèi)存擴大了,從而達到了內(nèi)存擴充的目的。 5.2.2交換技術(shù) 交換指先將內(nèi)存某部分的程序或數(shù)據(jù)寫入外存交換區(qū),再從外存交換區(qū)中調(diào)入指定的程序或數(shù)據(jù)到內(nèi)存中來。交換進程由換出和換入兩個過程組成,其中換出過程把內(nèi)存中的數(shù)據(jù)或程序換到外存交換區(qū),而換入過程把外存交換區(qū)中的數(shù)據(jù)或程序換到內(nèi)存分區(qū)中。交換技術(shù)大多用在小型機或微機系統(tǒng)中,這樣的系統(tǒng)大部分采用固定或者可變

3、分區(qū)方式管理內(nèi)存。 5.3存儲管理方案 存儲管理主要是討論和解決多道作業(yè)之間共享主存的存儲空間問題,如果沒有有效的存儲管理方式,不僅影響到服務器性能還可能造成整個系統(tǒng)的崩潰。 5.3.1分區(qū)存儲管理 單分區(qū)存儲管理 多分區(qū)存儲管理 固定分區(qū)存儲管理 可變分區(qū)存儲管理5.3.2分頁存儲管理 基本思想地址變換 快表 頁的共享和保護 多級頁表 5.3.3分段式儲管理 基本思想主存空間的分配和回收 地址變換與存儲保護段的共享 分段與分頁的區(qū)別5.3.4段頁式存儲管理 分頁和分段存儲管理方式都各有其優(yōu)缺點,分頁系統(tǒng)能有效地提高內(nèi)存利用率,而分段系統(tǒng)能很好地滿足用戶需要。段頁式系統(tǒng)是分頁和分段的結(jié)合,用戶

4、程序分成若干段,每個段劃分成若干頁,每段賦予一個段名。5.4虛擬存儲器 虛擬存儲器(Virtual Memory)及其管理技術(shù)是現(xiàn)代操作系統(tǒng)的重要特征之一,它將外存資源與內(nèi)存資源進行統(tǒng)一管理,解決了用較小容量的內(nèi)存運行大容量軟件的問題。本節(jié)講述虛擬存儲器的概念,并討論虛擬存儲器管理方法。 5.4.1虛擬存儲的概念 程序局部性原理 虛擬存儲器 5.4.2請求分頁存儲管理 請求分頁系統(tǒng)是建立在基本分頁系統(tǒng)的基礎(chǔ)上,為了能支持虛擬存儲器功能而增加了請求調(diào)頁功能和頁面置換功能。頁表中除了有頁號、物理塊號兩項外,還需要狀態(tài)位、訪問字段、修改位、外存地址等信息 。5.4.3請求分段式存儲管理 在請求分段存

5、儲管理系統(tǒng)中,作業(yè)運行之前,將當前需要的若干分段裝入內(nèi)存,便可啟動作業(yè)運行。在作業(yè)運行中,若要訪問的分段不在內(nèi)存中,則通過調(diào)段功能將其調(diào)入,同時還可以通過置換功能將暫時不用的分段換出到外存。段表中除了有段號、段長、段的基址三項外,還需要存取方式、訪問字段、修改位、存在位、增補位、外存起始地址等信息。5.5Linux的存儲管理 Linux操作系統(tǒng)采用了請求式分頁虛擬存儲管理方法,系統(tǒng)為每個進程提供了4GB的虛擬內(nèi)存空間,各個進程的虛擬內(nèi)存彼此獨立。 5.5.1Linux存儲器管理概述 Linux的設(shè)計目標是支持絕大多數(shù)主流的CPU,而很多CPU使用的是RISC體系結(jié)構(gòu),并沒有分段機制(采用虛擬分

6、頁存儲管理方法),所以內(nèi)核只有在80 x86結(jié)構(gòu)下才使用分段,:所有Linux進程僅僅使用四種段來對指令和數(shù)據(jù)尋址。運行在用戶態(tài)的進程使用用戶代碼段和用戶數(shù)據(jù)段。 5.5.2Linux的分頁管理機制 Linux的三級分頁結(jié)構(gòu) 5.5.3Linux物理內(nèi)存空間的管理 zone的概念 物理內(nèi)存的內(nèi)核映射物理內(nèi)存的頁面管理 物理內(nèi)存的分配與回收 5.5.4內(nèi)核態(tài)內(nèi)存的申請與釋放 申請內(nèi)存 釋放 5.5.5用戶態(tài)內(nèi)存的申請與釋放 Linux用kmalloc()函數(shù)和kfree()函數(shù)提供內(nèi)核內(nèi)存申請、釋放的接口,它還實現(xiàn)另一種虛擬空間的申請、釋放界面,就是vmalloc()和vfree()。 5.5.6存儲管理系統(tǒng)的緩沖機制 Swap cache Page Cache 5.6Linux系統(tǒng)地址映射實例 Linux 內(nèi)核采用頁式存儲管理。虛擬地址空間劃分成固定大小的“頁面”,由 MMU 在運行時將虛擬地址“映射”成某個物理內(nèi)存中的地址。本章小結(jié) 存儲管理是操作系統(tǒng)的重要組成部分,正在運行的程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論