《段式管理優(yōu)缺點》word版_第1頁
《段式管理優(yōu)缺點》word版_第2頁
《段式管理優(yōu)缺點》word版_第3頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、4.4 段式存儲管理 在分區(qū)存儲管理和頁式存儲管理中,供用戶使用的邏輯地址都是連續(xù)的。在有些情況下如用戶在編制大型程序時就會感到不便利,因為用戶希望他們程序是由若干段組成的,可以由一個主程序、若干子程序、符號表、棧以及數(shù)據(jù)等等若干段組成。每一段都有完整的邏輯意義,每一段的程序都可獨立編制,且每一段的長度可以不同,參見圖4-16。采用段式存儲管理方案就可以支持程序的分段使用。圖4.4.1 基本思想1、 1、   程序邏輯地址空間劃分第個程序由若干段組成,稱為邏輯段,簡稱段。段劃分的基本原則是,按邏輯上有完整意義的內(nèi)容進行段的劃分。用戶程序的邏輯地址由段號和段內(nèi)地址兩部分組成:

2、段號段內(nèi)地址 2、 2、   內(nèi)存空間劃分3、 3、   內(nèi)存分配4.4.2 存儲空間的分配與回收 當把用戶程序裝入內(nèi)存時,為了實現(xiàn)段式管理,操作系統(tǒng)為用戶程序建立一張段表,用于記錄用戶程序的邏輯段與內(nèi)存物理段之間的對就關系。段表包括邏輯段號、物理段起起始地址和物理段長度三項內(nèi)容。用戶程序有多少邏輯段,該段表里就登記多少行,且按邏輯段的順序排列,段表存放在內(nèi)存系統(tǒng)區(qū)時,參見圖4-17。圖段式存儲管理通過內(nèi)存分配表分配內(nèi)存空間。內(nèi)存分配表包括兩個部分:已分配區(qū)一和空閑區(qū)表。段存儲管理的內(nèi)存分配表與可變分區(qū)管理方案中的內(nèi)存分配表是類似的,不同之處是段式存儲管

3、理是為程序的每一個分段分配一個連續(xù)的內(nèi)存空間。對空閑區(qū)的分配也可以彩在分區(qū)管理方案中介紹過的分配策略,即首先適應算法、最佳適應算法和最壞適應算法等。在進行內(nèi)存分配時,首先根據(jù)段長找出一個可容納該段的一個空閑區(qū),分割這個空閑區(qū),一部分用來裝入該段信息,另一部分你為空閑區(qū)。當沒有一個足夠大的空閑時,可彩拼接技術來合并分散的空閑區(qū)。程序執(zhí)行結束時,要收回該程序各段程序各段所占用的內(nèi)存區(qū)域,使其成為空閑區(qū),回收存儲空間的方法與分區(qū)管理方案類似。4.4.3 地址轉換與存儲保護 為了實現(xiàn)段式管理,要有硬件的地址轉換機構作支撐。為此,系統(tǒng)提供一對段表控制寄存器:段表始址寄存器和段表長度寄存器,另外還需要高速

4、緩沖存儲器具支持。段表始址寄存器,用于保存正在運行進程的段表在內(nèi)存的首地址。當進程被制裁度程序選中投入運行時,系統(tǒng)將其段表首地從進程控制塊中取出送入該寄存器。段表長度寄存器,用于保存正在運行進程的段表的長度,當進程被選中運行時,系統(tǒng)將它從進程控制塊中取了送入該寄存器。用戶程序運行時,系統(tǒng)根據(jù)用戶程序提供的邏輯地址和兩個寄存器的內(nèi)容,形成一個訪問內(nèi)存的物理地址。為了加快地址映射,亦可以采用快表技術。1、 1、   地址轉換 下面介紹段式管理的地址轉換過程。當某程序開始執(zhí)行時,系統(tǒng)首先把該程序的段表始址放入段表始址寄存器。通過訪問段表如址寄存器,得到該進程的段表始址從而可開始訪

