实验报告四

合集下载

实验报告_4

实验报告_4

信号检测论(有无法)实验报告信号检测论(有无法)实验报告1、引言信号检测论认为:被试觉察信号有一个中枢神经效应,这种效应随着每次刺激呈现,时刻都在变化。

信号总是在噪音的背景上产生,信号的影响和噪音的影响都被假定为正态分布,这里的噪音不仅是指纯音信号出现时的其他噪音而言的, 如果把噪音除外, 人类个体所测定的感受性及主观态度就可以被分开。

理想的信号检测是既不漏报也不虚报, 在实际生活中表现为将损失尽可能降到最小。

提高信号检测的能力就意味着要提高信号检测的正确率, 使结果更为可靠, 减少盲目性(何立国,2001), 而观察者是否报告取决于两个条件, 一个是信号出现的概率P(SN), 一个是对观察者回答的奖惩程度(朱滢, 2000)。

被试反应“有”,或者“无”,这个反应标准的选择由很多因素(如感受性、利益得失、动机、态度、情绪、意志等)决定。

这个反应标准就是阈限,,而不是感觉本身的东西,它包括两个独立指标:一个是反应偏向,可用似然比值(β)或报告标准(C)来表示,它包括利益得失、动机、态度等因素;另一个是辨别力指标(d’),表示感知能力(王志毅, 2003)。

有无法是信号检测论测定阈限的基本方法。

主要步骤为,主试呈现刺激后,让被试判定所呈现的刺激中有无信号,并予以口头报告,被试只做“有”或“无”的简单反应。

被试的可能反应类型有四种:(1)刺激出现并报告“有”, 这种反应被称为“击中”(hit);(2)刺激出现并报告“无”, 这种反应被称为“漏报”(miss);(3)刺激没有出现并报告“有”, 这种反应被称为“虚惊”(false alarm);(4)刺激没有出现并报告“无”, 这种反应被称为“正确拒斥”(correct rejection)。

信号检测论用似然比β或报告标准C来对反应倾向进行衡量, 选用辨别力指标d’来作为反映客观感受性的指标, β值大小决定被试的决策是偏向于严格还是偏向于宽松。

2、方法2.1被试本实验的被试为本科学生一名, 20岁, 女生。

实验四虚拟机实验报告

实验四虚拟机实验报告

实验四虚拟机实验报告一、实验目的本次实验的主要目的是深入了解虚拟机的工作原理和功能,通过实际操作掌握虚拟机的创建、配置、安装操作系统以及在虚拟机中进行各种应用程序的运行和测试。

同时,通过对虚拟机的使用,提高对计算机系统资源管理和分配的理解,以及解决在虚拟机使用过程中可能遇到的各种问题的能力。

二、实验环境1、操作系统:Windows 10 专业版2、虚拟机软件:VMware Workstation Pro 163、硬件配置:Intel Core i7 处理器,16GB 内存,512GB SSD 硬盘三、实验内容1、虚拟机软件的安装与配置首先,从官方网站下载 VMware Workstation Pro 16 安装程序,并按照安装向导进行安装。

在安装过程中,选择典型安装选项,并接受默认的安装路径和设置。

安装完成后,启动 VMware Workstation Pro 16,进行软件的初始配置,包括许可证密钥的输入和网络设置的选择。

2、创建虚拟机打开 VMware Workstation Pro 16,点击“创建新的虚拟机”按钮。

在“新建虚拟机向导”中,选择“典型(推荐)”配置类型。

接着,选择要安装的操作系统类型和版本,本次实验选择安装Windows Server 2019 操作系统。

为虚拟机指定名称和存储位置,并根据实际需求设置虚拟机的磁盘大小和存储方式。

3、虚拟机的配置在创建虚拟机后,对虚拟机的硬件进行配置,包括内存大小、CPU 核心数量、网络适配器类型、声卡和显卡等。

根据实验的需求和主机的硬件资源,合理分配虚拟机的硬件资源,以确保虚拟机能够流畅运行。

