作業系統五大功能之儲存管理

2021-10-05 18:39:30 字數 2371 閱讀 9814

1.2 記憶體**過程

二.段頁式儲存管理

三.虛擬記憶體

第一節是從物理記憶體的角度來說;第二節是從程序角度理解程序的儲存空間管理。

早期計算機程式設計並不需要過多的儲存管理,隨著計算機和程式越來越複雜,儲存管理成為必要。

儲存管理主要解決三個問題:

有以下三種分配方法

單一連續分配是最簡單的記憶體分配方式,只能在單使用者、單程序的作業系統中使用。

該方法將記憶體分為系統區和使用者區,系統區記憶體只能給作業系統使用,使用者區的記憶體只能給使用者使用。

固定分割槽分配是支援多道程式的最簡單儲存分配方式,記憶體空間被劃分為若干固定大小的區域(分割槽),每個分割槽只提供給乙個程式使用,互不干擾。

1.1.3.1 相關資料結構

1.1.3.2 相關演算法記憶體**區在記憶體中有四種情況(假設使用空閒鍊錶儲存空閒區):

字塊是相對物理裝置的定義,頁面則是相對邏輯空間(程序空間)的定義。

頁式儲存管理就是將程序邏輯空間等分成若干大小的頁面,相應的把物理記憶體空間分成與頁面大小相同的物理塊,以頁面為單位把程序空間裝進物理記憶體中分散的物理塊(字塊)。

頁面大小應該適中,過大難以分配,過小記憶體碎片過多,頁面大小通常是512b~8k。

如何知道程序的頁面分配到哪乙個物理塊(字塊)呢?

頁表:記錄程序邏輯空間與物理空間的對映。有兩項:頁表、字塊。

頁位址對應字的位址,頁位址也是分為兩部分,前m位(頁號)是頁面在頁表的索引,得到該頁的物理塊(字塊);後b位(頁內偏移)指定頁面在物理塊(字塊)中的位址。

頁表在現代計算機系統中的問題:

現代計算機系統中,可以支援非常大的邏輯位址空間(232~264) ,這樣,頁表就變得非常大,要占用非常大的記憶體空間。比如,具有32位邏輯位址空間的分頁系統,規定頁面大小為4kb,則在每個程序頁表中的頁表項可達1m(220)個,如果每個頁表項占用1byte,故每個程序僅僅頁表就要占用1mb的記憶體空間

為解決這一問題,引出多級頁表。只需要在執行時候載入根頁表,之後按需查詢二級頁表……

頁式儲存管理的缺點:有一段連續的邏輯分布在多個頁面中,將大大降低執行效率。

將程序邏輯空間劃分(非等分)成若干段,段的長度由連續邏輯的長度決定。比如,邏輯裡面有主函式main、子程式段x、子函式y等,按照每乙個函式的邏輯長度分配邏輯空間(段)。

段表:記錄程序邏輯空間與物理空間的對映。有三項:段號、基址、段長。

段位址:段號、段內偏移兩部分組成。模擬頁位址。

分頁可以有效提高記憶體利用率(雖然說存在頁內碎片),分段可以更好滿足使用者需求。二者取其優,結合為段頁式儲存管理。

段頁式儲存管理先將邏輯空間按段式管理分成若干段,再把段內空間按頁式管理等分成若干頁。

段頁位址:由三部分組成。段號是程序邏輯空間具體哪一段;段內頁號是段裡具體某一頁;頁內位址是某一頁裡具體的字。

乙個遊戲十幾g,物理記憶體只有4g,那這個遊戲是怎麼執行起來的?

為什麼需要虛擬記憶體?

虛擬記憶體是作業系統記憶體管理的關鍵技術,使得多道程式執行和大程式執行成為現實。

工作方式:把程式使用記憶體劃分,將部分暫時不使用的記憶體放置在輔存中,使用輔存儲存之後可能用到的部分。

區域性性原理是指cpu訪問儲存器時,無論是訪問指令還是訪問資料,所訪的儲存單元都趨於聚集在乙個較小的連續區域中

程式執行時,無需全部裝入記憶體,裝載部分即可;如果訪問頁不在記憶體,則發出缺頁中斷,發起頁面置換;從使用者層面看,程式擁有很大的空間,即是虛擬記憶體

虛擬記憶體實際是對物理記憶體的補充,速度接近於記憶體,成本接近於輔存

快取記憶體替換

頁面替換

時機不同

cpu讀取快取時沒有找到對應資料, 快取需要從主存中載入相關資料

主存缺頁時,主存需要從輔存載入頁面資料

層次不同

cache-主存層次

主存-輔存層次

目的不同

解決速度問題

解決容量問題

這也是為什麼計算機儲存器分層的乙個原因。

作業系統五大分類和五大管理功能

一般來說,作業系統可以分為五大管理功能部分 1 裝置管理 主要是負責核心與外圍裝置的資料互動,實質是對硬體裝置的管理,包括對輸入輸出裝置的分配,初始化,維護與 等。例如管理音訊輸入輸出。2 作業管理 這部分功能主要是負責人機互動,圖形介面或者系統任務的管理。3 檔案管理 這部分功能涉及檔案的邏輯組織...

作業系統之儲存器管理

儲存器的層次如下圖 上圖中,暫存器和主儲存器稱為可執行儲存器。快取記憶體的作用是緩和cpu與記憶體之間的速度差異,主要由硬體實現。磁碟快取的出現是由於記憶體容量不夠,需要引入磁碟,然而磁碟的i o速度遠低於主存的訪問速度,為了緩和兩者之間在速度上的差異,設定了磁碟快取。磁碟快取與快取記憶體不同,它本...

作業系統儲存管理

分段單元 分頁單元 邏輯位址 段基址 32位偏移量 線性位址 虛擬位址,0 4gb 實體地址 6個段暫存器 cs code段 ss stack段 ds data段 es fs gs 通用段暫存器 16位的段選擇符就存放在以上段暫存器中 線性位址 4gb 被分成以固定長度為單位的組,即頁。頁內部連續的...