錢曉燕
摘要:本文結(jié)合生活中的實(shí)際事例,透徹講解分頁式虛擬存儲(chǔ)及相關(guān)概念,從而使學(xué)生更清晰地了解CPU訪問數(shù)據(jù)的各種情況,實(shí)現(xiàn)輕松計(jì)算分頁虛擬存儲(chǔ)中數(shù)據(jù)平均訪問時(shí)間的計(jì)算。
關(guān)鍵詞:分頁存儲(chǔ) 分頁虛擬存儲(chǔ) 頁表 快表 CUP訪問數(shù)據(jù) 計(jì)算方法
中圖分類號(hào):TP301 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2014)08-0081-01
在教學(xué)中很多學(xué)生對(duì)于計(jì)算分頁虛擬存儲(chǔ)中數(shù)據(jù)的平均訪問時(shí)間很是迷惑,不知從何下手解決,其實(shí)解決這一問題的關(guān)鍵之處便是要理解分頁虛擬存儲(chǔ)的原理,頁表、快表的概念和存放位置以及CPU 訪問數(shù)據(jù)的基本過程。如果將這些內(nèi)容理解透徹,那計(jì)算分頁虛擬存儲(chǔ)中數(shù)據(jù)的平均訪問時(shí)間就如小菜一碟了。
首先我們來了解分頁存儲(chǔ)管理的基本原理:分頁存儲(chǔ)管理的基本思想是(1):把內(nèi)存空間分成大小相等、位置固定的若干個(gè)分區(qū),每個(gè)小分區(qū)稱為一個(gè)存儲(chǔ)塊,簡(jiǎn)稱塊或頁框。(2):把用戶的程序邏輯地址空間分成與存儲(chǔ)塊大小相等的若干頁,稱為頁面。(3):當(dāng)作業(yè)提出存儲(chǔ)分配請(qǐng)求時(shí),系統(tǒng)首先根據(jù)存儲(chǔ)塊的大小把作業(yè)分成若干頁,每一頁可存儲(chǔ)在內(nèi)存的任意一個(gè)空白塊內(nèi)。作業(yè)有多少頁,那么,把它裝入主存時(shí)就分配多少塊。
雖然作業(yè)的邏輯地址分成頁面后是連續(xù)的,但被裝入之后的物理塊未必相鄰,如何建立他們之間的關(guān)系呢?如何將邏輯地址轉(zhuǎn)換成物理地址呢?我們可以從現(xiàn)實(shí)的事例出發(fā)去理解,將作業(yè)頁面看成是要?dú)w還倉庫的物品,倉庫中具體存放物品的位置可以看做存儲(chǔ)塊,哪個(gè)物品存放在哪個(gè)位置需要有個(gè)倉庫管理員來做個(gè)記錄,便于查找和下次使用。而計(jì)算機(jī)中的這個(gè)管理員就是動(dòng)態(tài)地址重定位技術(shù),就是將邏輯地址轉(zhuǎn)換為物理地址,而管理員的所做的記錄就是頁表(page table)。頁表是操作系統(tǒng)為進(jìn)程建立的,是頁面和主存塊的對(duì)照表。結(jié)合實(shí)例枯燥的計(jì)算機(jī)理論理解起來就容易多了。圖1就是分頁存儲(chǔ)管理的地址轉(zhuǎn)換圖。
其次我們來了解虛擬存儲(chǔ)的基本思想,簡(jiǎn)單來說就是把內(nèi)存與外存統(tǒng)一起來形成一個(gè)存儲(chǔ)器。作業(yè)運(yùn)行時(shí),只把必需的一部分信息調(diào)入內(nèi)存,其余部分仍放在外存,當(dāng)需要時(shí),由系統(tǒng)自動(dòng)將其從外存調(diào)入內(nèi)存。
最后我們來看看CPU訪問數(shù)據(jù)的基本過程。在此之前,我們先來了解一下快表,頁表可以放在一組寄存器中,但這樣硬件代價(jià)太高,一般情況下頁表放在主存中。CUP要訪問數(shù)據(jù)首先要到內(nèi)存找頁表,然后根據(jù)頁表中的物理地址,再次訪問內(nèi)存,也就是要兩次訪問內(nèi)存,這將降低運(yùn)算速度。于是快表的概念應(yīng)運(yùn)而生。所謂快表就是用來存放進(jìn)程最近訪問的部分頁表項(xiàng),快表的存取時(shí)間遠(yuǎn)小于主存,速度快造價(jià)高,故容量小??毂泶鎯?chǔ)于硬件上設(shè)置的相連存儲(chǔ)器中,并不在內(nèi)存中。因而CPU訪問快表上的頁面時(shí)間遠(yuǎn)小于訪問內(nèi)存的時(shí)間。但快表的容量有限,有時(shí)訪問的對(duì)象不在快表中,也就是沒有命中,這時(shí)CPU的訪問順序是:(1)訪問快表,快表中沒有所需頁面;(2)訪問主存中的頁表,找到頁面相應(yīng)的物理地址;(3)按物理地址訪問數(shù)據(jù)。
說到這兒,計(jì)算分頁虛擬存儲(chǔ)中數(shù)據(jù)的平均訪問時(shí)間就變得很簡(jiǎn)單了,就是最好的情況(快表中有所需頁面)和最壞(快表中無所需頁面)的兩種情況的中和。如下例所示:假定訪問主存的時(shí)間是200ns,訪問快表的時(shí)間是40ns,快表的命中率是85%,則存取的平均時(shí)間為:
這樣來理解是不是簡(jiǎn)單多了呢?當(dāng)然這只是從最簡(jiǎn)單的角度去理解即所有的數(shù)據(jù)皆在內(nèi)存中,實(shí)際情況可能是數(shù)據(jù)可能不在主存而在輔助存儲(chǔ)器中,這樣又涉及到主存命中率。但是計(jì)算的方法是相同的,只是更復(fù)雜而已。
參考文獻(xiàn)
[1]孫鐘秀.操作系統(tǒng)教程[M].北京:高等教育出版社.
[2](荷蘭)AndrewS.Tanenbaum.現(xiàn)代操作系統(tǒng)[M].北京:機(jī)械工業(yè)出版社.
摘要:本文結(jié)合生活中的實(shí)際事例,透徹講解分頁式虛擬存儲(chǔ)及相關(guān)概念,從而使學(xué)生更清晰地了解CPU訪問數(shù)據(jù)的各種情況,實(shí)現(xiàn)輕松計(jì)算分頁虛擬存儲(chǔ)中數(shù)據(jù)平均訪問時(shí)間的計(jì)算。
關(guān)鍵詞:分頁存儲(chǔ) 分頁虛擬存儲(chǔ) 頁表 快表 CUP訪問數(shù)據(jù) 計(jì)算方法
中圖分類號(hào):TP301 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2014)08-0081-01
在教學(xué)中很多學(xué)生對(duì)于計(jì)算分頁虛擬存儲(chǔ)中數(shù)據(jù)的平均訪問時(shí)間很是迷惑,不知從何下手解決,其實(shí)解決這一問題的關(guān)鍵之處便是要理解分頁虛擬存儲(chǔ)的原理,頁表、快表的概念和存放位置以及CPU 訪問數(shù)據(jù)的基本過程。如果將這些內(nèi)容理解透徹,那計(jì)算分頁虛擬存儲(chǔ)中數(shù)據(jù)的平均訪問時(shí)間就如小菜一碟了。
首先我們來了解分頁存儲(chǔ)管理的基本原理:分頁存儲(chǔ)管理的基本思想是(1):把內(nèi)存空間分成大小相等、位置固定的若干個(gè)分區(qū),每個(gè)小分區(qū)稱為一個(gè)存儲(chǔ)塊,簡(jiǎn)稱塊或頁框。(2):把用戶的程序邏輯地址空間分成與存儲(chǔ)塊大小相等的若干頁,稱為頁面。(3):當(dāng)作業(yè)提出存儲(chǔ)分配請(qǐng)求時(shí),系統(tǒng)首先根據(jù)存儲(chǔ)塊的大小把作業(yè)分成若干頁,每一頁可存儲(chǔ)在內(nèi)存的任意一個(gè)空白塊內(nèi)。作業(yè)有多少頁,那么,把它裝入主存時(shí)就分配多少塊。
雖然作業(yè)的邏輯地址分成頁面后是連續(xù)的,但被裝入之后的物理塊未必相鄰,如何建立他們之間的關(guān)系呢?如何將邏輯地址轉(zhuǎn)換成物理地址呢?我們可以從現(xiàn)實(shí)的事例出發(fā)去理解,將作業(yè)頁面看成是要?dú)w還倉庫的物品,倉庫中具體存放物品的位置可以看做存儲(chǔ)塊,哪個(gè)物品存放在哪個(gè)位置需要有個(gè)倉庫管理員來做個(gè)記錄,便于查找和下次使用。而計(jì)算機(jī)中的這個(gè)管理員就是動(dòng)態(tài)地址重定位技術(shù),就是將邏輯地址轉(zhuǎn)換為物理地址,而管理員的所做的記錄就是頁表(page table)。頁表是操作系統(tǒng)為進(jìn)程建立的,是頁面和主存塊的對(duì)照表。結(jié)合實(shí)例枯燥的計(jì)算機(jī)理論理解起來就容易多了。圖1就是分頁存儲(chǔ)管理的地址轉(zhuǎn)換圖。
其次我們來了解虛擬存儲(chǔ)的基本思想,簡(jiǎn)單來說就是把內(nèi)存與外存統(tǒng)一起來形成一個(gè)存儲(chǔ)器。作業(yè)運(yùn)行時(shí),只把必需的一部分信息調(diào)入內(nèi)存,其余部分仍放在外存,當(dāng)需要時(shí),由系統(tǒng)自動(dòng)將其從外存調(diào)入內(nèi)存。
最后我們來看看CPU訪問數(shù)據(jù)的基本過程。在此之前,我們先來了解一下快表,頁表可以放在一組寄存器中,但這樣硬件代價(jià)太高,一般情況下頁表放在主存中。CUP要訪問數(shù)據(jù)首先要到內(nèi)存找頁表,然后根據(jù)頁表中的物理地址,再次訪問內(nèi)存,也就是要兩次訪問內(nèi)存,這將降低運(yùn)算速度。于是快表的概念應(yīng)運(yùn)而生。所謂快表就是用來存放進(jìn)程最近訪問的部分頁表項(xiàng),快表的存取時(shí)間遠(yuǎn)小于主存,速度快造價(jià)高,故容量小??毂泶鎯?chǔ)于硬件上設(shè)置的相連存儲(chǔ)器中,并不在內(nèi)存中。因而CPU訪問快表上的頁面時(shí)間遠(yuǎn)小于訪問內(nèi)存的時(shí)間。但快表的容量有限,有時(shí)訪問的對(duì)象不在快表中,也就是沒有命中,這時(shí)CPU的訪問順序是:(1)訪問快表,快表中沒有所需頁面;(2)訪問主存中的頁表,找到頁面相應(yīng)的物理地址;(3)按物理地址訪問數(shù)據(jù)。
說到這兒,計(jì)算分頁虛擬存儲(chǔ)中數(shù)據(jù)的平均訪問時(shí)間就變得很簡(jiǎn)單了,就是最好的情況(快表中有所需頁面)和最壞(快表中無所需頁面)的兩種情況的中和。如下例所示:假定訪問主存的時(shí)間是200ns,訪問快表的時(shí)間是40ns,快表的命中率是85%,則存取的平均時(shí)間為:
這樣來理解是不是簡(jiǎn)單多了呢?當(dāng)然這只是從最簡(jiǎn)單的角度去理解即所有的數(shù)據(jù)皆在內(nèi)存中,實(shí)際情況可能是數(shù)據(jù)可能不在主存而在輔助存儲(chǔ)器中,這樣又涉及到主存命中率。但是計(jì)算的方法是相同的,只是更復(fù)雜而已。
參考文獻(xiàn)
[1]孫鐘秀.操作系統(tǒng)教程[M].北京:高等教育出版社.
[2](荷蘭)AndrewS.Tanenbaum.現(xiàn)代操作系統(tǒng)[M].北京:機(jī)械工業(yè)出版社.
摘要:本文結(jié)合生活中的實(shí)際事例,透徹講解分頁式虛擬存儲(chǔ)及相關(guān)概念,從而使學(xué)生更清晰地了解CPU訪問數(shù)據(jù)的各種情況,實(shí)現(xiàn)輕松計(jì)算分頁虛擬存儲(chǔ)中數(shù)據(jù)平均訪問時(shí)間的計(jì)算。
關(guān)鍵詞:分頁存儲(chǔ) 分頁虛擬存儲(chǔ) 頁表 快表 CUP訪問數(shù)據(jù) 計(jì)算方法
中圖分類號(hào):TP301 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2014)08-0081-01
在教學(xué)中很多學(xué)生對(duì)于計(jì)算分頁虛擬存儲(chǔ)中數(shù)據(jù)的平均訪問時(shí)間很是迷惑,不知從何下手解決,其實(shí)解決這一問題的關(guān)鍵之處便是要理解分頁虛擬存儲(chǔ)的原理,頁表、快表的概念和存放位置以及CPU 訪問數(shù)據(jù)的基本過程。如果將這些內(nèi)容理解透徹,那計(jì)算分頁虛擬存儲(chǔ)中數(shù)據(jù)的平均訪問時(shí)間就如小菜一碟了。
首先我們來了解分頁存儲(chǔ)管理的基本原理:分頁存儲(chǔ)管理的基本思想是(1):把內(nèi)存空間分成大小相等、位置固定的若干個(gè)分區(qū),每個(gè)小分區(qū)稱為一個(gè)存儲(chǔ)塊,簡(jiǎn)稱塊或頁框。(2):把用戶的程序邏輯地址空間分成與存儲(chǔ)塊大小相等的若干頁,稱為頁面。(3):當(dāng)作業(yè)提出存儲(chǔ)分配請(qǐng)求時(shí),系統(tǒng)首先根據(jù)存儲(chǔ)塊的大小把作業(yè)分成若干頁,每一頁可存儲(chǔ)在內(nèi)存的任意一個(gè)空白塊內(nèi)。作業(yè)有多少頁,那么,把它裝入主存時(shí)就分配多少塊。
雖然作業(yè)的邏輯地址分成頁面后是連續(xù)的,但被裝入之后的物理塊未必相鄰,如何建立他們之間的關(guān)系呢?如何將邏輯地址轉(zhuǎn)換成物理地址呢?我們可以從現(xiàn)實(shí)的事例出發(fā)去理解,將作業(yè)頁面看成是要?dú)w還倉庫的物品,倉庫中具體存放物品的位置可以看做存儲(chǔ)塊,哪個(gè)物品存放在哪個(gè)位置需要有個(gè)倉庫管理員來做個(gè)記錄,便于查找和下次使用。而計(jì)算機(jī)中的這個(gè)管理員就是動(dòng)態(tài)地址重定位技術(shù),就是將邏輯地址轉(zhuǎn)換為物理地址,而管理員的所做的記錄就是頁表(page table)。頁表是操作系統(tǒng)為進(jìn)程建立的,是頁面和主存塊的對(duì)照表。結(jié)合實(shí)例枯燥的計(jì)算機(jī)理論理解起來就容易多了。圖1就是分頁存儲(chǔ)管理的地址轉(zhuǎn)換圖。
其次我們來了解虛擬存儲(chǔ)的基本思想,簡(jiǎn)單來說就是把內(nèi)存與外存統(tǒng)一起來形成一個(gè)存儲(chǔ)器。作業(yè)運(yùn)行時(shí),只把必需的一部分信息調(diào)入內(nèi)存,其余部分仍放在外存,當(dāng)需要時(shí),由系統(tǒng)自動(dòng)將其從外存調(diào)入內(nèi)存。
最后我們來看看CPU訪問數(shù)據(jù)的基本過程。在此之前,我們先來了解一下快表,頁表可以放在一組寄存器中,但這樣硬件代價(jià)太高,一般情況下頁表放在主存中。CUP要訪問數(shù)據(jù)首先要到內(nèi)存找頁表,然后根據(jù)頁表中的物理地址,再次訪問內(nèi)存,也就是要兩次訪問內(nèi)存,這將降低運(yùn)算速度。于是快表的概念應(yīng)運(yùn)而生。所謂快表就是用來存放進(jìn)程最近訪問的部分頁表項(xiàng),快表的存取時(shí)間遠(yuǎn)小于主存,速度快造價(jià)高,故容量小??毂泶鎯?chǔ)于硬件上設(shè)置的相連存儲(chǔ)器中,并不在內(nèi)存中。因而CPU訪問快表上的頁面時(shí)間遠(yuǎn)小于訪問內(nèi)存的時(shí)間。但快表的容量有限,有時(shí)訪問的對(duì)象不在快表中,也就是沒有命中,這時(shí)CPU的訪問順序是:(1)訪問快表,快表中沒有所需頁面;(2)訪問主存中的頁表,找到頁面相應(yīng)的物理地址;(3)按物理地址訪問數(shù)據(jù)。
說到這兒,計(jì)算分頁虛擬存儲(chǔ)中數(shù)據(jù)的平均訪問時(shí)間就變得很簡(jiǎn)單了,就是最好的情況(快表中有所需頁面)和最壞(快表中無所需頁面)的兩種情況的中和。如下例所示:假定訪問主存的時(shí)間是200ns,訪問快表的時(shí)間是40ns,快表的命中率是85%,則存取的平均時(shí)間為:
這樣來理解是不是簡(jiǎn)單多了呢?當(dāng)然這只是從最簡(jiǎn)單的角度去理解即所有的數(shù)據(jù)皆在內(nèi)存中,實(shí)際情況可能是數(shù)據(jù)可能不在主存而在輔助存儲(chǔ)器中,這樣又涉及到主存命中率。但是計(jì)算的方法是相同的,只是更復(fù)雜而已。
參考文獻(xiàn)
[1]孫鐘秀.操作系統(tǒng)教程[M].北京:高等教育出版社.
[2](荷蘭)AndrewS.Tanenbaum.現(xiàn)代操作系統(tǒng)[M].北京:機(jī)械工業(yè)出版社.