4、安装操作系统配置完成后,启动虚拟机,将 Windows Server 2019 操作系统的安装光盘镜像文件加载到虚拟机的光驱中。

在虚拟机中按照操作系统的安装向导进行安装,包括选择安装分区、设置管理员密码等操作。

等待操作系统安装完成,并进行必要的系统更新和驱动安装。

数字信号处理实验报告 (实验四)

数字信号处理实验报告 (实验四)

实验四 离散时间信号的DTFT一、实验目的1. 运用MA TLAB 计算离散时间系统的频率响应。

2. 运用MA TLAB 验证离散时间傅立叶变换的性质。

二、实验原理(一)、计算离散时间系统的DTFT已知一个离散时间系统∑∑==-=-Nk k N k k k n x b k n y a 00)()(,可以用MATLAB 函数frequz 非常方便地在给定的L 个离散频率点l ωω=处进行计算。

由于)(ωj e H 是ω的连续函数,需要尽可能大地选取L 的值(因为严格说,在MA TLAB 中不使用symbolic 工具箱是不能分析模拟信号的,但是当采样时间间隔充分小的时候,可产生平滑的图形),以使得命令plot 产生的图形和真实离散时间傅立叶变换的图形尽可能一致。

在MA TLAB 中,freqz 计算出序列{M b b b ,,,10 }和{N a a a ,,,10 }的L 点离散傅立叶变换,然后对其离散傅立叶变换值相除得到L l eH l j ,,2,1),( =ω。

为了更加方便快速地运算,应将L 的值选为2的幂,如256或者512。

例3.1 运用MA TLAB 画出以下系统的频率响应。

y(n)-0.6y(n-1)=2x(n)+x(n-1)程序: clf;w=-4*pi:8*pi/511:4*pi;num=[2 1];den=[1 -0.6];h=freqz(num,den,w);subplot(2,1,1)plot(w/pi,real(h));gridtitle(‘H(e^{j\omega}的实部’))xlabel(‘\omega/ \pi ’);ylabel(‘振幅’);subplot(2,1,1)plot(w/pi,imag(h));gridtitle(‘H(e^{j\omega}的虚部’))xlabel(‘\omega/ \pi ’);ylabel(‘振幅’);(二)、离散时间傅立叶变换DTFT 的性质。

实验报告 范文(四)

实验报告 范文(四)

中毒事故后果模拟一、训练目的1.通过训练,学会使用PHAST软件对石油化工装置泄漏后可能发生的中毒事故进行分析,掌握使用PHAST软件建立相对模型,模拟分析中毒影响范围和严重程度。

2.掌握毒性物质致死概率。

二、训练内容要求毒性气体或液体泄漏后中毒事故的模拟三、训练仪器本训练所用实验软件为:PHAST6.7四、训练方法和步骤:1.了解毒性物质泄漏中毒的原理,学习使用Vessel/pipe source 模型模拟中毒事故的方法。

2.选择Vessel/pipe source 模型3.输入相关参数(硫化氢泄漏)4.分别对扩散结果和毒性结果进行分析⑴扩散浓度结合硫化氢毒性阈限值,根据模拟结果进行分析,给出造成轻伤、重伤和死亡等不同中毒效果的浓度范围。

⑵致死概率通过看图和查看毒性报告,找出不同毒性致死概率与对应的范围,对付这些区域进行分析。

五、气体泄漏扩散浓度计算1.阈限值(TLVs)美国政府工业卫生专家协会针对多种化学物质制定了极限剂量,称为阈限值。

阈限值是空气中一种物质的浓度,其所代表的工作条件是,几乎所有的工人长期在这样的暴露条件下工作时,不会有不良的健康影响。

工人只有在工作时间才会暴露于此种毒物中,即每天八小时,每周五天。

2.阈限值与允许暴露浓度美国职业安全与健康管理局制定了一套极限剂量,称为允许暴露浓度。

3.致死概率的计算个体致死概率可通过中毒事故后果模型计算出某一事故场景在位置处产生的毒物浓度数值,然后根据概率函数法计算得到。

六、实验体会通过本次实验学习使用了PHAST软件,并了解了毒性物质泄漏中毒的原理及相关计算。

压力容器认知训练一、训练目的及要求使学生了解并熟悉压力容器的分类、特点、安全管理及检测检验方法和事故原因分析。

掌握KZL4—13—AII型工业锅炉,LSG立式水直管锅炉安全管理及检测检验方法。

二、设备KZL4—13—AII型工业锅炉,LSG立式水直管锅炉.三、认知训练内容1.压力容器的分类和特点。

实验四、RBF神经网络实验报告

实验四、RBF神经网络实验报告
简单说明一下为什么RBF网络学习收敛得比较快。当网络的一个或多个可调参数(权值或阈值)对任何一个输出都有影响时,这样的网络称为全局逼近网络。由于对于每次输入,网络上的每一个权值都要调整,从而导致全局逼近网络的学习速度很慢。BP网络就是一个典型的例子。
如果对于输入空间的某个局部区域只有少数几个连接权值影响输出,则该网络称为局部逼近网络。常见的局部逼近网络有RBF网络、小脑模型(CMAC)网络、B样条网络等。
广义RBF网络
Cover定理指出:将复杂的模式分类问题非线性地映射到高维空间将比投影到低维空间更可能线性可分。
广义RBF网络:从输入层到隐藏层相当于是把低维空间的数据映射到高维空间,输入层细胞个数为样本的维度,所以隐藏层细胞个数一定要比输入层细胞个数多。从隐藏层到输出层是对高维空间的数据进行线性分类的过程,可以采用单层感知器常用的那些学习规则,参见神经网络基础和感知器。
寻找逼近函数F(x)通过最小化下面的目标函数来实现:
加式的第一项好理解,这是均方误差,寻找最优的逼近函数,自然要使均方误差最小。第二项是用来控制逼近函数光滑程度的,称为正则化项,λ是正则化参数,D是一个线性微分算子,代表了对F(x)的先验知识。曲率过大(光滑度过低)的F(x)通常具有较大的||DF||值,因此将受到较大的惩罚。
3)Inverse multiquadrics(拟多二次)函数
σ称为径向基函数的扩展常数,它反应了函数图像的宽度,σ越小,宽度越窄,函数越具有选择性。
完全内插存在一些问题:
1)插值曲面必须经过所有样本点,当样本中包含噪声时,神经网络将拟合出一个错误的曲面,从而使泛化能力下降。K,K<P,从样本中选取K个(假设不包含噪声)作为Φ函数的中心。
隐藏层的作用是把向量从低维m映射到高维P,低维线性不可分的情况到高维就线性可分了。

