當前位置:首頁 » 存儲配置 » 分頁存儲管理邏輯地址

分頁存儲管理邏輯地址

發布時間: 2023-11-17 21:34:55

A. 某分頁儲存管理系統中,邏輯地址的長度為16位,物理地址20位。

邏輯地址0AF6Ah,根據頁面大小16kB,可知頁面內地址為2F6Ah,頁面編號為10即第2頁,對應於第15物理塊。
因此物理地址為4000h×0Fh + 2F6Ah = 3C000h + 2F6Ah = 3EF6Ah

網路嫌我字數不夠

B. (存儲管理)01.分頁式存儲管理

將內存劃分為若干個大小相等的分區,叫做塊;將邏輯空間劃分出與塊大小一致的分區,叫做頁。作業運行時,通過地址重定位技術,實現頁與塊的對應。這樣就以頁的方式來管理存儲塊,就叫分頁式存儲管理。

在分配存儲塊時,會根據作業的邏輯地址的大小計算所需要多少個存儲塊,然後查找空閑塊並更新空閑塊的狀態為佔用;回收存儲塊時,會將作業關聯的所有空閑塊的狀態設置為空閑。記錄空閑塊狀態的方法有兩種:點陣圖法和鏈表法。

在分配存儲塊之後,就在頁表中,增加頁和塊對應關系的記錄;同理,回收存儲塊時,就會刪除對應記錄。

訪問存儲塊時,就會根據邏輯地址的頁號,在頁表找到對應的塊號,然後再通過塊號計算出物理地址,找到對應的存儲塊。如下圖:

補充

頁表:記錄頁號與塊號對應關系的表,包含頁號和塊號兩個欄位。

邏輯地址:由 「頁號」 和 「頁內地址」 組成。其中頁內地址是通過頁大小來決定。

例如:邏輯地址長度為 16 位,頁大小是 1kb (二的十次冪),那麼頁內地址占低十位,高六位是頁號。如下:

在重定位存儲塊時,需要訪問頁表。為了加快重定位,就會通過快表(聯想存儲器,記錄常用的頁號和塊號的對應關系)來快速通過頁號找到對應的塊號。但是如果不能通過快表找到對應的塊號,那麼就會按照查找頁表的方式來完成重定位。

C. 頁儲存管理中,已知一個邏輯地址長度為16位,頁面大小為4096B,地址為2F6AH,怎麼知道這個地址的頁號啊

頁面大小4096B,那頁內需要12位才能表示,邏輯地址16位,也就是4位頁地址加12位頁內偏移地址組成,那16位邏輯地址中前面的4位就是頁號。
想要求出物理地址,那還需要頁表,根據頁號查找對應的頁表,頁表存放是的頁號對應的物理頁地址,物理地址就是物理頁地址加上頁內偏移。

D. 分頁存儲管理的實現原理

採用分頁存儲器允許把一個作業存放到若干不相鄰的分區中,既可免去移動信息的工作,又可盡量減少主存的碎片。分頁式存儲管理的基本原理如下:

1、 頁框:物理地址分成大小相等的許多區,每個區稱為一塊;
2、址分成大小相等的區,區的大小與塊的大小相等,每個稱一個頁面。
3、 邏輯地址形式:與此對應,分頁存儲器的邏輯地址由兩部分組成,頁號和單元號。邏輯地址格式為 頁號 單元號(頁內地址) 採用分頁式存儲管理時,邏輯地址是連續的。所以,用戶在編製程序時仍只須使用順序的地址,而不必考慮如何去分頁。

