最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

操作系統(tǒng)學(xué)習(xí)記錄3-內(nèi)存管理

2023-07-09 20:51 作者:阿期777  | 我要投稿

內(nèi)存管理功能

內(nèi)存的作用是緩和CPU和硬盤之間的速度矛盾

內(nèi)存地址從0開始,每一個(gè)地址對(duì)應(yīng)一個(gè)存儲(chǔ)單元

計(jì)算機(jī)按字節(jié)編址,每個(gè)存儲(chǔ)單元大小為一字節(jié),8bit

計(jì)算機(jī)按字編址,每個(gè)存儲(chǔ)大小為一個(gè)字,16bit

?

程序運(yùn)行的順序:編譯源代碼文件-編譯-鏈接-裝入

編譯:由源代碼文件生成目標(biāo)模塊(高級(jí)語言-》機(jī)器語言)

鏈接:將目標(biāo)模塊生成裝入模塊,鏈接后形成完整的邏輯地址

裝入:將裝入模塊裝入內(nèi)存,裝入后形成物理地址

?

三種鏈接方式:

靜態(tài)鏈接:裝入前鏈接成一個(gè)完整的輸入模塊

裝入時(shí)動(dòng)態(tài)鏈接:運(yùn)行時(shí)邊裝入邊鏈接

運(yùn)行時(shí)動(dòng)態(tài)鏈接:運(yùn)行時(shí)需要目標(biāo)模塊才裝入并鏈接

三種裝入方式:

絕對(duì)裝入:編譯時(shí)產(chǎn)生絕對(duì)地址(物理地址)

可重定位裝入:裝入時(shí)將邏輯地址轉(zhuǎn)換為物理地址

動(dòng)態(tài)運(yùn)行時(shí)裝入:運(yùn)行時(shí)將邏輯地址轉(zhuǎn)換為物理地址,需設(shè)置重定位寄存器

?

內(nèi)存分配與回收:提高效率

地址映射:邏輯地址與物理地址的轉(zhuǎn)換

采用三種裝入方式

內(nèi)存擴(kuò)充:虛擬存儲(chǔ)技術(shù)

內(nèi)存保護(hù):內(nèi)存中的進(jìn)程互不干擾

方法一:設(shè)置一對(duì)上下限寄存器,存放進(jìn)程的上下限地址,進(jìn)程的指令要訪問某個(gè)地址時(shí),CPU檢查是否越界。

方法二:采用重定位寄存器(基址寄存器),界地址寄存器(限長(zhǎng)寄存器)進(jìn)行越界檢查。重定位寄存器中存放的是進(jìn)程的起始物理地址。界地址寄存器中存放的是進(jìn)程的最大邏輯地址。

內(nèi)存共享:允許多個(gè)進(jìn)程共享內(nèi)存區(qū)

覆蓋與交換

覆蓋是設(shè)置一個(gè)固定區(qū)和若干覆蓋區(qū)。固定區(qū)中的程序段在運(yùn)行過程中不會(huì)調(diào)入調(diào)出。覆蓋區(qū)中的程序段在運(yùn)行過程中會(huì)根據(jù)需要調(diào)入調(diào)出。必須要由程序員聲明覆蓋結(jié)構(gòu),對(duì)用戶不透明。

交換是指內(nèi)存緊張時(shí),換出某些進(jìn)程以騰出內(nèi)存空間,再換入某些進(jìn)程。磁盤分為文件區(qū)和對(duì)換區(qū),換出的進(jìn)程再對(duì)換區(qū)。

覆蓋與交換的區(qū)別:覆蓋是在同一個(gè)程序或進(jìn)程中的,交換是在不同進(jìn)程或者作業(yè)中的。

?

內(nèi)存分配

連續(xù)分配(單一連續(xù)分配、固定分區(qū)分配、動(dòng)態(tài)分區(qū)分配)

單一連續(xù)分配:

單一連續(xù)分配只支持單道程序,將內(nèi)存劃分為系統(tǒng)區(qū)和用戶區(qū),用戶程序放在用戶區(qū)。無外部碎片,有內(nèi)部碎片。

