(1)靜態重定位
在裝入一個作業時,把作業中的指令地址和數據地址全部轉換成絕對地址。這種轉換工作是在 作業開始前集中完成 的,在作業執行過程中無需再進行地址轉換。所以稱為“靜態重定位”。
(2)動態重定位
在裝入一個作業時,不進行地址轉換,而是直接把作業裝到分配的主區域中。在作業執行過程中,每當執行一條指令時都由硬件的地址轉換機構轉換成絕對地址。這種方式的地址轉換是在 作業執行時動態完成 的,所以稱為動態重定位。
動態重定位由軟件(操作系統)和硬件(地址轉換機構)相互配合來實現。動態重定位的系統支持“程序浮動”,而靜態重定位則不能。
二、固定分區存儲管理( 領會 )
分區存儲管理是把存儲器中的用戶區作為一個連續區或分成若干連續區進行管理。早先使用一個分區的存儲管理,后發展成多分區的存儲管理。多個分區的管理可采用固定分區方式和可變分區方式。
1、固定分區存儲管理的原理
固定分區 的意思就是指主存空間劃分成若干連續區后,這些分區的 大小和個數 就 固定 不變。
固定分區管理利用一張“ 主存分配表 ”說明各分區的情況。裝入和結束作業均通過這個分區表來記錄分區使用的變化情況。
2、如何實現存儲保護
固定分區管理 可采用 靜態重定位 的方式裝入作業。裝入程序把作業中的邏輯地址轉換為絕對地址。并檢查絕對地址是否在指定(裝入)的分區內,如果是,就裝入這個作業。否則就不能裝入。如果裝入主存分區的作業占用處理器時(注意,是運行時),進程調度程序(不是裝入程序了)必須把作業所在分區的上下限地址存入“下限寄存器”和“上限寄存器”中,這樣可以在指令執行中判斷其所用到的絕對地址是否越界,達到存儲保護的目的。
3、怎樣 提高主存空間的利用率 這里有幾種辦法:
(1)分區按大小順序排列,這樣可以使作業總是先使用滿足要求的最小分區。
(2)根據經常出現的作業大小和頻率劃分分區。
(3)按作業的對主存空間的需求量排成多個隊列,規定隊列與分區的對應關系。也就是說多大的作業只能放在多大的分區里,就算有更大的分區空著,也不許他進入。
三、可變分區的管理( 領會 )
可變就是指分區的 大小和位置不是固定 的,而是根據作業要求的主存量來分配分區的大小。
1、主存的分配和去配(回收)
在系統初始化時,主存除了操作系統所占部分外,整個用戶區是一個大的空閑區,可以按作業需要的空間大小順序分配空閑區直到不夠時為止。
當作業結束時,它的占用分區被收回。這個空閑區又可以根據新作業的大小重新用于分配,所以主存中的已占分區和空閑區的數目和大小都是在變化的?梢杂脙蓮埍怼耙逊峙鋮^表”和“空閑區表”來記錄和管理。
2、常用的分配算法
最先適應分配算法 :簡單地說,就是在分區表中順序查找,找到夠大的空閑區就分配。但是這樣的分配算法可能形成許多不連續的空閑區,造成許多“碎片”,使主存空間利用率降低。
最優適應分配算法 :這種算法總是挑選一個能滿足作業要求的最小空閑區。但是這種算法可能形成一些極小的空閑區,以致無法使用,這也會影響主存利用率。
最壞適應分配算法 :這種算法和上面的正好相反,它總是挑一個最大的空閑區分給作業使用,使剩下的空間不至于太小。
3、地址轉換與存儲保護
采用 可變分區方式管理 時,一般均采用 動態重定位 方式裝入作業。也就是每讀一條指令,都要變換一次地址。變換要靠硬件支持,主要是 兩個寄存器 : 基址 寄存器和 限長 寄存器,限長寄存器存放作業所占分區的長度,基址寄存器則存放作業所占分區的起始地址,這兩個值確定了一個分區的位置和大小。
轉換時根據邏輯地址與限長值比較,如果不有超過這個值,表示訪問地址合法,再加上基址寄存器中的值就得到了絕對地址了,否則形成“地址越界”中斷。達到存儲保護的目的。
對于共享程序,則硬件提供兩組限長寄存器和基址寄存器。訪問時對訪問區享區和作業區的地址分別進行轉換。
4、移動技術的應用
移動技術 要“移動”的東東就是主存空間中的作業。把某個作業移到另一處主存空間去(在磁盤整理中我們應用的也是類似的移動技術),這樣的最大好處就是可以合并一些空閑區。
但是移動技術的應用也要注意以下問題。
移動會增加系統開銷。所以要盡量減少移動。
移動是有條件的,如果作業在執行過程中正等待與外圍設備傳輸信息,就不能移動。因此在移動時首先要判定該作業是否與外設交換信息。
相關推薦:2010年自考數據庫及其應用重點知識講解匯總