统计学四篇实验报告

统计学四篇实验报告

《统计学》四篇实验报告实验一:用Excel构建指数分布、绘制指数分布图图1-2:指数分布在日常生活中极为常见,一般的电子产品寿命均服从指数分布。

在一些可靠性研究中指数分布显得尤为重要。

所以我们应该学会利用计算机分析指数分布、掌握EXPONDIST函数的应用技巧。

指数函数还有一个重要特征是无记忆性。

在此次实验中我们还学会了产生“填充数组原理”。

这对我们今后的工作学习中快捷地生成一组有规律的数组有很大的帮助。

实验二:用Excel计算置信区间一、实验目的及要求1、掌握总体均值的区间估计2、学习CONFIDENCE函数的应用技巧二、实验设备(环境)及要求1、实验软件:Excel 20072、实验数据:自选某市卫生监督部门对当地企业进行检查,随机抽取当地100家企业,平均得分95,已知当地卫生情况的标准差是30,置信水平0.5,试求当地企业得分的置信区间及置信上下限。

三、实验内容与步骤某市卫生监督部门对当地企业进行检查,随机抽取当地100家企业,平均得分95,已知当地卫生情况的标准差是30,置信水平0.5,试求当地企业得分的置信区间及置信上下限。

第1步:打开Excel2007新建一张新的Excel表;第2步:分别在A1、A2、A3、A4、A6、A7、A8输入“样本均值”“总体标准差”“样本容量”“显著性水平”“置信区间”“置信上限”“置信下限”;在B1、B2、B3、B4输入“90”“30”“100”“0.5”第3步:在B6单元格中输入“=CONFIDENCE(B4,B2,B3)”,然后按Enter键;第4步:在B7单元格中输入“=B1+B6”,然后按Enter键;第5步:同样在B8单元格中输入“=B1-B6”,然后按Enter键;计算结果如图2-1四、实验结果或数据处理图2-1:实验二:用Excel产生随机数见图3-1实验二:正态分布第1步:同均匀分布的第1步;第2步:在弹出“随机数发生器”对话框,首先在“分布”下拉列表框中选择“正态”选项,并设置“变量个数”数值为1,设置“随机数个数”数值为20,在“参数”选区中平均值、标准差分别设置数值为30和20,在“输出选项”选区中单击“输出区域”单选按钮,并设置为D2 单元格,单击“确定”按钮完成设置。