固定分區(qū)分配:

支持多道程序,內(nèi)存用戶空間分為若干固定大小的分區(qū),每個(gè)分區(qū)只能裝一道程序。無外部碎片,有內(nèi)部碎片

動(dòng)態(tài)分區(qū)分配:

支持多道程序,進(jìn)程裝入內(nèi)存時(shí),根據(jù)進(jìn)程的大小動(dòng)態(tài)地建立分區(qū)。有外部碎片,無內(nèi)部碎片??梢允褂镁o湊的技術(shù)解決外部碎片。

回收內(nèi)存分區(qū)時(shí),可能遇到四種情況:回收區(qū)之后有相鄰的空閑分區(qū)、回收區(qū)之前有相鄰的空閑分區(qū)、回收前后都有相鄰的空閑分區(qū),回收區(qū)前后都沒有相鄰的空閑分區(qū)。(相鄰的空閑分區(qū)要合并)

內(nèi)部碎片,分配給某進(jìn)程的內(nèi)存區(qū)域中,有些部分沒有用上

外部碎片,內(nèi)存中的某些空閑分區(qū)因?yàn)樘《鵁o法利用

?

動(dòng)態(tài)分區(qū)分配算法:

首次適應(yīng)算法:每次從低地址開始查找,找到第一個(gè)能滿足大小的空閑分區(qū)??臻e分區(qū)按地址遞增的次序排列

最佳適應(yīng)算法:盡可能留下大片的空閑區(qū),優(yōu)先使用更小的空閑區(qū)。按容量遞增次序鏈接,會(huì)產(chǎn)生大量外部碎片

最壞適應(yīng)算法:最大適應(yīng)算法,每次分配優(yōu)先使用最大的空閑區(qū)。按容量遞減次序鏈接。但不利于大進(jìn)程,開銷大。

鄰近適應(yīng)算法:空閑分區(qū)按地址遞增次序排列,每次分配內(nèi)存從上次查找結(jié)束的位置開始查找空閑分區(qū)鏈。開銷小,但是高地址的大分區(qū)也被用完。

四種算法中,首次適應(yīng)算法的效果更好。

單一連續(xù)分配

非連續(xù)分配(分頁管理、分段管理、段頁式管理)

分頁管理

概念:頁框、頁幀、內(nèi)存塊、物理塊、物理頁、頁、頁面

頁表記錄了頁面和實(shí)際存放的內(nèi)存塊之間的映射關(guān)系。

一個(gè)進(jìn)程對(duì)應(yīng)一張頁表,進(jìn)程的每一頁對(duì)應(yīng)一個(gè)頁表項(xiàng),每個(gè)頁表項(xiàng)由頁號(hào)和塊號(hào)構(gòu)成。

每個(gè)頁表項(xiàng)的大小相同,頁號(hào)是隱含的。

i號(hào)頁表項(xiàng)存放地址 = 頁表初始地址 + i*頁表項(xiàng)大小

頁號(hào)=邏輯地址/頁面大小

頁面偏移量 = 邏輯地址%頁面大小

?

快表(TLB)也叫聯(lián)想寄存器,是訪問速度比內(nèi)存快很多的高速緩存(不是內(nèi)存),用來存放最近訪問的頁表項(xiàng)的副本,內(nèi)存中的頁表也叫慢表

頁表和普通cache的區(qū)別,TLB中只有頁表項(xiàng)的副本,普通cache可能會(huì)有其他各種數(shù)據(jù)的樣本。

查詢內(nèi)存中的頁表時(shí),由于局部性原理,可能連續(xù)多次都是查到同一個(gè)頁表項(xiàng)。

基本地址變換需要訪存2次,具有快表的地址變換機(jī)構(gòu)中,快表命中只需要訪問一次內(nèi)存,未命中則需要訪問2次內(nèi)存

?

分段管理