4、頁表和地址轉換:如何保證程序正確執行呢?
採用的辦法是動態重定位技術,讓程序的指令執行時作地址變換,由於程序段以頁為單位,所以,我們給每個頁設立一個重定位寄存器,這些重定位寄存器的集合便稱頁表。頁表是操作系統為每個用戶作業建立的,用來記錄程序頁面和主存對應頁框的對照表,頁表中的每一欄指明了程序中的一個頁面和分得的頁框的對應關系。絕對地址=塊號*塊長+單元號 以上從拓撲結構角度分析了對稱式與非對稱式虛擬存儲方案的異同,實際從虛擬化存儲的實現原理來講也有兩種方式;即數據塊虛擬與虛擬文件系統. 數據塊虛擬存儲方案著重解決數據傳輸過程中的沖突和延時問題.在多交換機組成的大型Fabric結構的SAN中,由於多台主機通過多個交換機埠訪問存儲設備,延時和數據塊沖突問題非常嚴重.數據塊虛擬存儲方案利用虛擬的多埠並行技術,為多台客戶機提供了極高的帶寬,最大限度上減少了延時與沖突的發生,在實際應用中,數據塊虛擬存儲方案以對稱式拓撲結構為表現形式. 虛擬文件系統存儲方案著重解決大規模網路中文件共享的安全機制問題.通過對不同的站點指定不同的訪問許可權,保證網路文件的安全.在實際應用中,虛擬文件系統存儲方案以非對稱式拓撲結構為表現形式. 虛擬存儲技術,實際上是虛擬存儲技術的一個方面,特指以CPU時間和外存空間換取昂貴內存空間的操作系統中的資源轉換技術 基本思想:程序,數據,堆棧的大小可以超過內存的大小,操作系統把程序當前使用的部分保留在內存,而把其他部分保存在磁碟上,並在需要時在內存和磁碟之間動態交換,虛擬存儲器支持多道程序設計技術 目的:提高內存利用率 管理方式
A 請求式分頁存儲管理 在進程開始運行之前,不是裝入全部頁面,而是裝入一個或零個頁面,之後根據進程運行的需要,動態裝入其他頁面;當內存空間已滿,而又需要裝入新的頁面時,則根據某種演算法淘汰某個頁面,以便裝入新的頁面

B 請求式分段存儲管理 為了能實現虛擬存儲,段式邏輯地址空間中的程序段在運行時並不全部裝入內存,而是如同請求式分頁存儲管理,首先調入一個或若干個程序段運行,在運行過程中調用到哪段時,就根據該段長度在內存分配一個連續的分區給它使用.若內存中沒有足夠大的空閑分區,則考慮進行段的緊湊或將某段或某些段淘汰出去,這種存儲管理技術稱為請求式分段存儲管理

E. 基本分頁存儲管理

假設是按位元組編址

考慮支持多道程序的兩種連續分配方式

原因:連續分配要求進程佔有的必須是一塊連續的內存區域
能否講一個進程分散地裝入到許多不相鄰的分區,便可充分利用內存

基本分頁存儲管理的思想:把內存分為一個個相等的小分區,再按照分區大小把進程拆分成一個個小部分

頁框/頁幀:內存空間分成的一個個大小相等的分區(比如4KB)
頁框號:頁框的編號,從0開始,從低地址開始

頁/頁面:用戶進程的地址空間分為和頁框大小相等的一個個區域
頁號梁李彎:頁/頁面的編號,從0開始

進程的最後一個頁面可能沒有一個頁框那麼大,頁框不能太大,否則可能產生過大的內部碎片

操作系統以頁框為單位為各個進程分配內存空間。進程的每個頁面分別放入一個頁框中,也就是說,進程的頁面與內存的頁框有一一對應的關系
每個頁面不必連續存放,也不必按照先後順序,可以放到不相鄰的各個頁框中

進程在內存中連續存放時,通過動態重定位實現邏輯地址到物理地址的轉換。在裝入模塊之後,內存中指令使用的依然是邏輯地擾早址,直到指令執行的時候才會進行地址轉換。系統會設置一個重定位寄存器,用來存放裝入模塊存放的起始位置,重定位寄存器橡悶中的值加上邏輯地址就是該邏輯地址實際對應的物理地址

如果採用分頁技術

頁框大小為4KB,地址空間為4GB的系統
頁號為前20位,頁內偏移量為後12位

頁表:為了能知道進程的每個頁面在內存中存放的位置,操作系統要為每個進程建立一張頁表

一個進程對應一張頁表
進程的每一頁對應一個頁表項
每個頁表項由頁號和頁框號組成
頁表記錄進程頁面和實際存放的頁框之間的對應關系

