作業系統 儲存器管理(2)

2021-09-02 05:45:04 字數 1307 閱讀 3688

1.程序的換入與換出:

由於核心執行某些操作而發現記憶體不足時,便呼叫(或喚醒)對換程序,主要任務便是實現程序的換入換出。

1>程序的換出指:

對換程序在實現程序換出時,將記憶體中的某些程序調出至對換區以便騰出記憶體空間。

步驟:①選擇被換出的程序。選擇優先順序最低的處於阻塞或睡眠狀態的程序,考慮程序在記憶體中的駐留時間,若系統無阻塞程序,而現在記憶體空間仍不足時,選擇優先順序最低的就緒程序換出。

②程序換出過程。選擇換出程序後,在換出時,只能換出非共享的程式和資料段。換出時,應先申請對換空間,若成功,則啟動磁碟,將該程序的程式和資料傳送到磁碟的對換區上。若過程無錯,便可**該程序的程序控制塊(pcb)和記憶體分配表等,資料結構做相應的修改。若還有可換出的程序,則繼續執行換出程序,直至記憶體中再無阻塞程序為止。

2>程序的換入:

對換程序將定時執行換入操作,首先檢視pcb集合中的所有程序的狀態,從中找出「就緒」狀態但已換出的程序。

當有許多此類程序時,選擇其中已換出到磁碟上時間最久(必須大於規定時間)的程序作為換入程序,為它申請記憶體。若成功,可直接將程序從外存調入記憶體;若失敗,則需先將記憶體中某些程序換出,有足夠記憶體空間後,再將其調入。成功後,若仍有可換入程序,繼續執行換入換出過程,將其餘處於「就緒且換出」狀態程序陸續換入,直至外存無「就緒且換出」狀態程序為止,或已無足夠記憶體來換入程序,此時對換程序停止換入。

2.分頁式儲存管理方式:將使用者程式分為若干固定大小區域,稱為「頁」或「頁面」,將記憶體空間分為若干個物理塊,頁和物理塊大小相等,任一頁放入任一物理塊,實現離散分配。

3.分段式儲存管理方式:將使用者程式分為若干固定大小不同的段,每段定義一組相對完整的資訊,儲存器分配時也以段為單位,段可以不相鄰,實現離散分配。

4.段頁式儲存管理方式:將分頁和分段式方式結合,同時具有兩者的有點。

系統給程式分配的邏輯位址,先通過段號s,結合段表暫存器的段表長度判斷是否位址越界,越界直接終止,不越界通過段表暫存器去段表定址,尋找所需要的段號,找到段號所對應的段表後再結合邏輯位址中的頁號,尋找到該段中頁面所對應頁號所儲存的物理塊,再結合邏輯位址中的頁內位址組成實體地址。(如上圖)

作業系統 儲存管理(2)

為了解決上述的問題,主要是解決記憶體不夠的問題,現代作業系統採用了虛擬記憶體的方式。基於區域性性原理,在程式裝入階段,可以將程式的一部分裝入記憶體,其餘部分留在外存,就可以讓程式啟動起來了。在程式執行過程中,當訪問的資訊不在記憶體時,由作業系統將所需要的部分調入記憶體,然後繼續執行程式。另一方面,作...

作業系統 儲存管理2

非連續儲存分配 概念 將程序儲存在非連續的記憶體空間 進而需要將程序劃分成小的部分 根據劃分粒度的大小可以分為 段式 頁式記憶體分配方式 1.頁式儲存管理 前提 程序並不要求邏輯位址必須連續 注意 其實程序被分為許多片段,零散的分布在記憶體中不存在確定的順序 頁式儲存管理具體操作 將物理空間等分為固...

作業系統 儲存器管理

程式的裝入和鏈結 連續分配方式 基本分頁儲存管理方式 基本分段儲存管理方式 虛擬儲存器的基本概念 請求分頁儲存管理方式 頁面置換演算法 請求分段儲存管理方式 使用者程式要在系統中執行,必須先將它裝入記憶體,然後由編譯程式 compiler 對使用者源程式進行編譯,形成若干個目標模組 object m...