存儲(chǔ)器的結(jié)構(gòu)
存儲(chǔ)器的功能是保存數(shù)據(jù),它的發(fā)展方向是高速、大容量、小體積,而存儲(chǔ)器的結(jié)構(gòu)有“寄存器-主存-外存”、“寄存器-緩存-主存-外存”兩種結(jié)構(gòu)。存儲(chǔ)組織的功能是在存儲(chǔ)技術(shù)和CPU尋址技術(shù)許可的范圍內(nèi)組織合理的存儲(chǔ)結(jié)構(gòu),使得各層次的存儲(chǔ)器都處于均衡的繁忙狀態(tài)。
虛擬地址
對(duì)程序員而言,數(shù)據(jù)的存放地址是由符號(hào)決定的,將源程序的地址空間稱之為符號(hào)名稱地址空間。它從0號(hào)大院開(kāi)始編址并且順序的分配所有的符號(hào)名所對(duì)應(yīng)的地址單元,所以它不是主存的真實(shí)地址,這個(gè)地址就被稱為虛擬地址。
地址空間
將程序中由符號(hào)名稱組成的空間稱之為名空間,源程序經(jīng)過(guò)匯編或者編譯之后再經(jīng)過(guò)鏈接編譯程序加工形成程序的配置模塊,它以0為基礎(chǔ)順序進(jìn)行編址。相對(duì)地址也叫做邏輯地址,將程序中由相對(duì)地址組成的控件稱之為邏輯地址空間。
存儲(chǔ)空間
邏輯地址空間是邏輯地址的集合,物理地址空間是物理地址的集合。
存儲(chǔ)管理方案
存儲(chǔ)管理主要目的是解決多個(gè)用戶使用內(nèi)存的問(wèn)題,而存儲(chǔ)管理方案有分區(qū)存儲(chǔ)管理、分頁(yè)存儲(chǔ)管理、分段存儲(chǔ)管理、段頁(yè)式存儲(chǔ)管理以及虛擬存儲(chǔ)管理,下邊我們就來(lái)介紹下這些存儲(chǔ)管理方案。
分區(qū)存儲(chǔ)管理
這是早期的存儲(chǔ)管理方案,它的基本思想是將內(nèi)存的用戶劃分為若干區(qū)域,每個(gè)區(qū)域分配給一個(gè)用戶作業(yè)使用,并限定它們只能在自己的區(qū)域中運(yùn)行,這種主存分配方案就是分區(qū)存儲(chǔ)管理方案,按照劃分方式不同,有固定劃分、可變分區(qū)以及可重定位分區(qū),下邊我們就來(lái)介紹下這些內(nèi)容。
固定劃分
它是一種靜態(tài)分區(qū)方式,在系統(tǒng)生成時(shí)就已經(jīng)將內(nèi)存劃分為若干個(gè)分區(qū),每個(gè)分區(qū)的大小不等。操作系統(tǒng)通過(guò)內(nèi)存分配情況表管理內(nèi)存,這種方式突出的問(wèn)題就是已分配區(qū)中存在未用空間,原因是程序或作業(yè)的大小不可能剛好等于分區(qū)的大小,造成了空間的浪費(fèi)。
可變分區(qū)
這是一種動(dòng)態(tài)的分區(qū)方式,存儲(chǔ)空間的劃分是在作業(yè)裝入時(shí)進(jìn)行,所以分區(qū)的個(gè)數(shù)是可變的,分區(qū)的大小剛好等于作業(yè)的大小??勺兎謪^(qū)的分配需要兩種管理表格,其中已分配的表記錄已分配分區(qū)的情況,未分配表記錄未分配分區(qū)的情況。
可重定位分區(qū)
這是一種解決碎片問(wèn)題的簡(jiǎn)單而且行之有效的辦法,它的基本思想是移動(dòng)所有已分配好的分區(qū),稱之為連續(xù)分區(qū)。
分頁(yè)存儲(chǔ)管理
分區(qū)管理方案是共享內(nèi)存的可行方案,但是這個(gè)方案的問(wèn)題在于用戶程序必須裝入連續(xù)的地址空間中,如果沒(méi)有滿足用戶要求的連續(xù)空間,需要進(jìn)行分區(qū)靠攏操作,正因?yàn)槿绱瞬乓敕猪?yè)存儲(chǔ)管理方案。那么這個(gè)分頁(yè)的原理是什么呢?
分頁(yè)實(shí)現(xiàn)的原理就是將進(jìn)程的地址空間劃分為若干大小相等的區(qū)域,這個(gè)區(qū)域稱之為頁(yè);相應(yīng)的將內(nèi)存空間劃分為和頁(yè)相同大小的若干物理塊,稱之為塊或者頁(yè)框。在為進(jìn)程分配內(nèi)存時(shí),將進(jìn)程中若干頁(yè)分別轉(zhuǎn)入多個(gè)不相鄰的塊中。
分段存儲(chǔ)管理 這種管理方式中作業(yè)的地址空間劃分為若干段,每個(gè)段是一組完整的邏輯信息,在這個(gè)管理系統(tǒng)中,為每個(gè)段分配一個(gè)連續(xù)的分區(qū),而進(jìn)程中的各個(gè)端可以離散的分配到內(nèi)存的不同分區(qū)中。在系統(tǒng)中為每個(gè)進(jìn)程建立一張段映射表,簡(jiǎn)稱段表。每個(gè)段在表中占有一個(gè)表項(xiàng),在其中記錄了該段在內(nèi)存中的起始地址和段的長(zhǎng)度。
段頁(yè)式存儲(chǔ)管理 分頁(yè)和分段存儲(chǔ)管理方式各有優(yōu)缺。因?yàn)榉猪?yè)的過(guò)程是由操作系統(tǒng)完成的,對(duì)用戶是透明的,所以用戶不必關(guān)系分頁(yè)的過(guò)程,它的缺點(diǎn)是不容易實(shí)現(xiàn)共享。段是信息的邏輯單位,它的優(yōu)點(diǎn)是抑郁實(shí)現(xiàn)段的共享,即允許若干個(gè)進(jìn)程共享一個(gè)或者多個(gè)段,而且對(duì)段的保護(hù)也十分簡(jiǎn)單。這種系統(tǒng)即具有分頁(yè)系統(tǒng)可以有效的提高主存利用率的優(yōu)點(diǎn),又具有分段系統(tǒng)很好的滿足用戶需要的長(zhǎng)處,顯然是一種比較有效的存儲(chǔ)管理方式。
段頁(yè)式系統(tǒng)的基本原理是先將整個(gè)主存劃分為大小相等的存儲(chǔ)塊,將用戶程序按程序的邏輯關(guān)系分為若干段,并為每個(gè)段賦予一個(gè)段名,再將每個(gè)段劃分為若干頁(yè),以頁(yè)框?yàn)閱挝浑x散分配。
虛擬存儲(chǔ)管理 虛擬存儲(chǔ)器是為了擴(kuò)大主存容量而采取的一種設(shè)計(jì)方法,其容量是由計(jì)算機(jī)的地址結(jié)構(gòu)決定的。虛擬存儲(chǔ)是具有請(qǐng)求調(diào)入功能和置換功能,可以把作業(yè)的一部分裝入主存便可運(yùn)行作業(yè)的存儲(chǔ)器系統(tǒng),能從邏輯上對(duì)主存容量進(jìn)行擴(kuò)充的一種虛擬的存儲(chǔ)器系統(tǒng)。其邏輯容量由主存和外存容量之和以及CPU可尋址的范圍來(lái)決定,它的運(yùn)行速度接近于主存速度,成本也下降。
分享到微信 ×
打開(kāi)微信,點(diǎn)擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁(yè)分享至朋友圈。