進(jìn)程的地址空間按照自身的邏輯劃分為若干個(gè)段,每個(gè)段從0開始編址。內(nèi)存以段為單位進(jìn)行分配,每個(gè)段在內(nèi)存中占據(jù)連續(xù)的空間,各段之間可以不相鄰。用戶編程更方便,程序的可讀性更高。

邏輯地址結(jié)構(gòu)由段號(hào)(段名)和段內(nèi)地址(段內(nèi)偏移量)組成。

段號(hào)的位數(shù)決定了每個(gè)進(jìn)程可以分為多少個(gè)段

段內(nèi)地址位數(shù)決定了每個(gè)段的最大長(zhǎng)度是多少。

為了從物理內(nèi)存中找到各個(gè)邏輯段的存放位置,需要為每一個(gè)進(jìn)程建立一張段映射表,簡(jiǎn)稱段表。

每個(gè)段表項(xiàng)記錄了該段在內(nèi)存中的起始地址(基址)和段的長(zhǎng)度。

各個(gè)段表項(xiàng)的長(zhǎng)度是相同的,段號(hào)是隱含的,不占用空間。

?

頁是信息的物理單位,對(duì)用戶不可見

段是信息的邏輯單位,分段對(duì)用戶可見

分頁的用戶進(jìn)程地址空間是一維的,一個(gè)記憶符就是一個(gè)地址。

分段的用戶進(jìn)程地址空間是二維的,一個(gè)地址標(biāo)記時(shí)既要給出段名,又要給出段內(nèi)地址。

分段比分頁更容易實(shí)現(xiàn)信息的共享與保護(hù)。

不能被修改的代碼被稱為純代碼或可重入代碼(不是臨界資源),不能共享。

訪問一次邏輯地址時(shí)

分頁(單級(jí)頁表):第一次訪存:查內(nèi)存中的頁表,第二次訪存:訪問目標(biāo)內(nèi)存單元。一共2次訪存。

分段:第一次訪存:查內(nèi)存中的段表,第二次訪存:訪問目標(biāo)內(nèi)存單元。一共2次訪存。

也可以引入快表機(jī)制,可以減少一次訪存。

根據(jù)段表記錄的段長(zhǎng),檢查段內(nèi)地址是否越界。

段頁式管理

分頁管理與分段管理的優(yōu)缺點(diǎn)

分頁管理

優(yōu)點(diǎn):空間利用率高,不會(huì)產(chǎn)生外部碎片,只有少量的頁內(nèi)碎片。

缺點(diǎn):不方便按照邏輯模塊實(shí)現(xiàn)信息共享與保護(hù)

分段管理

優(yōu)點(diǎn):方便按照邏輯模塊實(shí)現(xiàn)信息共享與保護(hù)

缺點(diǎn):段長(zhǎng)過大,分配很大的連續(xù)空間會(huì)很不方便,會(huì)產(chǎn)生外部碎片(可以使用緊湊技術(shù),但會(huì)消耗大量時(shí)間)

?

段頁式系統(tǒng)的邏輯結(jié)構(gòu)地址由段號(hào)、頁號(hào)、頁內(nèi)地址(頁內(nèi)偏移量)組成。

段號(hào)的位數(shù)決定了每個(gè)進(jìn)程最多分為幾個(gè)段

頁號(hào)位數(shù)決定了每個(gè)段最大有多少頁

頁內(nèi)偏移量決定了頁面大小,內(nèi)存塊大小是多少

段頁式管理的地址結(jié)構(gòu)是二維的

?

每個(gè)段對(duì)應(yīng)一個(gè)段表項(xiàng)。每個(gè)段表項(xiàng)由段號(hào)(隱含)、頁表長(zhǎng)度、頁表存放塊號(hào)(頁表起始地址)組成,每個(gè)段表現(xiàn)長(zhǎng)度相等。

每個(gè)頁面對(duì)應(yīng)一個(gè)頁表項(xiàng),每個(gè)頁表項(xiàng)由頁號(hào)、頁面存放的內(nèi)存塊號(hào)組成。每個(gè)頁表項(xiàng)長(zhǎng)度相等,頁號(hào)是隱含的。

