頁式存儲和段式存儲
A. 在頁式存儲管理系統中,當訪問主存中的一條指令或數據時,需要訪問多少次主存段式存儲呢
1)頁式存儲管理中,訪問指令或數據時,首先要訪問內存中的頁表,查找到指令或數據所在頁面對應的頁表項,然後再根據頁表項查找訪問指令或數據所在的內存頁面。需要訪問內存兩次。
段式存儲管理同理,需要訪問內存兩次。
段頁式存儲管理,首先要訪問內存中的段表,然後再訪問內存中的頁表,最後訪問指令或數據所在的內存頁面。需要訪問內存三次。
對於比較復雜的情況,如多級頁表,若頁表劃分為N級,則需要訪問內存N+1次。若系統中有快表,則在快表命中時,只需要一次訪問內存即可。
B. 段式和頁式存儲管理的地址結構很類似,但是它們之間有實質上的不同,表現為
段式和頁式存儲管理的地址結構很類似,但是它們之間有實質上的不同,表現為______。
A.頁式的邏輯地址是連續的,段式的邏輯地址可以不連續
B.頁式的地址是一維的,段式的地址是二維的
C.分頁是操作系統進行的,分段是用戶確定的
D.頁式採用靜態重定位方式,段式採用動態重定位方式
正確答案:B
解析:各頁可以分散存放在主存,每段必須佔用連續的主存空間,選項A不正確:分頁和分段者是操作系統確定和進行的,選項C也不正確;頁式和段式都是採用動態重定位方式,選項D也不正確。
C. 內存管理頁式管理和段式管理、段頁式管理的區別
一 頁式管理
1 頁式管理的基本原理將各進程的虛擬空間劃分成若干個長度相等的頁(page),頁式管理把內存空間按頁的大小劃分成片或者頁面(page frame),然後把頁式虛擬地址與內存地址建立一一對應頁表,並用相應的硬體地址變換機構,來解決離散地址變換問題。頁式管理採用請求調頁或預調頁技術實現了內外存存儲器的統一管理。
它分為
1 靜態頁式管理。靜態分頁管理的第一步是為要求內存的作業或進程分配足夠的頁面。系統通過存儲頁面表、請求表以及頁表來完成內存的分配工作。靜態頁式管理解決了分區管理時的碎片問題。但是,由於靜態頁式管理要求進程或作業在執行前全部裝入內存,如果可用頁面數小於用戶要求時,該作業或進程只好等待。而且作業和進程的大小仍受內存可用頁面數的限制。
2 動態頁式管理。動態頁式管理是在靜態頁式管理的基礎上發展起來的。它分為請求頁式管理和預調入頁式管理。
優點: 沒有外碎片,每個內碎片不超過頁大小。一個程序不必連續存放。便於改變程序佔用空間的大小(主要指隨著程序運行而動態生成的數據增多,要求地址空間相應增長,通常由系統調用完成而不是操作系統自動完成)。
缺點:程序全部裝入內存。
要求有相應的硬體支持。例如地址變換機構,缺頁中斷的產生和選擇淘汰頁面等都要求有相應的硬體支持。這增加了機器成本。增加了系統開銷,例如缺頁中斷處理機,請求調頁的演算法如選擇不當,有可能產生抖動現象。 雖然消除了碎片,但每個作業或進程的最後一頁內總有一部分空間得不到利用果頁面較大,則這一部分的損失仍然較大。
二 段式管理的基本思想
把程序按內容或過程(函數)關系分成段,每段有自己的名字。一個用戶作業或進程所包含的段對應一個二維線形虛擬空間,也就是一個二維虛擬存儲器。段式管理程序以段為單位分配內存,然後通過地址影射機構把段式虛擬地址轉換為實際內存物理地址。
程序通過分段(segmentation)劃分為多個模塊,如代碼段、數據段、共享段。其優點是: 可以分別編寫和編譯。 可以針對不同類型的段採取不同的保護。 可以按段為單位來進行共享,包括通過動態鏈接進行代碼共享。
三 段頁式管理的實現原理
1 虛地址的構成
一個進程中所包含的具有獨立邏輯功能的程序或數據仍被劃分為段,並有各自的段號s。這反映相繼承了段式管理的特徵。其次,對於段s中的程序或數據,則按照一定的大小將其劃分為不同的頁。和頁式系統一樣,最後不足一頁的部分仍佔一頁。這反映了段頁式管理中的頁式特徵。從而,段頁式管理時的進程的虛擬地址空間中的虛擬地址由三部分組成:即段號s,頁號P和頁內相對地址d。虛擬空間的最小單位是頁而不是段,從而內存可用區也就被劃分成為著干個大小相等的頁面,且每段所擁有的程序和數據在內存中可以分開存放。分段的大小也不再受內存可用區的限制。
2 段表和頁表
為了實現段頁式管理,系統必須為每個作業或進程建立一張段表以管理內存分配與釋放、缺段處理、存儲保護相地址變換等。另外,由於一個段又被劃分成了若干頁,每個段又必須建立一張頁表以把段中的虛頁變換成內存中的實際頁面。顯然,與頁式管理時相同,頁表中也要有相應的實現缺頁中斷處理和頁面保護等功能的表項。另外,由於在段頁式管理中,頁表不再是屬於進程而是屬於某個段,因此,段表中應有專項指出該段所對應頁表的頁表始址和頁表長度。
3 動態地址變換過程
在一般使用段頁式存儲管理方式的計算機系統中,都在內存中辟出一塊固定的區域存放進程的段表和頁表。因此,在段頁式管理系統中,要對內存中指令或數據進行一次存取的話,至少需要訪問三次以上的內存:
第一次是由段表地址寄存器得段表始址後訪問段表,由此取出對應段的頁表在內存中的地址。
第二次則是訪問頁表得到所要訪問的物理地址。
第三次才能訪問真正需要訪問的物理單元。
顯然,這將使CPU的執行指令速度大大降低。為了提高地址轉換速度,設置快速聯想寄存器就顯得比段式管理或頁式管理時更加需要。在快速聯想寄存器中,存放當前最常用的段號s、頁號p和對應的內存頁面與其它控制用欄目。當要訪問內存空間某一單元時,可在通過段表、頁表進行內存地址查找的同時,根據快速聯想寄存器查找其段號和頁號。如果所要訪問的段或頁在快速聯想寄存器中,則系統不再訪問內存中的段表、頁表而直接把快速聯想寄存器中的值與頁內相對地址d拼接起來得到內存地址。
總之,因為段頁式管理是段式管理的頁式管理方案結合而成的,所以具有它們二者的優點。但反過來說,由於管理軟體的增加,復雜性和開銷也就隨之增加了。另外,需要的硬體以及佔用的內存也有所增加。更重要的是,如果不採用聯想寄存器的方式提高CPU的訪內速度,將會使得執行速度大大下降。
D. 什麼是段式管理它與頁式管理有何區別
段式管理是指把一個程序分成若干個段進行存儲,每個段都是一個邏輯實體,程序員需要知道並使用它。它的產生是與程序的模塊化直接有關的。段式管理是通過段表進行的,它包括段號或段名、段起點、裝入位、段的長度等。此外還需要主存佔用區域表、主存可用區域表。
頁式管理是將各進程的虛擬空間劃分成若干個長度相等的頁,頁式管理把內頁的劃分
存空間按頁的大小劃分成片或者頁面,然後把頁式虛擬地址與內存地址建立一一對應頁表,並用相應的硬體地址變換機構,來解決離散地址變換問題。頁式管理採用請求調頁或預調頁技術實現了內外存存儲器的統一管理。
E. 幫幫我 頁式存儲和段式存儲的定義和為什麼要這些功能
頁式存儲分配
頁式存儲分配是基於這樣一種概念,把到來的作業分成相等大小的頁。一些操作系統選擇頁的大小,是根據存儲塊的大小和作業所存儲的磁碟的一些區域的大小來分配的,一般它們是相等的。
磁碟上的一些區域叫做扇區(或者有時候叫塊),主存中的這些區域叫做頁面。當頁面、扇區和主存中的頁面都一樣大小的時候,上述策略可以很有效的工作。頁面的精確大小(每個頁面所存儲的位元組數)通常由磁碟扇區的大小來決定。所以,一個扇區將保存一頁作業指令,和內存的一個頁面相匹配。
在執行一個程序之前,內存管理器需要的准備工作:
1. 確定程序的頁數
2. 在主存中留出足夠的空閑頁面
3. 將程序的所有頁面載入主存里。(靜態的分頁,頁面無需連續)
當程序准備好載入,其頁面是一個邏輯序列——第一頁保存了程序的第一部分指令,最後一頁是最後的一部分指令。為此我們可以假設程序的指令是一行一行的代碼,也可以想像成是一些位元組。
載入的過程和我們在第二章所學習到的策略是不同的,這是因為頁面不用保存在相鄰的存儲塊。實際上,每一頁可以保存在主存頁面的任何有效的位置(Madnick& Donovan,1974)。
不連續存儲方法的首要優點是主存可以更有效的使用,因為一個空閑頁面可以被任何作業的任何頁使用。另外,用於重新定位的壓縮策略可以被消除了,因為頁面之間沒有外部碎片了。(在很多頁中也沒有內部碎片)
然而,新的方法會帶來新的問題。因為一個作業的頁可以保存在主存的任何位置,內存管理需要一個機制來保存它們的情況——這意味著必須增加操作系統軟體的大小和復雜度,也就是增加了開支。
段式存儲分配
分段的概念是建立在最通常被程序員結構化他們的程序所用的模塊的基礎上的——邏輯上的一組代碼。用段式存儲分配方法,每一個作業被分為很多個不同尺寸的段,每一個模塊都包含很多相關的功能。一個子分支程序就是這樣一個邏輯組的例子。這是和分頁策略的本質上的不同,分頁策略把作業分成了很多頁,都是一樣的尺寸,都包含了程序模塊的一些部分。
第二個重要的不同是主存不需要再分成頁面了,因為每個段的大小都不一樣——有的大,有的小。所以,和第二章中討論的動態分區一樣,內存也是動態模式下分配的。
當一個程序被編譯後,段就根據程序的結構模塊所建立起來。每一個段都編了號並且生成了一個段映射表(SMT);它包含了段序號,它的長度,訪問許可權,狀態和(如果在內存中)內存中的位置。圖3-11和圖3-12給出了同一個作業,作業1,有一個主程序和兩個分支程序組成,還有它的段映射表和實際的主存分配。
就像請求頁式一樣,引用,分段里也使用頁修改和狀態位,但是圖3-11和圖3-12沒有給出。
內存管理器需要跟蹤段在內存中的情況。這是通過將動態分區和請求頁式存儲管理都有的3個表格的合並來實現的:
1. 作業表,列出了處理的每一個作業(整個系統一個表)
2. 段映射表列出了每個段的具體情況(每個作業一個表)
3. 內存映射表監視了主存的分配情況(整個系統一個表)
就像請求頁式,每個段中的指令順序排列,但是在內存中段不用連續存儲。我們只要知道每個段保存在哪裡了。每一個段里的內容是連續的。
http://teach.ycit.cn:8070/kj/jsj/jsjczxt/main/study/xx/kcxx-3-4.htm
http://teach.ycit.cn:8070/kj/jsj/jsjczxt/main/study/xx/kcxx-3-1.htm
上面有更為詳細的解釋和圖例
F. 段式和頁式存儲管理的地址結構很類似,但是它們之間有實質上的不同,表現為 ( )
正確答案是BD,各頁可以分散存放在主存,每段必須佔用連續的主存空間,選項A不正確:分頁和分段者是操作系統確定和進行的,選項C也不正確;頁式和段式都是採用動態重定位方式,選項E也不正確。
G. 頁式存儲管理和段式存儲管理的區別是什麼
內存管理主要包括內存分配和回收、地址變換、內存擴充、內存共享和保護等功能。
下面主要介紹連續分配存儲管理、覆蓋與交換技術以及頁式與段式存儲管理等基本概念和原理。
1.連續分配存儲管理方式
連續分配是指為一個用戶程序分配連續的內存空間。連續分配有單一連續存儲管理和分區式儲管理兩種方式。
(1)單一連續存儲管理
在這種管理方式 中,內存被分為兩個區域:系統區和用戶區。應用程序裝入到用戶區,可使用用戶區全部空間。其特點是,最簡單,適用於單用戶、單任務的操作系統。CP/M和 DOS 2.0以下就是採用此種方式。這種方式的最
H. 頁式存儲管理和段式存儲管理的區別
段式與頁式存儲管理的比較如下表所示。
段式
頁式
分段由用戶設計劃分,每段對應一個相應的的程序模塊,有完整的邏輯意義。
分頁用戶看不見,由操作系統為內存管理劃分。
段面是信息的邏輯單位
頁面是信息的物理單位
便於段的共享,執行時按需動態鏈接裝入。
頁一般不能共享
段長不等,可動態增長,有利於新數據增長。
頁面大小相同,位置不能動態增長。
二維地址空間:段名、段中地址;段號、段內單元號
一維地址空間
管理形式上象頁式,但概念不同
往往需要多次缺頁中斷才能把所需信息完整地調入內存
實現頁(段)的共享是指某些作業的邏輯頁號(段號)對應同一物理頁號(內存中該段的起始地址)。頁(段)的保護往往需要對共享的頁面(段)加上某種訪問許可權的限制,如不能修改等;或設置地址越界檢查,對於頁內地址(段內地址)大於頁長(段長)的存取,產生保護中斷。
I. 分頁式存儲管理與分段式管理的主要區別是什麼
頁和分段系統有許多相似之處,但在概念上兩者完全不同,主要表現在:
1、頁是信息的物理單位,分頁是為實現離散分配方式,以消減內存的外零頭,提高內存的利用率;或者說,分頁僅僅是由於系統管理的需要,而不是用戶的需要。
段是信息的邏輯單位,它含有一組其意義相對完整的信息。分段的目的是為了能更好的滿足用戶的需要。
2、頁的大小固定且由系統確定,把邏輯地址劃分為頁號和頁內地址兩部分,是由機器硬體實現的,因而一個系統只能有一種大小的頁面。
段的長度卻不固定,決定於用戶所編寫的程序,通常由編輯程序在對源程序進行編輯時,根據信息的性質來劃分。
3、分頁的作業地址空間是維一的,即單一的線性空間,程序員只須利用一個記憶符,即可表示一地址。
分段的作業地址空間是二維的,程序員在標識一個地址時,既需給出段名,又需給出段內地址。
J. 為什麼說頁式存儲地址是一維的,而段式存儲是二維的
頁式存儲地址 只需一個標識符即可表示一地址 所以是一維
而段式除了要求找段號,還需找其在該段號內的段內地址 所以是二維