換頁演算法
A. c++程序問題
你這個是操作系統裡面的虛擬內存的換頁演算法部分的內容吧。。。
LRU()函數是用最近最少使用演算法進行頁面替換的
findPage()是用來查找頁面id=num的頁面的
findReplace()是去查找可以用來換出的頁面id的。
findSpace()是用來查找是否仍然有可用空間的。
核心問題就是LRU()函數,先找最長時間沒用的,再找使用次數最少的
B. 怎麼開啟超級緩存
Supercache簡單設定方法:
1.先安裝好重開機
2.在我的計算機裡面,把你要cache的磁碟按右鍵選內容:
3.再選Performance:
4.點SuperCache II...會出現目前狀況:
5.點Configure...來設定:
設置說明:
Cache page size一般來說不太需要動他,選大一點會有比較好的效能,但是空間使用上會比較浪費(最好和陣列的一致)
Cache size要使用多少內存來當cache,最大值請勿超過物理內存開機以後所剩下的量,不然會反效果。(系統最少保留256M以上)
Sort algorithm換頁演算法,MRU比較省CPU資源,MFU則可能會有比較高的擊中率。
Read-ahead通常5個應該就夠了(我設的是2)
Defferred-write就是所謂的write-back,可以提高寫入效能,不過如果當機,會導致數據流失,通常建議不要使用(小心測試,不要太猛)
C. 怎樣實現翻頁效果急!!!
使用OPenGL實現太過於復雜,可以使用2D來模擬。簡單的說就是通過圖形變換,Canvas有個叫drawBitmapMesh的方法可以幫你實現。變換的演算法可以參考貝塞爾曲線。
D. 如何從硬碟安裝FREEBSD
1)isoemu(引導ISO鏡像用)
2)虛擬光碟機,用DAEMON Tools
具體步驟:
1: 前提:你的系統已經安裝里windows的操作系統以及可以上網
2: 下載輔助軟體ISOEMU,以及freebsd5.4的5.4-RELEASE-i386-bootonly 只包含啟動文件
5.4-RELEASE-i386-disc1 安裝盤1 5.4-RELEASE-i386-disc2 安裝盤2,這三個安裝文件這里可
以下載ftp: //ftp.freebsdchina.org/pub/FreeBSD/releases/i386/ISO-IMAGES/5.4/
3: 用虛擬光碟機把disc1鏡像文件裡面的5.4-RELEASE文件夾(236MB左右)提取復制到主分區(估
計邏輯分區還不支持,最好是放在你的啟動分區,支持NTFS格式),disc1的packages提取出來放
到5.4-Release,然後虛擬disc2鏡像文件,復制裡面的packages文件夾(500MB左右)到剛才從
disc1復制出來的5.4-RELEASE文件夾裡面,提示文件名相同按覆蓋就是.
4: 修改剛才復制過來的5.4-RELEASE\packages的INDEX文件,用寫字板打開,查找替換目
標"||1"替換成"|"查找"||2"替換成"|",之後保存.
5: 把下載了的isoemu解壓到根分區(不需放在文件夾),即含有boot.ini文件的那個分區(裡面
包含了一個說明文件,詳細說明了各個文件的用途和使用方法),之後編輯isoemu.ini找
到"isogrub.iso"改為你的啟動鏡像文件名,我這里用"freebsd.iso",保存退出.
6: 把5.4-RELEASE-i386-bootonly啟動鏡像文件復制到安放了isoemu的分區,並改名
為"freebsd.iso"與上面對應
7: 修改boot.ini文件,在下面加入一行c:\ieldr="Load IsoEmu Final SV"
8: 准備功夫完成,現在可以重新啟動機器,選擇啟動load IsoEmu Final SV,isoemu就開始自動
載入freebsd.iso文件讀取啟動信息,接著就是熟悉的引導內核的界面.
下來的步驟相信大家都熟悉,不知道的可以去看看HANDBOOK .你可以選擇從硬碟安裝,如果不想
復制下載那麼多文件或者你是區域網可以選擇從網上安裝,可以省略步驟2,3,只啟動
SYSINSTALL系統安裝程序從其他媒介安裝系統
不會安裝的,可以看看我以前的安裝方法
分區的時候可以按下面的說明來
我經常建立的文件系統的次序是128M的root,1G的swap,128M的
/var/tmp,3G的/usr,其餘的空間留給/home。
典型地,你應該把交換區大小定為2倍的內存大小。如果你沒有很多內存,那樣的話,你將需
要更多的交換區空間。不建議將交換區定在小於256M,當你確定交換區大小的時候,你要考慮
到將來可能要擴充內存。內核的VM(虛擬內存)換頁演算法性能是准對交換區至少是內存大小2倍
的條件進行優化的。配置太小的交換區會導致VM頁面掃描的低效率,當內存擴充後,隨之也會
導致問題。最後在一個有多個SCSI硬碟的大系統上(或者有多個IDE磁碟工作在多個IDE 控制器
上),我們強烈建議在每個驅動器上配置交換分區,每個交換分區的大小應該是幾乎一樣的,
內核能處理任意大小的交換區,但是內部數據結構放大到最大分區的4倍大小。保持交換分區
同樣的大小允許內核優化地將交換空間交叉分布在N個磁碟上。不要擔心這樣做有點過份,交
換區是UNIX的救星,甚至於你雖然通常不用那麼多交換區,在被迫重新啟動之前,它也可以給
你時間去從一個出軌的程序中把系統恢復過來。
怎樣為你的/var分區定大小主要依賴於你將怎樣使用這台機器。這個分區主要存放郵箱,列印
緩沖區和日誌文件。有些人甚至於把/var/log作為一個獨立的分區(但是除非有特別的情況,
這樣做不值得,只會浪費一個分區ID)。如果你這台機器主要用做郵件或列印伺服器,或者運
行一個大訪問量的WEB 伺服器,你應該考慮把這個分區建的更大一點,可能1G或更多。很容易
低估日誌文件的存儲需求。
確定/var/tmp的大小依賴於你將需要怎樣使用你的臨時文件。128M是建議的最小的尺寸。注意
sysinstall將建立一個/tmp目錄,但是通常把/tmp作為/var/tmp的連接是個好注意。為臨時文
件建立一個分區有兩個重要的原因: 首先,它減少了系統崩潰後文件系統損壞的可能性,再就
是減少一個出軌程序填滿[/var]/tmp時影響其他重要子系統(mail,logging等等) 的機會。填
滿[/var]/tmp是經常發生的問題。
在以前/tmp和/var/tmp是不同的東西,但是引入/var(和 /var/tmp)是被程序員引起的大迷惑
,今天的程序間或使用一個或另一個,它們兩者變的沒有區別。所以把它們變成一個臨時目錄
是有道理的.然而,當你處理/tmp時,有一件事情是你不想做的,就是把/tmp駐留在根分區上
,導致根分區被填滿或崩潰後重啟時文件系統損壞.
/usr分區存放大量用於支持系統的文件,子目錄/usr/local存放大量從ports(7)安裝的文件.
如果你不那麼多使用ports,也不將系統源代碼 (/usr/src)存放在機器上,你可以為/usr節省
1G的磁碟空間.相反,如果你安裝大量的ports(特別是窗口管理和Linux模擬)建議你至少2G的
/usr,如果你還要將系統源代碼放在機器上,我們建議你3G的/usr,不要低估所需的空間,它
會慢慢爬起來,讓你大吃一驚.
/home分區存放用戶自己的數據,可以把餘下的空間留給這個分區.
為什麼要分區? 為什麼不建一個大的/分區就行了? 那樣我就不需要考慮分區大小問題。有幾
個原因顯示這不是個好注意。首先,每個分區都有不同的操作特徵,分開它們有利於文件系統
准對這些特徵調整它自己.例如,根和/usr分區主要是讀操作,只有少量的寫,而大量的讀和
寫可以發生在/var在/var/tmp。把小的但是具有更繁忙的寫操作的分區分開,就不會影響讀操
作居多的分區.再就是,把寫操作居多的分區靠近磁碟外側(例如,不是在一個大分區前,而
是分區表後)有利於對你經常需要的分區增加性能。你可能也需要在大分區中的I/O性能,但是
它們是那樣的大以至於把它們移到磁碟外側也不會顯著增加性能,但是把/var移到磁碟外側會
有顯著的不同.
5.4默認使用xorg,而且安裝過程不會提示安裝和設置桌面環境,完成安裝重啟系統,再運行
sysinstall程序進行安裝桌面,也可以通過port來安裝,由你喜歡.另外還要運行xorgcfg -
E. win7下如何硬碟安裝FreeBSD8,詳細點
具體步驟:
1: 前提:你的系統已經安裝里windows的操作系統以及可以上網
2: 下載輔助軟體ISOEMU,以及freebsd8的8-RELEASE-i386-bootonly 只包含啟動文件
8.0-RELEASE-i386-disc1 安裝盤1 8.0-RELEASE-i386-disc2 安裝盤2,這三個安裝文件這里可
以下載ftp: //ftp.freebsdchina.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.0/
3: 用虛擬光碟機把disc1鏡像文件裡面的8.0-RELEASE文件夾(236MB左右)提取復制到主分區(估
計邏輯分區還不支持,最好是放在你的啟動分區,支持NTFS格式),disc1的packages提取出來放
到8.0-Release,然後虛擬disc2鏡像文件,復制裡面的packages文件夾(500MB左右)到剛才從
disc1復制出來的5.4-RELEASE文件夾裡面,提示文件名相同按覆蓋就是.
4: 修改剛才復制過來的5.4-RELEASE\packages的INDEX文件,用寫字板打開,查找替換目
標"||1"替換成"|"查找"||2"替換成"|",之後保存.
5: 把下載了的isoemu解壓到根分區(不需放在文件夾),即含有boot.ini文件的那個分區(裡面
包含了一個說明文件,詳細說明了各個文件的用途和使用方法),之後編輯isoemu.ini找
到"isogrub.iso"改為你的啟動鏡像文件名,我這里用"freebsd.iso",保存退出.
6: 把8.0-RELEASE-i386-bootonly啟動鏡像文件復制到安放了isoemu的分區,並改名
為"freebsd.iso"與上面對應
7: 修改boot.ini文件,在下面加入一行c:\ieldr="Load IsoEmu Final SV"
8: 准備功夫完成,現在可以重新啟動機器,選擇啟動load IsoEmu Final SV,isoemu就開始自動
載入freebsd.iso文件讀取啟動信息,接著就是熟悉的引導內核的界面.
下來的步驟相信大家都熟悉,不知道的可以去看看HANDBOOK .你可以選擇從硬碟安裝,如果不想
復制下載那麼多文件或者你是區域網可以選擇從網上安裝,可以省略步驟2,3,只啟動
SYSINSTALL系統安裝程序從其他媒介安裝系統
不會安裝的,可以看看我以前的安裝方法
分區的時候可以按下面的說明來
我經常建立的文件系統的次序是128M的root,1G的swap,128M的
/var/tmp,3G的/usr,其餘的空間留給/home。
典型地,你應該把交換區大小定為2倍的內存大小。如果你沒有很多內存,那樣的話,你將需
要更多的交換區空間。不建議將交換區定在小於256M,當你確定交換區大小的時候,你要考慮
到將來可能要擴充內存。內核的VM(虛擬內存)換頁演算法性能是准對交換區至少是內存大小2倍
的條件進行優化的。配置太小的交換區會導致VM頁面掃描的低效率,當內存擴充後,隨之也會
導致問題。最後在一個有多個SCSI硬碟的大系統上(或者有多個IDE磁碟工作在多個IDE 控制器
上),我們強烈建議在每個驅動器上配置交換分區,每個交換分區的大小應該是幾乎一樣的,
內核能處理任意大小的交換區,但是內部數據結構放大到最大分區的4倍大小。保持交換分區
同樣的大小允許內核優化地將交換空間交叉分布在N個磁碟上。不要擔心這樣做有點過份,交
換區是UNIX的救星,甚至於你雖然通常不用那麼多交換區,在被迫重新啟動之前,它也可以給
你時間去從一個出軌的程序中把系統恢復過來。
怎樣為你的/var分區定大小主要依賴於你將怎樣使用這台機器。這個分區主要存放郵箱,列印
緩沖區和日誌文件。有些人甚至於把/var/log作為一個獨立的分區(但是除非有特別的情況,
這樣做不值得,只會浪費一個分區ID)。如果你這台機器主要用做郵件或列印伺服器,或者運
行一個大訪問量的WEB 伺服器,你應該考慮把這個分區建的更大一點,可能1G或更多。很容易
低估日誌文件的存儲需求。
確定/var/tmp的大小依賴於你將需要怎樣使用你的臨時文件。128M是建議的最小的尺寸。注意
sysinstall將建立一個/tmp目錄,但是通常把/tmp作為/var/tmp的連接是個好注意。為臨時文
件建立一個分區有兩個重要的原因: 首先,它減少了系統崩潰後文件系統損壞的可能性,再就
是減少一個出軌程序填滿[/var]/tmp時影響其他重要子系統(mail,logging等等) 的機會。填
滿[/var]/tmp是經常發生的問題。
在以前/tmp和/var/tmp是不同的東西,但是引入/var(和 /var/tmp)是被程序員引起的大迷惑
,今天的程序間或使用一個或另一個,它們兩者變的沒有區別。所以把它們變成一個臨時目錄
是有道理的.然而,當你處理/tmp時,有一件事情是你不想做的,就是把/tmp駐留在根分區上
,導致根分區被填滿或崩潰後重啟時文件系統損壞.
/usr分區存放大量用於支持系統的文件,子目錄/usr/local存放大量從ports(7)安裝的文件.
如果你不那麼多使用ports,也不將系統源代碼 (/usr/src)存放在機器上,你可以為/usr節省
1G的磁碟空間.相反,如果你安裝大量的ports(特別是窗口管理和Linux模擬)建議你至少2G的
/usr,如果你還要將系統源代碼放在機器上,我們建議你3G的/usr,不要低估所需的空間,它
會慢慢爬起來,讓你大吃一驚.
/home分區存放用戶自己的數據,可以把餘下的空間留給這個分區.
為什麼要分區? 為什麼不建一個大的/分區就行了? 那樣我就不需要考慮分區大小問題。有幾
個原因顯示這不是個好注意。首先,每個分區都有不同的操作特徵,分開它們有利於文件系統
准對這些特徵調整它自己.例如,根和/usr分區主要是讀操作,只有少量的寫,而大量的讀和
寫可以發生在/var在/var/tmp。把小的但是具有更繁忙的寫操作的分區分開,就不會影響讀操
作居多的分區.再就是,把寫操作居多的分區靠近磁碟外側(例如,不是在一個大分區前,而
是分區表後)有利於對你經常需要的分區增加性能。你可能也需要在大分區中的I/O性能,但是
它們是那樣的大以至於把它們移到磁碟外側也不會顯著增加性能,但是把/var移到磁碟外側會
有顯著的不同.
5.4默認使用xorg,而且安裝過程不會提示安裝和設置桌面環境,完成安裝重啟系統,再運行
sysinstall程序進行安裝桌面,也可以通過port來安裝,由你喜歡.另外還要運行xorgcfg -
textmode配置x.
F. 如何減少換頁錯誤
減少換頁錯誤的方法,即降低缺頁中斷率:
1、內存頁框數。增加作業分得的內存塊數。
2、頁面大小。頁面劃分越大,中斷率越低。
3、替換演算法的優劣影響缺頁中斷次數
4、程序局部性。程序局部性好可減少缺頁中斷。
換頁錯誤:
PageFault 是在進程嘗試執行代碼指導,或者引用進程所映射物理內存中並不存在的數據頁時,操作系統記錄的事件。換句話說,進程需要的內存頁實際上可能還處於物理內存中,但是由於它無法再分配到進程中,所以當進程將此頁讀取回到它的內存頁時,就發生了PageFault。
簡單來說就是想在內存里找東西,卻發現不存在(不得不重新讀取...),按道理這不應該算「錯誤」這么嚴重吧(簡單點,「不命中」而已)。
G. 怎麼實現listView上下換行和翻頁
你好,有兩種解決方案:
一,從伺服器上後取下來後生成集合緩存到ImageList控制項,添加控制項listview,設置此listview的LargeImageList綁定到ImageList.對於分頁可以寫演算法處理,每次都只取一頁,將imagelist清空後重新綁定.此方式優點是圖片展示很輕松,但是分頁演算法需要自己寫到伺服器上去取.
二,通過Gridview實現,Gridview可以在行列內嵌套控制項,比如picture.通過這個方法實現優點在於分頁是否輕松可以實現,但是行列嵌套的控制項卻要自己費些功夫.這個方式可以從網上搜索,很多例子.
H. 計算機系統中 頁面替換演算法 FIFO問題
首先,在FIFO換頁策略下,紅框時刻若缺頁(miss),則換出的塊是6
1.為什麼不是221?
塊2已經在內存中,該次訪問命中,故不會替換塊6
2.為什麼不是231?
塊6被塊3替換,故內存塊序列為231
不明白請及時追問,滿意敬請採納,O(∩_∩)O謝謝
I. 安裝freebsd出現了問題
1)isoemu(引導ISO鏡像用)
2)虛擬光碟機,用DAEMON Tools
具體步驟:
1: 前提:你的系統已經安裝里windows的操作系統以及可以上網
2: 下載輔助軟體ISOEMU,以及freebsd5.4的5.4-RELEASE-i386-bootonly 只包含啟動文件
5.4-RELEASE-i386-disc1 安裝盤1 5.4-RELEASE-i386-disc2 安裝盤2,這三個安裝文件這里可
以下載ftp: //ftp.freebsdchina.org/pub/FreeBSD/releases/i386/ISO-IMAGES/5.4/
3: 用虛擬光碟機把disc1鏡像文件裡面的5.4-RELEASE文件夾(236MB左右)提取復制到主分區(估
計邏輯分區還不支持,最好是放在你的啟動分區,支持NTFS格式),disc1的packages提取出來放
到5.4-Release,然後虛擬disc2鏡像文件,復制裡面的packages文件夾(500MB左右)到剛才從
disc1復制出來的5.4-RELEASE文件夾裡面,提示文件名相同按覆蓋就是.
4: 修改剛才復制過來的5.4-RELEASE\packages的INDEX文件,用寫字板打開,查找替換目
標"||1"替換成"|"查找"||2"替換成"|",之後保存.
5: 把下載了的isoemu解壓到根分區(不需放在文件夾),即含有boot.ini文件的那個分區(裡面
包含了一個說明文件,詳細說明了各個文件的用途和使用方法),之後編輯isoemu.ini找
到"isogrub.iso"改為你的啟動鏡像文件名,我這里用"freebsd.iso",保存退出.
6: 把5.4-RELEASE-i386-bootonly啟動鏡像文件復制到安放了isoemu的分區,並改名
為"freebsd.iso"與上面對應
7: 修改boot.ini文件,在下面加入一行c:\ieldr="Load IsoEmu Final SV"
8: 准備功夫完成,現在可以重新啟動機器,選擇啟動load IsoEmu Final SV,isoemu就開始自動
載入freebsd.iso文件讀取啟動信息,接著就是熟悉的引導內核的界面.
下來的步驟相信大家都熟悉,不知道的可以去看看HANDBOOK .你可以選擇從硬碟安裝,如果不想
復制下載那麼多文件或者你是區域網可以選擇從網上安裝,可以省略步驟2,3,只啟動
SYSINSTALL系統安裝程序從其他媒介安裝系統
不會安裝的,可以看看我以前的安裝方法
分區的時候可以按下面的說明來
我經常建立的文件系統的次序是128M的root,1G的swap,128M的
/var/tmp,3G的/usr,其餘的空間留給/home。
典型地,你應該把交換區大小定為2倍的內存大小。如果你沒有很多內存,那樣的話,你將需
要更多的交換區空間。不建議將交換區定在小於256M,當你確定交換區大小的時候,你要考慮
到將來可能要擴充內存。內核的VM(虛擬內存)換頁演算法性能是准對交換區至少是內存大小2倍
的條件進行優化的。配置太小的交換區會導致VM頁面掃描的低效率,當內存擴充後,隨之也會
導致問題。最後在一個有多個SCSI硬碟的大系統上(或者有多個IDE磁碟工作在多個IDE 控制器
上),我們強烈建議在每個驅動器上配置交換分區,每個交換分區的大小應該是幾乎一樣的,
內核能處理任意大小的交換區,但是內部數據結構放大到最大分區的4倍大小。保持交換分區
同樣的大小允許內核優化地將交換空間交叉分布在N個磁碟上。不要擔心這樣做有點過份,交
換區是UNIX的救星,甚至於你雖然通常不用那麼多交換區,在被迫重新啟動之前,它也可以給
你時間去從一個出軌的程序中把系統恢復過來。
怎樣為你的/var分區定大小主要依賴於你將怎樣使用這台機器。這個分區主要存放郵箱,列印
緩沖區和日誌文件。有些人甚至於把/var/log作為一個獨立的分區(但是除非有特別的情況,
這樣做不值得,只會浪費一個分區ID)。如果你這台機器主要用做郵件或列印伺服器,或者運
行一個大訪問量的WEB 伺服器,你應該考慮把這個分區建的更大一點,可能1G或更多。很容易
低估日誌文件的存儲需求。
確定/var/tmp的大小依賴於你將需要怎樣使用你的臨時文件。128M是建議的最小的尺寸。注意
sysinstall將建立一個/tmp目錄,但是通常把/tmp作為/var/tmp的連接是個好注意。為臨時文
件建立一個分區有兩個重要的原因: 首先,它減少了系統崩潰後文件系統損壞的可能性,再就
是減少一個出軌程序填滿[/var]/tmp時影響其他重要子系統(mail,logging等等) 的機會。填
滿[/var]/tmp是經常發生的問題。
在以前/tmp和/var/tmp是不同的東西,但是引入/var(和 /var/tmp)是被程序員引起的大迷惑
,今天的程序間或使用一個或另一個,它們兩者變的沒有區別。所以把它們變成一個臨時目錄
是有道理的.然而,當你處理/tmp時,有一件事情是你不想做的,就是把/tmp駐留在根分區上
,導致根分區被填滿或崩潰後重啟時文件系統損壞.
/usr分區存放大量用於支持系統的文件,子目錄/usr/local存放大量從ports(7)安裝的文件.
如果你不那麼多使用ports,也不將系統源代碼 (/usr/src)存放在機器上,你可以為/usr節省
1G的磁碟空間.相反,如果你安裝大量的ports(特別是窗口管理和Linux模擬)建議你至少2G的
/usr,如果你還要將系統源代碼放在機器上,我們建議你3G的/usr,不要低估所需的空間,它
會慢慢爬起來,讓你大吃一驚.
/home分區存放用戶自己的數據,可以把餘下的空間留給這個分區.
為什麼要分區? 為什麼不建一個大的/分區就行了? 那樣我就不需要考慮分區大小問題。有幾
個原因顯示這不是個好注意。首先,每個分區都有不同的操作特徵,分開它們有利於文件系統
准對這些特徵調整它自己.例如,根和/usr分區主要是讀操作,只有少量的寫,而大量的讀和
寫可以發生在/var在/var/tmp。把小的但是具有更繁忙的寫操作的分區分開,就不會影響讀操
作居多的分區.再就是,把寫操作居多的分區靠近磁碟外側(例如,不是在一個大分區前,而
是分區表後)有利於對你經常需要的分區增加性能。你可能也需要在大分區中的I/O性能,但是
它們是那樣的大以至於把它們移到磁碟外側也不會顯著增加性能,但是把/var移到磁碟外側會
有顯著的不同.
5.4默認使用xorg,而且安裝過程不會提示安裝和設置桌面環境,完成安裝重啟系統,再運行
sysinstall程序進行安裝桌面,也可以通過port來安裝,由你喜歡.另外還要運行xorgcfg -
textmode配置x.
J. 選擇題下面哪個頁面替換演算法實際上是不能夠實現的
首先,在FIFO換頁策略下,紅框時刻若缺頁(miss),則換出的塊是61.為什麼不是221?塊2已經在內存中,該次訪問命中,故不會替換塊62.為什麼不是231?塊6被塊3替換,故內存塊序列為231不明白請及時追問,滿意敬請採納,O(∩_∩)O謝謝