四、頁式存儲管理( 領(lǐng)會 )
1、如何分頁和分塊
頁式存儲管理中有兩個(gè)名詞:“ 頁 ”和“ 塊 ”,其中的“塊”是針對硬件來說的,就是把存儲器分成若干相等大小的區(qū),每個(gè)區(qū)就稱為一個(gè)塊。對應(yīng)的,在程序中,邏輯地址進(jìn)行“分頁”,其大小和每個(gè)塊相一致。
事實(shí)上,頁面的大小是由塊的大小自然決定的。對于程序來說,其邏輯地址還是和原來一樣采用連續(xù)的地址。只是 按照塊的位數(shù)取其前面數(shù)位做為頁號 .
分配空間時(shí),根據(jù)作業(yè)長度可以確定它的頁面數(shù),根據(jù)這個(gè)頁面數(shù)在主存中分配相應(yīng)的塊數(shù),只要是空閑塊就可以放入,即使不是相鄰的。并把分配情況記在“頁表”中,根據(jù)頁表可以找到相對應(yīng)的頁號與塊號,就得出絕對地址了。
2、采用頁式管理,使主存空間充分利用,頁不必為了得到連續(xù)空間而進(jìn)行移動。 可以提高系統(tǒng)效率。
3、頁表的構(gòu)造與作用
每個(gè)被裝入主存的作業(yè)都有一張 頁表 ,指出該作業(yè)邏輯地址中的頁號與所占用的主存塊號之間的對應(yīng)關(guān)系。頁表的長度由作頁擁有的頁面數(shù)決定,行號對應(yīng)為頁號,行中記錄的是主存中的塊號。
頁表是硬件進(jìn)行地址轉(zhuǎn)換的依據(jù),每執(zhí)行一條指令時(shí)按邏輯地址中的頁號查找頁表并轉(zhuǎn)換成絕對地址。
在多道程序設(shè)計(jì)系統(tǒng)中,進(jìn)入主存的每個(gè)作業(yè)都有一張頁表,由一個(gè)硬件“頁表控制寄存器”來記錄每個(gè)作業(yè)的頁表所在位置和長度以便作業(yè)轉(zhuǎn)換時(shí)同時(shí)轉(zhuǎn)換頁表。
4、快表的構(gòu)造與作用
快表 就是頁表的一部分克隆,每行中有頁號及其對應(yīng)的塊號,整個(gè)快表存放在一個(gè)小容量的高速緩存中,訪問時(shí)快表和內(nèi)存同時(shí)進(jìn)行查找,因?yàn)榭毂硭俣群芸,而常用的頁都登記在快表中,因此可以大大加快?zhí)行速度。
5、采用頁式管理的地址轉(zhuǎn)換過程
(為什么不直接用塊分配表來記錄而要用位示圖呢,因?yàn)橹鞔鎵K很多,這樣可以節(jié)省空間,提高效率。位示圖就是用一個(gè)位(0或1)來表示一個(gè)塊的使用狀態(tài),一個(gè)字32位,可以表示32塊。按順序排列,只需一小段內(nèi)存就可以記錄主存中大量的塊狀態(tài))
6、利用位示圖實(shí)現(xiàn)頁式存儲空間的分配和回收
頁式存儲管理把主存空間分成大小固定的許多塊,在裝業(yè)作業(yè)時(shí),如何知道主存中哪些塊已使用,哪些還未用,可以用位示圖來表示。
塊號=字號×字長+位號
字號=[i/字長](即塊號i除以字長取整)
位號=i mod 字長(即塊號i除以字長取余)。
五、段式存儲管理( 領(lǐng)會 )
1、段式存儲中段的劃分
段式管理 是根據(jù)人們對 程序 中需要 分段編制 的要求出發(fā)而提供的。它提供給用戶編程時(shí)使用的邏輯地址由“段號”和“段內(nèi)地址”兩部分組成,其形式和頁式管理相同。但是實(shí)際上是不同的:
頁式存儲管理提供連續(xù)邏輯地址由系統(tǒng)自動分頁,段式存儲管理中的作業(yè)分段是由用戶決定的,每段獨(dú)立編程,因此段間的邏輯地址是不連續(xù)的。
2、段式存儲空間的分配
這種分配方法和可變分區(qū)管理方式的分配方法相同,所不同的是:
可變分區(qū)管理方式中是為每個(gè)作業(yè)分一個(gè)區(qū),而段式管理是為一個(gè)作業(yè)中的每個(gè)段分一個(gè)連續(xù)的空間。(段式管理更細(xì))。
3、段表的構(gòu)造與作用
段表 由 段號 、 本段限長 和 起始地址 三部分組成,由于每一行記錄的行號可以對應(yīng)程序的段號,因此段號實(shí)際上被省略,不占存儲空間。
與其他管理方式一樣,段表記錄的信息用于地址轉(zhuǎn)換和存儲保護(hù)。段表的表目起到了基址/限長寄存器的作用。
相關(guān)推薦:2010年自考數(shù)據(jù)庫及其應(yīng)用重點(diǎn)知識講解匯總