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