當前位置:首頁 » 服務存儲 » 分頁存儲系統頁號
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

分頁存儲系統頁號

發布時間: 2023-05-13 09:28:59

㈠ 操作系統,頁號,頁面號和塊號怎麼區別 頁面號是不是就是塊號

1、頁和塊的對象不同:頁是對邏輯地址進行分頁存儲,塊是對實際地址進行分塊存儲。

2、頁號是虛擬地址的劃分,敬巧指向程序中的某一頁,每個頁號對應一個亮嘩鍵頁面號。

3、塊號是實際地址的劃分,指向內存空間中某一個物理塊。

4、頁面號不是塊號。



(1)分頁存儲系統頁號擴展閱讀

分頁存儲

1、分頁存儲管理是將一個進程的邏輯地址空間分成若干個大小相等的片,稱為頁面或頁,並為各頁加以編號,從0開始,如第0頁、第1頁等。

2、相應地,也把內存空間分成與頁面相同大小的若干個存儲塊,稱為(物理)塊或頁框(frame),也同樣為它們加以編號,如0#塊、1#塊等等。

3、在為進程分配內存時,以塊為單位將進程中的若干個頁分別裝入到多個可以不相鄰接的物理塊中。由於進程的最後一頁經常裝不滿一塊而形成了不可利用的碎片,稱之為「頁內碎片」。

分段存儲

1、在分段存儲管理方式中,作業的地址空間被劃分為若干個段,每個段定義了一組邏輯信息。例如,有主程序段MAIN、子程序段X、數據段D及棧段S等。

2、每個段都有自己的名字。為了實現簡單起見,通常可用一個段號來代替段名,每個段都從0開始編址,並採用一段連續的地址空間。

3、段的長度由相應的邏輯信息組的長度決定,因而各段長度不等。整個作業的地址空間由於是分成多個段,因而是二維的,亦即,其邏輯地址由段號(段名)和段內地址所組成。

參考蘆培文獻:網路-存儲管理



㈡ 請教下,操作系統里分頁存儲的頁框和頁號有什麼區別啊

假設你要運行一個4MB的游戲,為了方便易懂,不妨把這個游戲叫做掃雷。

現在是2021年,早已是大內存時代,16GB的內存已經司空見慣。

但是現在我們假設我們的內存並不大,只有16MB。

你的游戲本來存儲在硬碟中,操作系統劃分了一部分硬碟中的區域,假設是16MB,和內存構成了一個看起來比較大的存儲器,總共32MB。

但其實你沒這么大的空間。

操作系統按照事先定好的頁面大小(這里假設是1MB)把你的游戲分割成了4MB/1MB=4頁。

未調入內存中運行,在虛擬存儲系統中,你總共有4頁,這4頁,就叫頁號。

操作系統把真正的內存空間,16MB,也按頁劃分,總共有16頁,現在可以分給你的掃雷用的,有2頁。

你的掃雷運行時,並不是時時刻刻都需要4MB的完整數據,假如你正在玩第一關,你就只需要前面的數據。

按照這樣的思想,就可以先調入你剛剛分好的4頁中的前2頁,進入內存,這樣你的掃雷就可以跑了,也不需要佔據太多空間,導致別的程序用不了。

而被調入的2頁,佔了真正內存中的2頁,內存中的頁,就叫頁框。

當你需要用到本來4頁中的第2頁中的某個數據時,他已經在內存中了,你可以隨時用。

但如果你要用第3頁的里的某個數據,他不在內存,只能先從硬碟中調入第3頁到內存中分配給你的2個頁框中的某一個,再訪問這個數據。

這個就叫缺頁

為了區分說的頁是內存中的頁,還是虛擬存儲系統中的頁,就有了兩個叫法。


那為什麼要這么干呢?因為你需要同時做很多事情。

你需要玩掃雷,還要掛著迅雷,同時上著QQ聊天,可能還用著網易雲聽歌。

如果掃雷、迅雷、QQ、網易雲全部調入主存,很多數據是用不著的。

比如你在玩掃雷第三關,你並不需要第一關的數據。

那全都調入,就很浪費內存。需要調入,不需要調出,這樣,你的程序能跑,而且還能跑很多個。

你的存儲器看起來比原來大了,因為你本來的內存是無法同時跑這4個程序,現在靠著這個假的存儲器就可以了,這個所謂假的存儲器就叫虛擬存儲器

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

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

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

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

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

補充

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

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

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

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

㈣ 基本分頁存儲管理

假設是按位元組編址

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

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

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

頁框/頁幀:內存空間分成的一個個大小相等的分區(比如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,第一次訪存是訪問內存中的頁目錄表,第二次訪存是訪問內存中的二級頁表,第三次訪存是訪問目標內存單元

㈤ 分頁式存儲器的地址分成頁號和頁內地址兩部分,但它仍是線性地址.為什麼

分頁式存儲管理的基本原理:採用分頁存儲器允許把一個作業存放到若干不相鄰的分區中,既可免去移動信息的工作,又可盡量減少主存的碎片。分頁式存儲管理的基本原理如下: 1、 頁框:物理地址分成大小相等的許多區,每個區稱為一塊