大学化学实验报告(通用4篇)

大学化学实验报告(通用4篇)

大学化学实验报告大学化学实验报告(通用4篇)在现实生活中,报告不再是罕见的东西,不同种类的报告具有不同的用途。

其实写报告并没有想象中那么难,下面是小编为大家整理的大学化学实验报告,仅供参考,欢迎大家阅读。

大学化学实验报告1一、实验目的用已知浓度溶液标准溶液)【本实验盐酸为标准溶液】测定未知溶液(待测溶液)浓度【本实验氢氧化钠为待测溶液】二、实验原理在酸碱中和反应中,使用一种的酸(或碱)溶液跟的碱(或酸)溶液完全中和,测出二者的,再根据化学方程式中酸和碱的物质的量的比值,就可以计算出碱(或酸)溶液的浓度。

计算公式:c (NaOH)?c(HCl)?V(HCl)c(NaOH)?V(NaOH)或c(HCl)?。

V(NaOH)V(HCl)三、实验用品酸式滴定管、碱式滴定管、锥形瓶、铁架台、滴定管夹、0、1000mol/L盐酸(标准液)、未知浓度的NaOH溶液(待测液)、酚酞(变色范围8、2~10)1、酸和碱反应的实质是。

2、酸碱中和滴定选用酚酞作指示剂,但其滴定终点的变色点并不是pH=7,这样对中和滴定终点的判断有没有影响?3、滴定管和量筒读数时有什么区别?四、数据记录与处理五、问题讨论酸碱中和滴定的关键是什么?大学化学实验报告2实验名称:酸碱中和滴定时间实验(分组)桌号合作者指导老师一:实验目的:用已知浓度溶液(标准溶液)【本实验盐酸为标准溶液】测定未知溶液(待测溶液)浓度【本实验氢氧化钠为待测溶液】二:实验仪器:酸式滴定管、碱式滴定管、锥形瓶、铁架台(含滴定管夹)。