訪問一個(gè)邏輯地址需要訪存三次

第一次:查段表。第二次:查頁表。第三次:訪問目標(biāo)單元

引入快表機(jī)制后。以段號(hào)和頁號(hào)作為關(guān)鍵字查快表,只需一次訪存。

?

虛擬內(nèi)存管理

傳統(tǒng)存儲(chǔ)管理方式的特征和缺點(diǎn):

一次性:作業(yè)必須全部裝入內(nèi)存才能運(yùn)行。導(dǎo)致大作業(yè)無法運(yùn)行,多道程序并發(fā)度下降。

駐留性:作業(yè)被裝入內(nèi)存中,就會(huì)一直駐留在內(nèi)存中,直到作業(yè)結(jié)束。

?

局部性原理:時(shí)間局部性、空間局部性

時(shí)間局部性:如果執(zhí)行了程序中的某條指令,那么不久后這條指令有可能再次執(zhí)行。如果某個(gè)數(shù)據(jù)被訪問過,那么不久之后該數(shù)據(jù)可能被再次訪問。

空間局部性:一旦程序訪問了某個(gè)存儲(chǔ)單元,不久之后,其附近的存儲(chǔ)單元很有可能再次被訪問(因?yàn)楹芏鄶?shù)據(jù)是連續(xù)存放的)

?

根據(jù)局部性原理,很快會(huì)用到的部分裝入內(nèi)存,暫時(shí)用不到的部分留在外存。信息不在內(nèi)存時(shí),操作系統(tǒng)負(fù)責(zé)將外存調(diào)入內(nèi)存中。內(nèi)存空間不夠時(shí),操作系統(tǒng)負(fù)責(zé)將暫時(shí)用不到的信息換出外存。

虛擬內(nèi)存的最大容量是計(jì)算機(jī)的地址結(jié)構(gòu)(尋址范圍)決定的。

虛擬內(nèi)存的實(shí)際容量是min(內(nèi)存與外存容量之和,尋址范圍)

如計(jì)算機(jī)地址結(jié)構(gòu)為32位,按字節(jié)編址,內(nèi)存大小為512MB,外存大小為2GB。

虛擬內(nèi)存的最大容量為B=4GB

虛擬內(nèi)存的實(shí)際容量為2GB+512MB

?

虛擬內(nèi)存的三個(gè)特性:

多次性:無需一次性裝入內(nèi)存,可以多次調(diào)入內(nèi)存。

對(duì)換性:作業(yè)運(yùn)行時(shí)無需一直常駐內(nèi)存,允許在作業(yè)允許的過程中將作業(yè)換入換出。

虛擬性:從邏輯上擴(kuò)充了內(nèi)存的容量,使得用戶看到的內(nèi)存容量,遠(yuǎn)大于實(shí)際的容量。

?

虛擬內(nèi)存的實(shí)現(xiàn)需要建立在離散分配的基礎(chǔ)上

在程序執(zhí)行過程中,訪問的信息不在內(nèi)存時(shí),由操作系統(tǒng)負(fù)責(zé)將所需的信息從外存調(diào)入內(nèi)存。內(nèi)存空間不夠時(shí),將內(nèi)存中暫時(shí)用不到的信息換出到外存。

?

請(qǐng)求分頁和基本分頁的區(qū)別:

在程序執(zhí)行過程中,訪問的信息不在內(nèi)存時(shí),由操作系統(tǒng)負(fù)責(zé)將所需的信息從外存調(diào)入內(nèi)存。內(nèi)存空間不夠時(shí),將內(nèi)存中暫時(shí)用不到的信息換出到外存。操作系統(tǒng)提供請(qǐng)求調(diào)頁和頁面置換的功能。

在請(qǐng)求分頁中,頁表項(xiàng)增加了4個(gè)字段,狀態(tài)位、訪問字段、修改位、外存地址。

狀態(tài)位記錄是否已經(jīng)調(diào)入內(nèi)存。

