计算机系统基础:虚拟存储管理知识笔记
? ? ? ?? ? ??
1、虛擬存儲(chǔ)管理概念
一個(gè)計(jì)算機(jī)任務(wù)只需要部分裝入主存便可以啟動(dòng)運(yùn)行,其余部分留在磁盤(pán)上,在需要的時(shí)候裝入主存,這樣可以提高主存空間的利用率。這樣該系統(tǒng)所具有的主存容量會(huì)比實(shí)際主存容量大很多,這樣的存儲(chǔ)器稱(chēng)為虛擬存儲(chǔ)器。
2、程序局部性原理
程序在執(zhí)行時(shí)會(huì)呈現(xiàn)局部性規(guī)律,即在一段時(shí)間內(nèi),程序的執(zhí)行僅局限于某個(gè)部分,相應(yīng)所訪問(wèn)的空間也局限于某個(gè)區(qū)域內(nèi)。程序的局限性表現(xiàn)在時(shí)間、空間兩個(gè)方面。
2.1 時(shí)間局限性
是指程序中的某個(gè)指令一旦執(zhí)行,則在不久的將來(lái)可能會(huì)被再次執(zhí)行;如果某個(gè)存儲(chǔ)單元被訪問(wèn),則不久后該存儲(chǔ)單元可能會(huì)被再次訪問(wèn)。產(chǎn)生時(shí)間局限性的原因是程序中存在大量的循環(huán)處理。
2.2 空間局限性
指一旦程序訪問(wèn)了某個(gè)存儲(chǔ)單元,在不久的將來(lái),它附件的存儲(chǔ)單元也有可能被訪問(wèn)。典型原因是程序是順序執(zhí)行的。
3、虛擬存儲(chǔ)器的實(shí)現(xiàn)原理
虛擬存儲(chǔ)器具有請(qǐng)求調(diào)入功能和置換功能,能僅把作業(yè)的一部分裝入主存便運(yùn)行作業(yè)系統(tǒng),能從邏輯上對(duì)主存容量進(jìn)行擴(kuò)充的一種虛擬存儲(chǔ)系統(tǒng)。其邏輯容量由主存和外存容量之和以及CPU可尋址的范圍決定,運(yùn)行速度接近主存速度。應(yīng)用十分廣泛。
3.1 虛擬存儲(chǔ)器實(shí)現(xiàn)方式
1、請(qǐng)求分頁(yè)系統(tǒng)
在分頁(yè)系統(tǒng)的基礎(chǔ)上增加了請(qǐng)求調(diào)頁(yè)功能和頁(yè)面裝置功能所形成的頁(yè)式虛擬存儲(chǔ)系統(tǒng)。置換時(shí)以頁(yè)面為單位。
2、請(qǐng)求分段系統(tǒng)
在分段系統(tǒng)的基礎(chǔ)上增加了請(qǐng)求調(diào)段和分段置換功能所形成的段式虛擬存儲(chǔ)系統(tǒng)。置換時(shí)以段為單位。
3、請(qǐng)求分頁(yè)管理
請(qǐng)求分頁(yè)是在純分頁(yè)系統(tǒng)的基礎(chǔ)上增加了請(qǐng)求調(diào)頁(yè)功能、頁(yè)面置換功能所形成的頁(yè)式虛擬存儲(chǔ)系統(tǒng)。是目前最常用的一種虛擬存儲(chǔ)器的方式。
請(qǐng)求分頁(yè)的頁(yè)表機(jī)制是在純分頁(yè)的頁(yè)表機(jī)制上形成的,因?yàn)橹粚?yīng)用程序的一部分調(diào)入主存,還有一部分仍在磁盤(pán)上,因此需要在頁(yè)表中增加(狀態(tài)位、訪問(wèn)字段和輔存地址等)供程序(數(shù)據(jù))在轉(zhuǎn)進(jìn)、轉(zhuǎn)出時(shí)參考。
請(qǐng)求分頁(yè)系統(tǒng)中的地址變換機(jī)構(gòu)是在分頁(yè)系統(tǒng)的地址變換結(jié)構(gòu)的基礎(chǔ)上增加了某些功能。比如處理缺頁(yè)中斷、從主存中轉(zhuǎn)出一頁(yè)實(shí)現(xiàn)虛擬存儲(chǔ)。
在請(qǐng)求分頁(yè)系統(tǒng)中,每當(dāng)所要訪問(wèn)的頁(yè)面不在主存時(shí)便要產(chǎn)生一個(gè)缺頁(yè)中斷,請(qǐng)求系統(tǒng)將所缺的頁(yè)調(diào)入主存,這個(gè)是由中斷機(jī)構(gòu)完成的。
3.1 缺頁(yè)中斷和一般中斷的區(qū)別
1、缺頁(yè)中斷是在指令執(zhí)行期間產(chǎn)生和中斷處理信號(hào);一般中斷是在一條指令執(zhí)行完。下一條指令執(zhí)行前檢查和處理中斷信號(hào)。
2、發(fā)生缺頁(yè)中斷返回到被中斷指令的開(kāi)始重新執(zhí)行該指令;一般中斷會(huì)返回到下一條指令。
3、一條指令在執(zhí)行期間可能會(huì)產(chǎn)生多次缺頁(yè)中斷。
4、頁(yè)面置換法
在進(jìn)程運(yùn)行過(guò)程中,如果發(fā)生缺頁(yè),此時(shí)主存中無(wú)空閑塊時(shí),為了保證進(jìn)程正常運(yùn)行,需要從主存中調(diào)出一頁(yè)程序或數(shù)據(jù)傳送磁盤(pán)對(duì)換區(qū)。系統(tǒng)要決定哪個(gè)頁(yè)面調(diào)出,需要根據(jù)一定的頁(yè)面置換算法來(lái)確定。置換算法的優(yōu)劣會(huì)直接影響系統(tǒng)的性能,不好的算法可能會(huì)造成系統(tǒng)抖動(dòng)。即剛被換出的頁(yè)很快又被訪問(wèn),需重新調(diào)入,導(dǎo)致系統(tǒng)頻繁更換頁(yè)面。這樣會(huì)把進(jìn)程的運(yùn)行時(shí)間花費(fèi)在頁(yè)面置換的工作上,造成系統(tǒng)性能大大降低。
1、最佳置換算法
理想化的算法,選擇那些永遠(yuǎn)不被使用的、或者最長(zhǎng)時(shí)間內(nèi)不再被訪問(wèn)的頁(yè)面置換出去。該算法性能做好,但實(shí)現(xiàn)非常困難。
2、先進(jìn)先出置換算法
該算法的主要思想是淘汰最先進(jìn)入主存的頁(yè)面,也就是選擇在主存中駐留時(shí)間最久的頁(yè)面置換掉。
特點(diǎn):最直觀、性能最差的算法。會(huì)出現(xiàn)Belady現(xiàn)象,即一個(gè)進(jìn)程未分配它所要求的全部頁(yè)面,有可能出現(xiàn)分配的頁(yè)面數(shù)增多但缺頁(yè)率提高的異常現(xiàn)象。
3、最近最少使用置換法 LRU
把最近最少使用的頁(yè)面進(jìn)行置換掉。
4、最近未用置換算法
將最近一段時(shí)間沒(méi)有使用過(guò)的頁(yè)面置換掉。是一種和LRU接近的算法。
IT技術(shù)分享社區(qū)
個(gè)人博客網(wǎng)站:https://programmerblog.xyz
文章推薦程序員效率:畫(huà)流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠(yuǎn)程辦公:常用的遠(yuǎn)程協(xié)助軟件,你都知道嗎?51單片機(jī)程序下載、ISP及串口基礎(chǔ)知識(shí)硬件:斷路器、接觸器、繼電器基礎(chǔ)知識(shí)
總結(jié)
以上是生活随笔為你收集整理的计算机系统基础:虚拟存储管理知识笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 操作系统基础:存储管理知识笔记(二)
- 下一篇: 网页中打开msn窗口方法