① 操作系統中什麼是分頁過程
3.請求分頁系統(1)請求分頁對頁表的擴充
在請求分頁系統中所使用的主要數據結構仍然是頁表。它對頁式系統中的頁表機制進行了擴充但其基本作用是實現由用戶地址空間到物理內存空間的映射。由於只將應用程序的一部分裝入內存,還有一部分仍在磁碟上,故需在頁表中增加若干項,供操作系統實現虛擬存儲器功能時參考。常見的系統中,一般對頁表的表項進行如下擴充:除了頁號對應的物理塊號,還增加了狀態位、修改位、外存地址和訪問欄位等。
·狀態位,用於指示該頁是否已經調入了內存。該位一般由操作系統軟體來管理,每當操作系統把一頁調人物理內存中時,置位。相反,當操作系統把該頁從物理內存調出時,復位。CPU對內存進行引用時,根據該位判斷要訪問的頁是否在內存中,若不在內存之中,則產生缺頁中斷。
·修改位,表示該頁調入內存後是否被修改過。當CPU以寫的方式訪問頁面時,對該頁表項中的修改位置位。該位也可由操作系統軟體來修改,例如,當操作系統將修改過頁面保存在磁碟上後,可將該位復位。
·外存地址,用於指出該頁在外存上的地址,供調人該頁時使用。
·訪問宇段,用於記錄本頁在一定時間內被訪問的次數,或最近已經有多長時間未被訪問。提供給相應的置換演算法在選擇換出頁面時參考。
(2)對缺頁中斷的支持
在請求分頁系統中,CPU硬體一定要提供對缺頁中斷的支持,根據頁表項中的狀態位判斷是否產生缺頁中斷。缺頁中斷是一個比較特殊的中斷,這主要體現在如下兩點:
·在指令的執行期間產生和處理缺頁信號。通常的CPU外部中斷,是在每條指令執行完畢後檢查是否有中斷請求到達。而缺頁中斷,是在一條指令的執行期間,發現要訪問的指令和數據不在內存時產生和處理的。
·一條指令可以產生多個缺頁中斷。例如,一條雙操作數的指令,每個操作數都不在內存中,這條指令執行時,將產生兩個中斷。CPU提供的硬體支持,還要體現在當從中斷處理程序返回時,能夠正確執行產生缺頁中斷的指令。
(3)頁面調度策略
虛擬存儲器系統通常定義三種策略來規定如何(或何時)進行頁面調度:調入策略、置頁策略和置換策略。
(4)置換演算法(replacementalgorithm)決定在需要調入頁面時,選擇內存中哪個物理頁面被置換。置換演算法的出發點應該是,把未來不再使用的或短期內較少使用的頁面調出。而未來的實際情況是不確定的,通常只能在局部性原理指導下依據過去的統計數據進行預測。常用的演算法有以下幾種:
·最佳演算法(optimal,OPT)。選擇「未來不再使用的」或「在離當前最遠位置上出現的」頁面被置換。這是一種理想情況,是實際執行中無法預知的,因而不能實現,只能用作性能評價的依據。
·最近最久未使用演算法(LeastRecentlyUsed,LRU)。選擇內存中最久未使用的頁面被置換,這是局部性原理的合理近似,性能接近最佳演算法。但由於需要記錄頁面使用時間的先後關系,硬體開銷太大。LRU可用如下的硬體機構幫助實現:
一個特殊的棧:把被訪問的頁面移到棧頂,於是棧底的是最久未使用頁面。每個頁面設立移位寄存器:被訪問時左邊最高位置1,定期右移並且最高位補0,於是寄存器數值最小的是最久未使用頁面。
·先進先出演算法(FIFO)。選擇裝入最早的頁面置換。可以通過鏈表來表示各頁的裝入時間先後。FIFO的性能較差,因為較早調入的頁往往是經常被訪問的頁,這些頁在FIFO演算法下被反復調入和調出,並且有Belady現象。所謂Belady現象是指:採用FIFO演算法時,如果對—個進程未分配它所要求的全部頁面,有時就會出現分配的頁面數增多但缺頁率反而提高的異常現象。Belady現象可形式化地描述為:一個進程戶要訪問M個頁,OS分配艫個內存頁面給進程P;對一個訪問序列S,發生缺頁次數為PE(占,N)。當N增大時,PE(S,N)時而增大時而減小。Belady現象的原因是FIFO演算法的置換特徵與進程訪問內存的動態特徵是矛盾的,即被置換的頁面並不是進程不會訪問的。
·時鍾(clock)演算法。也稱最近未使用演算法(NotRecentlyUsed,NRU),它是LRU和FIFO的折中。每頁有一個使用標志位(usebit),若該頁被訪問則置userbit=l,這是由CPU的硬體自動完成的。置換時採用一個指針,從當前指針位置開始按地址先後檢查各頁,尋找usebit=0的面作為被置換頁。指針經過的userbit=l的頁都修改userbit=O,這個修改的過程是操作系統完成的,最後指針停留在被置換頁的下一個頁。
·最不常用演算法(LeastFrequentlyUsed,LFU)。選擇到當前時間為止被訪問次數最少的頁面被置換。每頁設置訪問計數器,每當頁面被訪問時,該頁面的訪問計數器加1。發生缺頁中斷時,淘汰計數值最小的頁面,並將所有計數清零。
·頁面緩沖演算法(pagebuffering)。它是對FIFO演算法的發展,通過建立置換頁面的緩沖,這樣就有機會找回剛被置換的頁面,從而減少系統I/0的開銷。頁面緩沖演算法用FIFO演算法選擇被置換頁,把被置換的頁面放人兩個鏈表之一。即是如果頁面未被修改,就將其歸人到空閑頁面鏈表的末尾,否則將其歸人到已修改頁面鏈表。空閑頁面和已修改頁面,仍停留在內存中一段時間,如果這些頁面被再次訪問,只需較小開銷,被訪問的頁面就可以返還作為進程的內存頁。需要調入新的物理頁面時,將新頁面內容讀人到空閑頁面鏈表的第一項所指的頁面,然後將第一項刪除。當已修改頁面達到一定數目後,再將它們一起調出到外存,然後將它們歸人空閑頁面鏈表。這樣能大大減少I/O操作的次數。
② SQL資料庫分頁原理
要想分頁,首先得做好准備工作。你要先聲明每頁顯示多少條數據,還得獲取當前選擇的是多少頁的頁碼。有了這兩個分頁就好辦了。
sql如下:select top 10 from tableName
where (id not in(select top 20 from tableName order by Id desc)) order by Id desc
每頁顯示的數量:自己定義。
總頁數:數據總條數/每頁顯示的條數
當前頁碼的計算方法:(頁碼-1)*每頁顯示的數量。比如我要瀏覽第3頁的數據,3從客戶端傳送過來後,在後台對頁碼進行處理:(3-1)*每頁顯示的數量(假如是10).算出來後的結果就是20.你在把20以參數注入的方式動態添加到上面那個20那裡就ok了。
sql中的10表示你每頁顯示的數據,這里跟10,就代表每頁顯示10條。(你可以定義一個常量作為每頁顯示的條數)
where中的20表示不包括前面的20條數據,也就是查詢出從第21條到30之間的數據。
不知道我這樣說你是否理解,其實只要理解了sql語句,分頁就很好做了。
③ 什麼叫分頁
什麼是分頁?
無論你的NT伺服器的內存有多大,它總是顯得不夠充足。當物理RAM從低端開始運行時,Windows NT使用了分頁文件Pagefile.sys。為了運行不同的進程和應用程序,Pagefile.sys給物理內存分配了一些空間。在這些空間內允許交換數據頁。
顯然,系統在文件系統緩存中查找數據而不是在驅動器上搜索數據會提高系統的性能。太多的搜索操作會使處理器停頓下來。這就是短語「買更多的內存」成為計算機時代的陳詞濫調的原因之一:RAM是你的朋友。管理內存可使你的「朋友」更高效。
Windows NT下的Windows Task Manager ([Ctrl][Alt][Delete] | Task Manager)是一個可以為訪問內存使用情況提供快捷重要信息的察看工具。考慮物理內存的大小並計算MEM Usage計數器的值,Memory Usage History提供了內存活動的即時情況。正如圖2.2.A所示,把CPU Usage計數器和CPU Usage History與MEM Usage計數器一作比較,就可以簡單地得到性能的總的評價。如果你必須決定是否要立刻啟動
Diskperf以進一步調查分頁過多問題那就非常便利了。
Windows NT的分頁文件可以通過Control Panel |System | Performance 標簽| Virtual Memory進行管理。在這里,你可以控制分頁文件的幾個設置(包括大小和區域)。顯然,你可以允許系統對它進行處理,但是為了獲得最佳配置還是使用Vitual Memory Manager (VMM)為好。
2.2.2 Windows NT分頁文件的基本原則
Windows NT最初通過在物理RAM的數量上加上12MB以設定開始的分頁文件大小。這12MB考慮到在系統故障時分頁文件內容可被傾倒到一個日誌中以防萬一。如果看見了「停止」框和接著出現藍屏死機,你就在操作中遇上了這個問題。如果開始的分頁文件的大小小於這個數(物理RAM的數量上加上12MB),就會開始收到Running Out Of Memory消息。
Windows NT操作系統和其應用程序使用了大約10MB的RAM。所以,應該從物理RAM的數量上減去這個值。這會給你充分的迴旋餘地決定你的伺服器的內存要求。
Windows NT要求分頁文件的最小值為2MB。如果分頁文件太小或者根本不存在,啟動時就會出現警告消息。
分頁文件應該總是遵循RAM的最小值+12的規則。在任何情況下,分頁文件都不能比伺服器中的RAM的大小小。如果系統有32 MB的物理RAM,加上12MB後分頁文件總的大小就是44MB。顯然,分頁文件越大於好。但是,我的意思是增加對物理RAM的投資,而不是簡單地增加分頁文件的大小。如果沒有足夠的RAM,驅動器就會花太多的時間對分頁文件進行讀寫。這只會降低你的伺服器的速度,如果你不得不重啟伺服器來清除I/O請求,甚至會導致伺服器不能工作。而如果因為這個原因需要重啟機器,那麼可能就會有第二次。
默認的12MB RAM足以在必要時把分頁文件的內容清除。小的分頁文件限制了可以存儲的內容並且可能耗完為應用程序保留的虛擬內存。如果RAM不足,就會有更多的分頁,這反過來為驅動器增加了額外的負擔,從而降低了系統的響應速度。在這樣的情況下,Windows NT要求分頁文件的最小值等於除了系統啟動時1MB虛擬內存之外的物理RAM的大小,以便能夠把調試信息寫到一個文件上。
如前所述,分頁文件的最大值和最小值在Virtual Memory對話框中指定。根據應用程序,分頁文件會增大和縮小。當系統運行著時,不能壓縮或維護分頁文件。但是,使用各種第三方軟體包如Diskeeper可對分頁文件進行維護。
④ MyBatis 邏輯分頁和物理分頁的區別是什麼
邏輯分頁是先查出來,然後利用代碼去取需要的部分;物理分頁是利用sql自帶的limit去實現的,本身查詢出來的數據是就算分頁好的
⑤ 資料庫 分頁是什麼意思
資料庫分頁也是在資料庫里寫查詢語句,不同的是查詢的都是指定條數到指定條數的數據,不是一次性把數據全查出來。
⑥ 什麼是分頁
http://ke..com/view/159980.htm
分頁 (pagination) 一種自動分頁機制,可以將 ASP.NET 移動 Web 窗體中的內容分割成一組組較小的頁進行呈現,以適合於特定的設備。該機制還呈現可用於瀏覽到其他頁的用戶界面元素。 分頁:將一個頁面分成兩個或兩個以上的頁面。
[編輯本段]什麼是分頁?
無論你的NT伺服器的內存有多大,它總是顯得不夠充足。當物理RAM從低端開始運行時,Windows NT使用了分頁文件Pagefile.sys。為了運行不同的進程和應用程序,Pagefile.sys給物理內存分配了一些空間。在這些空間內允許交換數據頁。 顯然,系統在文件系統緩存中查找數據而不是在驅動器上搜索數據會提高系統的性能。太多的搜索操作會使處理器停頓下來。這就是短語「買更多的內存」成為計算機時代的陳詞濫調的原因之一:RAM是你的朋友。管理內存可使你的「朋友」更高效。 Windows NT下的Windows Task Manager ([Ctrl][Alt][Delete] | Task Manager)是一個可以為訪問內存使用情況提供快捷重要信息的察看工具。考慮物理內存的大小並計算MEM Usage計數器的值,Memory Usage History提供了內存活動的即時情況。正如圖2.2.A所示,把CPU Usage計數器和CPU Usage History與MEM Usage計數器一作比較,就可以簡單地得到性能的總的評價。如果你必須決定是否要立刻啟動 Diskperf以進一步調查分頁過多問題那就非常便利了。 Windows NT的分頁文件可以通過Control Panel |System | Performance 標簽| Virtual Memory進行管理。在這里,你可以控制分頁文件的幾個設置(包括大小和區域)。顯然,你可以允許系統對它進行處理,但是為了獲得最佳配置還是使用Vitual Memory Manager (VMM)為好。 2.2.2 Windows NT分頁文件的基本原則 Windows NT最初通過在物理RAM的數量上加上12MB以設定開始的分頁文件大小。這12MB考慮到在系統故障時分頁文件內容可被傾倒到一個日誌中以防萬一。如果看見了「停止」框和接著出現藍屏死機,你就在操作中遇上了這個問題。如果開始的分頁文件的大小小於這個數(物理RAM的數量上加上12MB),就會開始收到Running Out Of Memory消息。 Windows NT操作系統和其應用程序使用了大約10MB的RAM。所以,應該從物理RAM的數量上減去這個值。這會給你充分的迴旋餘地決定你的伺服器的內存要求。 Windows NT要求分頁文件的最小值為2MB。如果分頁文件太小或者根本不存在,啟動時就會出現警告消息。 分頁文件應該總是遵循RAM的最小值+12的規則。在任何情況下,分頁文件都不能比伺服器中的RAM的大小小。如果系統有32 MB的物理RAM,加上12MB後分頁文件總的大小就是44MB。顯然,分頁文件越大於好。但是,我的意思是增加對物理RAM的投資,而不是簡單地增加分頁文件的大小。如果沒有足夠的RAM,驅動器就會花太多的時間對分頁文件進行讀寫。這只會降低你的伺服器的速度,如果你不得不重啟伺服器來清除I/O請求,甚至會導致伺服器不能工作。而如果因為這個原因需要重啟機器,那麼可能就會有第二次。 默認的12MB RAM足以在必要時把分頁文件的內容清除。小的分頁文件限制了可以存儲的內容並且可能耗完為應用程序保留的虛擬內存。如果RAM不足,就會有更多的分頁,這反過來為驅動器增加了額外的負擔,從而降低了系統的響應速度。在這樣的情況下,Windows NT要求分頁文件的最小值等於除了系統啟動時1MB虛擬內存之外的物理RAM的大小,以便能夠把調試信息寫到一個文件上。 如前所述,分頁文件的最大值和最小值在Virtual Memory對話框中指定。根據應用程序,分頁文件會增大和縮小。當系統運行著時,不能壓縮或維護分頁文件。但是,使用各種第三方軟體包如Diskeeper可對分頁文件進行維護。
⑦ 什麼叫「分頁查詢」
分頁查詢,是一種操作系統里存儲器管理的一種技術,可以使電腦的主存可以使用存儲在輔助存儲器中的數據。操作系統會將輔助存儲器(通常是磁碟)中的數據分區成固定大小的區塊,稱為「頁」(pages)。當不需要時,將分頁由主存(通常是內存)移到輔助存儲器;當需要時,再將數據取回,載入主存中。相對於分段,分頁允許存儲器存儲於不連續的區塊以維持文件系統的整齊。分頁是磁碟和內存間傳輸數據塊的最小單位。
(7)物理資料庫分頁什麼意思擴展閱讀:
分頁查詢的頁面調度類型
1、當需要用到數據時再向系統請求,使系統將數據由輔助存儲器傳入存儲器上,這就叫「需求分頁」。它使得系統不需要將全部的程序都放在存儲器上,減少了所需要的存儲器的數量。所有現代系統都使用按需頁面調度(paging)的方式。
2、當系統查看分頁表時認為某些數據可能需要用到,而先將數據傳到存儲器上的行為,就叫做「先行分頁」, 當存儲器夠大的話通常會採取這種方式。
3、Unix系統會定期使用sync程序來清理所有經過更動的幀,它會將所有被更動過的幀存到輔助存儲器中。Windows系統有時亦會進行類似功能的操作,它可以使新程序在打開時更快速。