每個頁表項的長度是相同的,頁號是隱含的
各頁表項會按順序連續存放在內存中,如果該頁表在內存中的起始地址是X,4GB/4KB系統的頁框有

用於實現邏輯地址到物理地址轉換的一組硬體機構

通常會在系統中設置一個頁表寄存器(PTR),存放頁表在內存中的起始地址F和頁表長度M(M個頁表項)
進程未執行時,頁表的起始地址和頁表長度放在進程式控制制塊(PCB)中,當進程被調度時,操作系統內核會把他們放到頁表寄存器中

基本分頁存儲管理中地址是一維的,即只要給出一個邏輯地址,系統就可以自動計算出頁號、偏移量,不需要顯式告訴系統偏移量是多少

理論上,頁表項長度為3即可表示內存塊號的范圍,但是為了方便頁表查詢,會讓頁面恰好能裝得下整數個頁表項,令每個頁表項佔4位元組
4KB頁面,可以放4096/3 =1365個頁表項,有4096%3 =1B的碎片,訪問1365及之後的頁表項時,還要考慮前面的頁框中的碎片,才能得到頁表項的物理地址,比較麻煩

進程頁表通常存放在連續的頁框中,這樣就能用統一的計算方式得到想要得到的頁表項存儲的位置

地址變換過程中有兩次訪存操作:查詢頁表、訪問目標內存單元

局部性原理

如果這個程序將程序對應的指令存放在10號內存塊,將程序中定義的變數存放在23號內存塊,當這個程序執行時,會很頻繁地反問10、23號內存塊

時間局部性:如果執行了程序中的某條指令,那麼不久後這條指令很有可能被再次執行;如果某個數據被訪問過,不久之後該數據很有可能再次被訪問(因為程序存在大量循環)
空間局部性:一旦程序訪問了某個存儲單元,在不久之後,其附近的存儲單元也很有可能被訪問(因為很多數據在內存中連續存放)

基本地址變換機構中,每次要訪問一個邏輯地址,都要查詢頁表,由於局部性原理,可能連續多次查詢同一個頁表項

快表:又稱聯想寄存器(TLB),是一種訪問速度比內存塊很多的高速緩存,用來存放當前訪問的若干頁表項,以加速地址變換的過程。內存中的頁表常稱為慢表

引入快表後地址的變換過程

一般來說,快表的命中率可以達到90%以上

單級頁表存在的問題

對問題1

可將頁表進行分組,使每個內存塊剛好可以放入一個分組。為離散分配的頁表再建立一張頁表,稱為頁目錄表,或外層頁表
各級頁表的大小不能超過一個頁面

針對兩級頁表

對問題2

可以在需要訪問頁面時,才把頁面調入內存(虛擬存儲技術),可以在頁表項中增加一個標志位,用於表示該頁面是否已經調入內存
若想訪問的頁面不在內存中,會產生缺頁中斷(內中斷),然後將目標頁面從外存調入內存
之後的文章會有展開

兩級頁表訪存次數分析:如果沒有TLB,第一次訪存是訪問內存中的頁目錄表,第二次訪存是訪問內存中的二級頁表,第三次訪存是訪問目標內存單元

熱點內容
安卓數據線怎麼接藍牙 發布:2025-01-22 12:07:29 瀏覽:229
扣扣賬號多少次密碼不正確會被封 發布:2025-01-22 12:07:19 瀏覽:400
python是32位還是64位 發布:2025-01-22 11:51:41 瀏覽:894
鈴聲多多緩存文件夾 發布:2025-01-22 11:51:39 瀏覽:724
java按鍵精靈 發布:2025-01-22 11:49:31 瀏覽:81
python配色 發布:2025-01-22 11:46:40 瀏覽:613
安卓如何使用屏幕錄制 發布:2025-01-22 11:46:36 瀏覽:777
phpencoding 發布:2025-01-22 11:46:35 瀏覽:257
安卓235玩什麼 發布:2025-01-22 11:37:40 瀏覽:217
c語言計算個人所得稅 發布:2025-01-22 11:28:49 瀏覽:735