訪問字段記錄最近訪問過幾次,或者記錄上次訪問的時(shí)間,供置換算法選擇換出時(shí)頁面參考。

修改位記錄內(nèi)存后是否被修改過。

外存地址記錄頁面在外存中的存放位置。

?

在請(qǐng)求分頁中,頁面不存在的時(shí)候,產(chǎn)生一個(gè)缺頁中斷,然后操作系統(tǒng)的缺頁中斷處理系統(tǒng)處理中斷。

缺頁的進(jìn)程阻塞,完成后再將其喚醒。

有空閑塊時(shí),為進(jìn)程分配一個(gè)空閑塊

沒有空閑塊的時(shí)候,由頁面置換算法選擇一個(gè)頁面淘汰。該頁面在內(nèi)存被修改,則需要寫回外存,未修改過不用寫。

缺頁中斷是因?yàn)楫?dāng)前指令想要訪問的目標(biāo)頁面未調(diào)入內(nèi)存而產(chǎn)生的,屬于內(nèi)中斷。

一條指令在執(zhí)行期間,可能產(chǎn)生多次缺頁中斷。

內(nèi)中斷:陷阱、陷入、故障(如缺頁中斷)、終止

外中斷:I/O,人工干預(yù)

頁面置換算法(需要最求更少的缺頁率):

最佳置換算法(OPT):每次淘汰的頁面是以后永不使用的,或是淘汰未來最遲被使用的頁面。實(shí)際上無法實(shí)現(xiàn)。

先進(jìn)先出置換算法(FIFO):淘汰最先進(jìn)入內(nèi)存的頁面。

只有FIFO算法有Belady異常,也就是說為進(jìn)程分配的物理塊增大的時(shí)候,缺頁次數(shù)不減反增。實(shí)現(xiàn)簡(jiǎn)單,但是算法性能差。

最近最久未使用置換算法(LRU):淘汰最近最久未使用的頁面。

用訪問字段記錄頁面自上次訪問以來的時(shí)間t,每次淘汰頁面時(shí)選擇一個(gè)t值最大的。該算法性能好,但是實(shí)現(xiàn)困難,開銷大。

做題時(shí),逆向檢查在內(nèi)存中的幾個(gè)頁面號(hào),最后一個(gè)出現(xiàn)的頁號(hào)就是要淘汰的頁面。

最少使用置換算法:淘汰最近時(shí)期使用最少的頁面

Clock置換算法:為每頁設(shè)置訪問位和修改位。

為每個(gè)頁面設(shè)置一個(gè)訪問位,將內(nèi)存中的頁面通過鏈接指針鏈接成一個(gè)循環(huán)隊(duì)列。被訪問時(shí),訪問位置為1,淘汰一個(gè)頁時(shí),檢查訪問位,是0則將該頁換出。是1則置為0,暫不換出。若第一輪掃描中,所有頁面都是1,則將其置為0后,再進(jìn)行第二輪掃描。簡(jiǎn)單的clock算法最多會(huì)經(jīng)過2輪掃描。

?

改進(jìn)型時(shí)鐘置換算法。

簡(jiǎn)單的時(shí)鐘置換算法只考慮一個(gè)頁面最近是否被訪問過。實(shí)際上只有被淘汰的頁面被修改過時(shí),才需要寫回外存。在其他條件都相同的時(shí)候,應(yīng)該優(yōu)先淘汰沒有修改過的頁面。修改位=0,表示頁面沒有修改過;修改位=1,表示頁面被修改過。

用(訪問位,修改位)表示頁面狀態(tài)

第一輪(最近未訪問且未修改):開始掃描找到第一個(gè)(0,0)替換,不修改標(biāo)志位

第二輪(最近未訪問但修改過):第一輪失敗,重新掃描,找到第一個(gè)(0,1),并把所有掃描過的幀訪問位置為0.

第三輪(最近已訪問未修改):第二輪失敗,重新掃描,找到第一個(gè)(0,0)替換,不修改標(biāo)志位