实验药品:0、1000mol/L盐酸(标准溶液)、未知浓度的NaOH溶液(待测溶液)、酸碱指示剂:酚酞(变色范围8~10)或者甲基橙(3、1~4、4)三:实验原理:c(标)×V(标)=c(待)×V(待)【假设反应计量数之比为1:1】【本实验具体为:c(H+)×V(酸)=c(OH—)×V(碱)】四:实验过程:(一)滴定前的准备阶段1、检漏:检查滴定管是否漏水(具体方法:酸式滴定管,将滴定管加水,关闭活塞。

实验4实验报告

实验4实验报告

南昌航空大学实验报告2014年4 月18 日课程名称:计算机网络实验名称:RIP 路由协议的配置班级:110451 姓名:曹海潮学号:11045106指导老师评定:签名:一、实验目的1、练习RIP 动态路由协议的基本配置;2、掌握了解RIP 路由协议原理二、实验环境:模拟器三、关于RIP 的基础知识RIP(Routing Information Protocol)是最常使用的内部网关协议(Interior Gateway Protocol)之一,是一种典型的基于D-V 算法的动态路由协议。

通过UDP(User Datagram Protocol)报文交换路由信息,使用跳数(Hop Count)来衡量到达目的地的距离(被称为路由权-Routing cost)。

由于在RIP 中大于或等于16 的跳数被定义为无穷大(即目的网络或主机不可达),所以RIP 一般用于采用同类技术的中等规模的网络,如校园网及一个地区范围内的网络,RIP 并非为复杂、大型的网络而设计。

四:实验步骤:拓扑图如下所示:(选择custom made device里的路由器1841)配置过程:Router0:Router>enable //进入特权模式Router#conf ter //进入全局配置模式Enter configuration commands, one per line. End with CNTL/Z.Router(config)#int f0/0 //配置Fa0/0 接口Router(config-if)#ip add 1.1.1.1 255.255.255.0Router(config-if)#no shutdown%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to upRouter(config-if)#%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to upRouter(config-if)#exitRouter(config)#int s0/0/0 //配置串口Router(config-if)#ip add 1.1.4.1 255.255.255.0Router(config-if)#clock rate 64000Router(config-if)#no shutdown%LINK-5-CHANGED: Interface Serial0/0/0, changed state to downRouter(config-if)#exitRouter(config)#int s0/0/1 //配置串口Router(config-if)#ip add 1.1.4.1 255.255.255.0Router(config-if)#clock rate 64000Router(config-if)#no shutdown%LINK-5-CHANGED: Interface Serial0/0/1, changed state to downRouter(config-if)#exitRouter(config)#router rip //进入RIP 视图Router(config-router)#network 1.0.0.0 //发布直连网络Router(config-router)#exitRouter(config)#exitRouter#%SYS-5-CONFIG_I: Configured from console by consoleRouter#show ip route //查看路由表Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not set1.0.0.0/24 is subnetted, 6 subnetsC 1.1.1.0 is directly connected, FastEthernet0/0R 1.1.2.0 [120/1] via 1.1.4.2, 00:00:22, Serial0/0/0R 1.1.3.0 [120/1] via 1.1.5.2, 00:00:24, Serial0/0/1C 1.1.4.0 is directly connected, Serial0/0/0C 1.1.5.0 is directly connected, Serial0/0/1R 1.1.6.0 [120/1] via 1.1.5.2, 00:00:24, Serial0/0/1[120/1] via 1.1.4.2, 00:00:22, Serial0/0/0Router1:Router>enableRouter#conf terEnter configuration commands, one per line. End with CNTL/Z.Router(config)#int f0/0Router(config-if)#ip add 1.1.2.2 255.255.255.0Router(config-if)#no shutdown%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to upRouter(config-if)#exitRouter(config)#int s0/0/1Router(config-if)#ip add 1.1.6.1 255.255.255.0Router(config-if)#clock rate 64000Router(config-if)#no shutdown%LINK-5-CHANGED: Interface Serial0/0/1, changed state to upRouter(config-if)#exitRouter(config)#int s0/0/0Router(config-if)#ip add 1.1.4.2 255.255.255.0Router(config-if)#clo rate 64000Router(config-if)#no shutdown%LINK-5-CHANGED: Interface Serial0/0/0, changed state to downRouter(config-if)#exitRouter(config)#router ripRouter(config-router)#network 1.0.0.0Router(config-router)#exitRouter(config)#exitRouter#%SYS-5-CONFIG_I: Configured from console by consoleRouter#Router#show ip routeCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not set1.0.0.0/24 is subnetted, 6 subnetsR 1.1.1.0 [120/1] via 1.1.4.1, 00:00:04, Serial0/0/0C 1.1.2.0 is directly connected, FastEthernet0/0R 1.1.3.0 [120/1] via 1.1.6.2, 00:00:15, Serial0/0/1C 1.1.4.0 is directly connected, Serial0/0/0R 1.1.5.0 [120/1] via 1.1.4.1, 00:00:04, Serial0/0/0[120/1] via 1.1.6.2, 00:00:15, Serial0/0/1C 1.1.6.0 is directly connected, Serial0/0/1Router2:Router>enRouter#conf terEnter configuration commands, one per line. End with CNTL/Z.Router(config)#int f0/0Router(config-if)#ip add 1.1.3.2 255.255.255.0Router(config-if)#no shutdown%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to upRouter(config-if)#exitRouter(config)#int s0/0/0Router(config-if)#ip add 1.1.6.2 255.255.255.0Router(config-if)#clo rate 64000Router(config-if)#no shutdownRouter(config-if)#%LINK-5-CHANGED: Interface Serial0/0/0, changed state to upRouter(config-if)#exitRouter(config)#int s0/0/1Router(config-if)#ip add 1.1.4.2 255.255.255.0Router(config-if)#clock rate 64000Router(config-if)#no shutdown%LINK-5-CHANGED: Interface Serial0/0/1, changed state to upRouter(config-if)#exitRouter(config)#router ripRouter(config-router)#%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/1, changed state to upRouter(config-router)#network 1.0.0.0Router(config-router)#exitRouter(config)#exitRouter#%SYS-5-CONFIG_I: Configured from console by consoleRouter>show ip routeCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not set1.0.0.0/24 is subnetted, 6 subnetsR 1.1.1.0 [120/1] via 1.1.5.1, 00:00:19, Serial0/0/1R 1.1.2.0 [120/1] via 1.1.6.1, 00:00:01, Serial0/0/0C 1.1.3.0 is directly connected, FastEthernet0/0R 1.1.4.0 [120/1] via 1.1.5.1, 00:00:19, Serial0/0/1[120/1] via 1.1.6.1, 00:00:01, Serial0/0/0C 1.1.5.0 is directly connected, Serial0/0/1C 1.1.6.0 is directly connected, Serial0/0/0五、实验结果按照图示配置好主机的IP 地址,使用ping 命令测试相互之间的连通性,主机之间可以相互ping 通的,不但pc机之间能够ping 通,而且路径是选择的最短路径,路由表有6个网络。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四存储管理常用页面置换算法模拟实验一、实验目的通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟存储技术的特点,掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程,并比较它们的效率。

二、实验内容设计一个虚拟存储区和内存工作区,并使用下述算法计算访问命中率。

1、最佳淘汰算法(OPT)2、先进先出的算法(FIFO)3、最近最久未使用算法(LRU)4、最不经常使用算法(LFU)5、最近未使用算法(NUR)命中率=1-页面失效次数/页地址流长度三、实验过程1.进入LINUX系统。

打开虚拟机,在vi中编写程序,在终端输入文件名(),输入执行指令,屏幕上无反应,按下^C后,显示最终结果。

2、页面置换算法当CPU接收到缺页中断信号,中断处理程序先保存现场,分析中断原因,转入缺页中断处理程序。

该程序通过查找页表,得到该页所在外存的物理块号。

如果此时内存未满,能容纳新页,则启动磁盘I/O将所缺之页调入内存,然后修改页表。

如果内存已满,则须按某种置换算法从内存中选出一页准备换出,是否重新写盘由页表的修改位决定,然后将缺页调入,修改页表。

利用修改后的页表,去形成所要访问数据的物理地址,再去访问内存数据。

整个页面的调入过程对用户是透明的。

常用的页面置换算法有1、最佳置换算法(Optimal)2、先进先出法(FisrtInFirstOut)3、最近最久未使用(LeastRecentlyUsed)4、最不经常使用法(LeastFrequentlyUsed)5、最近未使用法(NoUsedRecently)3.运行结果:四、回答问题1、为什么OPT在执行时会有错误产生?当需要淘汰一个内存页面时,这种算法力图选择该进程内存各个页面中永远不再需要的页,若找不到,则选择最久以后才会用到的页。

这种算法有最小的缺页率。

问题是它需要知道运行进程今后的整个访问踪迹,这往往难以做到,因而它只有理论上的意义。

OPTimalreplacement(OPT)它是一种理想化的算法,性能最好,但在实际上难于实现。

即选择那些永不使用的,或者是在最长时间内不再被访问的页面置换出去。

但是要确定哪一个页面是未来最长时间内不再被访问的,目前来说是很难估计的,所以该算法通常用来评价其它算法。

五、实验总结从几种算法的命中率看,OPT最高,其次为NUR相对较高,而FIFO与LRU相差无几,最低的是LFU。

但每个页面执行结果会有所不同。

①最佳置换算法(Optimal),其所选择的被淘汰页面,将是以后永不使用的或许是在最长(未来)时间内不再被访问的页面。

采用最佳置换算法,通常可保证获得最低的缺页率。

但由于人目前还无法预知一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不再被访问的,因而该算法是无法实现的,便可以利用此算法来其它算法。

②先进先出(FIFO)页面置换算法:这是最早出现的置换算法。

该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。

该算法实现简单只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个,称为替换指针,使它总是指向最老的页面。

③LRU置换算法:④最少使用(LFU:LeastFrequentlyUsed)置换算法:在采用该算法时,应为在内存中的每个页面设置一个骼来记录该页面被访问的频率。

该置换算法选择在最近时期使用最少的页面为页。

FIFO置换算法之所以较差,是因为它所依据的条件是各个页面调入内存的时间,而页面调入的先后并不能反映页面的使用情况。

最近最久未使用(LRU)置换算法,是根据页面调入内存后的使用情况进行决策的。

由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似,因此,LRU 置换算法是选择最近最久未使用的页面予以淘汰。

该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间t,,当须淘汰一个页面时,选择现有页面中其t值最大的,即最近最久未使用的页面予以淘汰。

六、参考程序#defineTRUE1#defineFALSE0#defineINVALID-1#defineNULL0#definetotal_instruction320/*指令流长*/#definetotal_vp32/*虚页长*/#defineclear_period50/*清0周期*/typedefstruct/*页面结构*/{intpn,pfn,counter,time;}pl_type;pl_typepl[total_vp];/*页面结构数组*/structpfc_struct{/*页面控制结构*/intpn,pfn;structpfc_struct*next;};typedefstructpfc_structpfc_type;pfc_typepfc[total_vp],*freepf_head,*busypf_head,*busypf_tail; intdiseffect,a[total_instruction];intpage[total_instruction],offset[total_instruction];intinitialize(int);intFIFO(int);intLRU(int);intLFU(int);intNUR(int);intOPT(int);intmain(){ints,i,j;srand(10*getpid());/*由于每次运行时进程号不同,故可用来作为初始化随机数队列的“种子”*/s=(float)319*rand()/32767/32767/2+1;n=i;pl[i].pfn=INVALID;/*置页面控制结构中的页号,页面为空*/pl[i].counter=0;pl[i].time=-1;/*页面控制结构中的访问次数为0,时间为-1*/}for(i=0;i<total_pf-1;i++){pfc[i].next=&pfc[i+1];pfc[i].pfn=i;}/*建立pfc[i-1]和pfc[i]之间的链接*/pfc[total_pf-1].next=NULL;pfc[total_pf-1].pfn=total_pf-1;freepf_head=&pfc[0];/*空页面队列的头指针为pfc[0]*/return0;}intFIFO(total_pf)/*先进先出算法*/inttotal_pf;/*用户进程的内存页面数*/{inti,j;pfc_type*p;initialize(total_pf);/*初始化相关页面控制用数据结构*/busypf_head=busypf_tail=NULL;/*忙页面队列头,队列尾链接*/for(i=0;i<total_instruction;i++){if(pl[page[i]].pfn==INVALID)/*页面失效*/{diseffect+=1;/*失效次数*/if(freepf_head==NULL)/*无空闲页面*/{p=busypf_head->next;pl[busypf_head->pn].pfn=INVALID;freepf_head=busypf_head;/*释放忙页面队列的第一个页面*/ freepf_head->next=NULL;busypf_head=p;}p=freepf_head->next;/*按FIFO方式调新页面入内存页面*/ freepf_head->next=NULL;freepf_head->pn=page[i];pl[page[i]].pfn=freepf_head->pfn;if(busypf_tail==NULL)busypf_head=busypf_tail=freepf_head;else{busypf_tail->next=freepf_head;/*free页面减少一个*/ busypf_tail=freepf_head;}freepf_head=p;}}printf("FIFO:%\n",1-(float)diseffect/320);return0;}intLRU(total_pf)/*最近最久未使用算法*/inttotal_pf;{intmin,minj,i,j,present_time;initialize(total_pf);present_time=0;for(i=0;i<total_instruction;i++){if(pl[page[i]].pfn==INVALID)/*页面失效*/{diseffect++;if(freepf_head==NULL)/*无空闲页面*/{min=32767;for(j=0;j<total_vp;j++)/*找出time的最小值*/if(min>pl[j].time&&pl[j].pfn!=INVALID){min=pl[j].time;minj=j;}freepf_head=&pfc[pl[minj].pfn];fn=INVALID;pl[minj].time=-1;freepf_head->next=NULL;}pl[page[i]].pfn=freepf_head->pfn;ime=present_time;freepf_head=freepf_head->next;ime=present_time;fn==INVALID)/*页面失效*/{diseffect++;if(freepf_head==NULL)/*无空闲页面*/{cont_flag=TRUE;old_dp=dp;while(cont_flag)if(pl[dp].counter==0&&pl[dp].pfn!=INVALID)cont_flag=FALSE;else{dp++;if(dp==total_vp)dp=0;if(dp==old_dp)for(j=0;j<total_vp;j++)pl[j].counter=0;}freepf_head=&pfc[pl[dp].pfn];pl[dp].pfn=INVALID;freepf_head->next=NULL;}pl[page[i]].pfn=freepf_head->pfn;freepf_head=freepf_head->next;}elsepl[page[i]].counter=1;if(i%clear_period==0)for(j=0;j<total_vp;j++)pl[j].counter=0;}printf("NUR:%\n",1-(float)diseffect/320);return0;}intOPT(total_pf)/*最佳置换算法*/inttotal_pf;{inti,j,max,maxpage,d,dist[total_vp];pfc_type*t;initialize(total_pf);for(i=0;i<total_instruction;i++){fn==INVALID)/*页面失效*/{diseffect++;if(freepf_head==NULL)/*无空闲页面*/{for(j=0;j<total_vp;j++)if(pl[j].pfn!=INVALID)dist[j]=32767;/*最大"距离"*/ elsedist[j]=0;d=1;for(j=i+1;j<total_instruction;j++){if(pl[page[j]].pfn!=INVALID)dist[page[j]]=d;d++;}max=-1;for(j=0;j<total_vp;j++)if(max<dist[j]){max=dist[j];maxpage=j;}freepf_head=&pfc[pl[maxpage].pfn];freepf_head->next=NULL;pl[maxpage].pfn=INVALID;}pl[page[i]].pfn=freepf_head->pfn;freepf_head=freepf_head->next;}}printf("OPT:%\n",1-(float)diseffect/320);return0;}intLFU(total_pf)/*最不经常使用置换法*/inttotal_pf;{inti,j,min,minpage;pfc_type*t;initialize(total_pf);for(i=0;i<total_instruction;i++){if(pl[page[i]].pfn==INVALID)/*页面失效*/ {diseffect++;if(freepf_head==NULL)/*无空闲页面*/{min=32767;for(j=0;j<total_vp;j++){if(min>pl[j].counter&&pl[j].pfn!=INVALID) {min=pl[j].counter;minpage=j;}pl[j].counter=0;}freepf_head=&pfc[pl[minpage].pfn];pl[minpage].pfn=INVALID;freepf_head->next=NULL;}pl[page[i]].pfn=freepf_head->pfn;ounter++;freepf_head=freepf_head->next;ounter++;}printf("LFU:%\n",1-(float)diseffect/320); return0;}。

相关文档
最新文档