换页算法
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谢谢