第四輪(最近已訪問且已修改):第三輪失敗,重新掃描,找到第一個(gè)(0,1)替換。

改進(jìn)型的clock算法淘汰一個(gè)頁面會(huì)最多進(jìn)行4輪掃描

?

內(nèi)存映射文件

由一個(gè)文件到一塊內(nèi)存的映射,用于解決本地多個(gè)進(jìn)程之間數(shù)據(jù)共享問題。是操作系統(tǒng)向上層程序員提供的功能(系統(tǒng)調(diào)用)方便程序員訪問文件數(shù)據(jù)。方便多個(gè)進(jìn)程共享同一個(gè)文件。

以訪問內(nèi)存的方式訪問文件數(shù)據(jù)

文件數(shù)據(jù)的讀入、寫出由操作系統(tǒng)自動(dòng)完成。進(jìn)程關(guān)閉文件時(shí),操作系統(tǒng)自動(dòng)將文件被修改的數(shù)據(jù)寫回磁盤。

在物理內(nèi)存中,一個(gè)文件對(duì)應(yīng)一份數(shù)據(jù),當(dāng)一個(gè)進(jìn)程修改文件數(shù)據(jù)時(shí),另一個(gè)進(jìn)程可以馬上看到

?

頁面分配策略

駐留集

指請(qǐng)求分頁存儲(chǔ)管理給進(jìn)程分配物理塊的集合。

駐留集太小會(huì)導(dǎo)致缺頁頻繁,需要花費(fèi)大量的時(shí)間處理缺頁。

駐留集太大會(huì)導(dǎo)致多道程序并發(fā)度下降,資源利用率降低

頁面分配、置換策略

?

固定分配:操作系統(tǒng)為每一個(gè)進(jìn)程分配一組固定數(shù)目的物理塊,在進(jìn)程運(yùn)行時(shí)大小不變

可變分配:先為每個(gè)進(jìn)程分配一定數(shù)目的物理塊,進(jìn)程運(yùn)行期間,可根據(jù)情況做適當(dāng)?shù)脑黾踊蛘邷p少。駐留集大小可變。

局部置換:發(fā)生缺頁時(shí)只能選進(jìn)程自己的物理塊進(jìn)行置換。

全局置換:可以將操作系統(tǒng)保留的空閑物理塊分配給缺頁進(jìn)程,也可以將別的進(jìn)程持有的物理塊置換到外存,再分配給缺頁進(jìn)程。

固定分區(qū)局部置換:系統(tǒng)為每個(gè)進(jìn)程分配一定數(shù)量的物理塊,在整個(gè)運(yùn)行期間都不改變。在運(yùn)行中缺頁,只能從該進(jìn)程在內(nèi)存中的頁面選出一頁換出。

可變分區(qū)全局置換:剛開始先分配一定數(shù)量空閑塊,操作系統(tǒng)會(huì)保持一個(gè)空閑隊(duì)列,發(fā)生缺頁時(shí),從空閑物理塊取出一塊分配給該進(jìn)程。若無空閑物理塊,選擇一個(gè)未鎖定的頁面換出外存,并將該物理塊分配給缺頁的進(jìn)程。只要進(jìn)程發(fā)生缺頁,就能獲得新的物理塊。當(dāng)空閑物理塊用完的時(shí)候,才選擇未選擇的頁面。被選擇的頁面可能時(shí)任意一個(gè)進(jìn)程的頁,被選中的進(jìn)程所擁有的物理塊會(huì)減少,缺頁率會(huì)增加。也就是說,只要缺頁就分配新的物理塊。

可變分區(qū)局部置換:剛開始先分配一定數(shù)量空閑塊,發(fā)生缺頁時(shí),只允許從物理塊分配給該進(jìn)程。如果調(diào)入頁面的時(shí)機(jī)頻繁的換頁,系統(tǒng)會(huì)多分配幾個(gè)物理塊。缺頁率特別低,可以適當(dāng)減少分配給該進(jìn)程的物理塊。也就是說,根據(jù)發(fā)生缺頁的頻率來動(dòng)態(tài)地增加或者減少進(jìn)程的物理塊。