5、問段表。然后,由邏輯地址中的段號S為索引,檢查段表。從段表相應表目中查出該段在內(nèi)存的起始地址,并將其和段內(nèi)地址D相加,從而得到實際內(nèi)存地址。 圖4-18中給出了采用快表的段式存儲管理地址轉換過程。采用快表的地址轉換過程分兩個分支,第一個分支是檢查快表,第二個分支是檢查內(nèi)存段表。圖(1) (1)         檢查快表地址轉換過程1、 1、   首先,系統(tǒng)根據(jù)邏輯地址中的段號S查找快表。2、 2、   若在快表中找到該段號,則根據(jù)快表內(nèi)容比較邏輯地址中的段內(nèi)地址是否超過段長D

6、<=SL,如果超過,則發(fā)了越界中斷;否則,根據(jù)快表中的信息SB與D形成物理地址。此時,停止第二分支的執(zhí)行。3、 3、   若在快表中沒有找到該段號,則此次地址轉達換的操作要依靠第二分支的執(zhí)行完成。(2) (2)         檢查內(nèi)存段表地址轉換過程。1、 1、   首先,將邏輯地址中的邏輯段號S與段表長度寄存器內(nèi)容L比較,若S<=L,則表示地址越界,發(fā)地址越界中斷。2、 2、   若S< L,則由S與段表始址寄存器內(nèi)容B找到段S在段表

7、中的相應表目,得到該段在內(nèi)存的起始地址SB。3、 3、   將邏輯地址中的段內(nèi)地址D與從段表中得到該長度SL進行比較,如果D<=SL,則表示地址越界,發(fā)越界中斷。4、 4、   若D<SL,則通過SB和D,形成物理地址。2、 2、   存儲保護 段式管理的存儲保護主要有兩種方法。一種是地址越界保護法,另一種是存取權控制保護法。4.4.4 段式存儲管理的優(yōu)缺點在段式存儲管理中,每個段地址的說明為兩個量:一個段名和一人伴移。在段內(nèi),是連續(xù)完整存放的。而在段與段之間是不一定連續(xù)編址的。段名和位移構成了一種二維編址。段式管理是不連

8、續(xù)分配內(nèi)存技術中的一種。其最大特點在于他按照用戶觀點,即按程序段、數(shù)據(jù)段等有明確邏輯含義的“段”,分配內(nèi)存空間??朔隧撌降?、硬性的、非邏輯劃分給保護和共享與支態(tài)伸縮帶來的不自然性。段的最大好處是可以充分實現(xiàn)共享和保護,便于動態(tài)申請內(nèi)存,管理和使用統(tǒng)一化,便于動態(tài)鏈接;其缺點是有碎片問題。4.4.5 段頁式存儲管理方案分頁式存儲管理的基本思想是:用段式方法對用戶程序按照在的邏輯關系劃分成若干段,每段的邏輯地址仍是從“0”開始的一組連續(xù)地址。用頁工方法來分配和管理內(nèi)存空間,即把內(nèi)存劃分為若干大小相等的頁面。在具體分廠空間時,不再為每一段分配一個連續(xù)的主存空間,而是把每段分成若干頁面,從而把一段的

9、信息分頁存放。這些而面顯然是分布在不必豐鄰的空閑主存塊中。因此,用戶程序的邏輯地址由三部分組成,其形式如下: 段號頁號 頁內(nèi)地址 段頁式存儲管理為每一個裝入內(nèi)存的程序建立一張段表。另外,對每段還要建立一張頁表。段表的長度由程序分段的個數(shù)所決定,而段表中的每一表目則指出本段的頁表始址和長度。頁表的長度由對應段所分廠的頁面的個數(shù)決定,而頁表中的每一個表目指出本段的邏輯頁號與主存塊號的對應關系。 在執(zhí)行指令時,首先根據(jù)邏輯地址中的段號村段表,得到該段的頁表始址,然后根據(jù)頁號查頁表,得到對應的主存塊號,由主存塊號與邏輯地址中的頁內(nèi)地址一起形成可訪問的絕對地址。如果邏輯地址中的段號超出了段表中的最大段號或者頁號超出了該段頁表中的最大頁號,就會形成“地址越界的程序性中斷事件。 采用須頁式存儲管理方案時,具有獨立邏輯功能的程序或數(shù)據(jù)仍被劃分為段,并有各自的段號,這反映和繼承了段式管理的特征

溫馨提示

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

評論

0/150

提交評論