從何時(shí)調(diào)頁

預(yù)調(diào)頁策略:根據(jù)空間局部性原理,一次調(diào)入若干個(gè)相鄰頁面可能比一次調(diào)入一個(gè)頁面更高效。用于進(jìn)程的首次調(diào)入,由程序員指出調(diào)入哪些地方,主要用于進(jìn)程的首次調(diào)入。

請(qǐng)求調(diào)頁策略:在運(yùn)行期間發(fā)現(xiàn)缺頁時(shí)才將所缺頁面調(diào)入內(nèi)存。

從何處調(diào)頁

1.?系統(tǒng)有足夠的對(duì)換區(qū)空間。調(diào)入調(diào)出都是在內(nèi)存與對(duì)換區(qū)進(jìn)行,可以保證頁面的調(diào)入調(diào)出速度很快。在進(jìn)程運(yùn)行時(shí),需要將進(jìn)程相關(guān)的數(shù)據(jù)從文件區(qū)復(fù)制到對(duì)換區(qū)。

2.?系統(tǒng)缺乏足夠的對(duì)換區(qū)空間。凡是不被修改的數(shù)據(jù)直接從文件區(qū)調(diào)入,由于這些頁面不會(huì)被修改,不必寫回磁盤。對(duì)于可能被修改的部分,換出時(shí)需寫回磁盤對(duì)換區(qū),下次需要時(shí)再?gòu)膶?duì)換區(qū)調(diào)入。

3.?Unix方式。運(yùn)行之前進(jìn)程有關(guān)的數(shù)據(jù)全部放在文件區(qū),未使用的頁面,都可以從文件區(qū)調(diào)入。若使用過的頁面需要換出,則寫回對(duì)換區(qū),下次需要時(shí)再?gòu)膶?duì)換區(qū)調(diào)入。

抖動(dòng)(顛簸)

剛剛換出的頁面又馬上換入內(nèi)存,剛剛換入的頁面馬上又要換出外存,這種頻繁的頁面調(diào)度行為稱為抖動(dòng),或者顛簸。主要原因是進(jìn)程頻繁訪問的頁面數(shù)目高于可用的物理塊數(shù)。(分配給進(jìn)程的物理塊不夠)物理塊太少,會(huì)產(chǎn)生抖動(dòng)現(xiàn)象。物理塊太多,會(huì)降低系統(tǒng)整體的并發(fā)度,降低某些資源的利用率。

工作集

駐留集:請(qǐng)求分頁存儲(chǔ)管理中給進(jìn)程分配的物理塊的集合。

工作集:指在某段時(shí)間集合里,進(jìn)程實(shí)際訪問頁面的集合。

操作系統(tǒng)會(huì)根據(jù)“窗口尺寸”來計(jì)算出工作集

選中一個(gè)正在運(yùn)行的進(jìn)程,往前數(shù)多少個(gè)窗口尺寸的進(jìn)程便是工作集。

工作集大小可能小于窗口尺寸。駐留集大小不能小于工作集大小,否則進(jìn)程運(yùn)行過程中會(huì)頻繁缺頁。

?

虛擬存儲(chǔ)器性能的影響因素及改進(jìn)方法



操作系統(tǒng)學(xué)習(xí)記錄3-內(nèi)存管理的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
张家港市| 平陆县| 额尔古纳市| 六枝特区| 云阳县| 乌拉特后旗| 六安市| 清新县| 义马市| 吉隆县| 石景山区| 富蕴县| 日照市| 儋州市| 正宁县| 鄂尔多斯市| 任丘市| 凤冈县| 大荔县| 天祝| 晋州市| 剑川县| 威信县| 新绛县| 甘肃省| 定日县| 凤冈县| 亚东县| 昌吉市| 仲巴县| 白沙| 大姚县| 增城市| 上杭县| 金山区| 辽宁省| 张家界市| 政和县| 鄂尔多斯市| 扎鲁特旗| 珠海市|