操作系统课程小论文之虚拟存储器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统课程小论文之虚拟存储器
这学期我们上了操作系统这门课,一个学期不到的时间让我了解了操作系统的基本工作原理。
这是一门承上启下的课程,通过这门课让我对以前学过的知识有了更好的理解与掌握,也为以后的课程做了一个良好的铺垫。
这门课讲的内容很多,但令我最深刻的要算虚拟存储技术了:
虚拟存储器(Virtual Memory):在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理贮存容量大得多,可寻址的“主存储器”。
虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。
虚拟内存的作用内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。
为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。
举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内存里储存的文件释放到原来的安装目录里了。
虚拟内存的设置对于虚拟内存主要设置两点,即内存大小和分页位置,内存大小就是设置虚拟内存最小为多少和最大为多少;而分页位置则是设置虚拟内存应使用那个分区中的硬盘空间。
对于内存大小的设置,如何得到最小值和最大值呢?你可以通过下面的方法获得:选择“开始→程序→附件→系统工具→系统监视器”(如果系统工具中没有,可以通过“添加/删除程序”中的Windows 安装程序进行安装)打开系统监视器,然后选择“编辑→添加项目”,在“类型”项中选择“内存管理程序”,在右侧的列表选择“交换文件大小”。
这样随着你的操作,会显示出交换文件值的波动情况,你可以把经常要使用到的程序打开,然后对它们进行使用,这时查看一下系统监视器中的表现值,由于用户每次使用电脑时的情况都不尽相同,因此,最好能够通过较长时间对交换文件进行监视来找出最符合您的交换文件的数值,这样才能保证系统性能稳定以及保持在最佳的状态。
在进程运行过程中,若其所要访问的页面不在内存而需要把它们跳入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必须从内存中调处一页程序或数据送磁盘的对换区中。
但应将哪个页面调处,必须根据一定的算法来确定。
通常,把选择换出页面的算法称为页面置换算法:最佳置换算法:理想化的算法,其所选择的被淘汰页面,将是以后永不使用的,或许是在最长(未来)时间内不再被访问的页面。
只能作为衡量其他各种算法优劣的标准。
虚拟存储器的效率是系统性能评价的重要内容,它与主存容量、页面大小、命中率,程序局
部性和替换算法等因素有关。
先进先出:先调入主存的页面先替换等等。
虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的。
它的工作过程包括6个步骤:①中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。
②如该组号已在主存内,则转而执行④;如果该组号不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。
③从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。
④从地址变换表读出与逻辑组号a对应的物理组号a。
⑤从物理组号a和组内字节地址b得到物理地址。
⑥根据物理地址从主存中存取必要的信息。
调度方式有分页式、分段式、段页式3种。
页式调度是将逻辑和物理地址空间都分成固定大小的页。
主存按页顺序编号,而每个独立编址的程序空间有自己的页号顺序,通过调度辅存中程序的各页可以离散装入主存中不同的页面位置,并可据表一一对应检索。
页式调度的优点是页内零头小,页表对程序员来说是透明的,地址变换快,调入操作简单;缺点是各页不是程序的独立模块,不便于实现程序和数据的保护。
段式调度是按程序的逻辑结构划分地址空间,段的长度是随意的,并且允许伸长,它的优点是消除了内存零头,易于实现存储保护,便于程序动态装配;缺点是调入操作复杂。
将这两种方法结合起来便构成段页式调度。
在段页式调度中把物理空间分成页,程序按模块分段,每个段再分成与物理空间页同样小的页面。
段页式调度综合了段式和页式的优点。
其缺点是增加了硬件成本,软件也较复杂。
大型通用计算机系统多数采用段页式调度。
虚拟存储器地址变换基本上有3种形虚拟存储器工作过程式:全联想变换、直接变换和组联想变换。
任何逻辑空间页面能够变换到物理空间任何页面位置的方式称为全联想变换。
每个逻辑空间页面只能变换到物理空间一个特定页面的方式称为直接变换。
组联想变换是指各组之间是直接变换,而组内各页间则是全联想变换。
虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的。
它的工作过程包括6个步骤:①中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。
②如该组号已在主存内,则转而执行④;如果该组号不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。
③从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。
④从地址变换表读出与逻辑组号a对应的物理组号a。
⑤从物理组号a和组内字节地址b得到物理地址。
⑥根据物理地址从主存中存取必要的信息。
调度方式有分页式、段式、段页式3种。
页式调度是将逻辑和物理地址空间都分成固定大小的页。
主存按页顺序编号,而每个独立编址的程序空间有自己的页号顺序,通过调
度辅存中程序的各页可以离散装入主存中不同的页面位置,并可据表一一对应检索。
页式调度的优点是页内零头小,页表对程序员来说是透明的,地址变换快,调入操作简单;缺点是各页不是程序的独立模块,不便于实现程序和数据的保护。
段式调度是按程序的逻辑结构划分地址空间,段的长度是随意的,并且允许伸长,它的优点是消除了内存零头,易于实现存储保护,便于程序动态装配;缺点是调入操作复杂。
将这两种方法结合起来便构成段页式调度。
在段页式调度中把物理空间分成页,程序按模块分段,每个段再分成与物理空间页同样小的页面。
段页式调度综合了段式和页式的优点。
其缺点是增加了硬件成本,软件也较复杂。
大型通用计算机系统多数采用段页式调度。
编辑本段虚实地址
1、实地址与虚地址用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存空间或逻辑地址空间;而计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。
程序进行虚地址到实地址转换的过程称为程序的再定位。
2、虚存的访问过程虚存空间的用户程序按照虚地址编程并存放在辅存中。
程序运行时,由地址变换机构依据当时分配给该程序的实地址空间把程序的一部分调入实存。
每次访存时,首先判断该虚地址所对应的部分是否在实存中:如果是,则进行地址转换并用实地址访问主存;否则,按照某种算法将辅存中的部分程序调度进内存,再按同样的方法访问主存。
由此可见,每个程序的虚地址空间可以远大于实地址空间,也可以远小于实地址空间。
前一种情况以提高存储容量为目的,后一种情况则以地址变换为目的。
后者通常出现在多用户或多任务系统中:实存空间较大,而单个任务并不需要很大的地址空间,较小的虚存空间则可以缩短指令中地址字段的长度。
从虚存的概念可以看出,主存-辅存的访问机制与cache-主存的访问机制是类似的。
这是由cache存储器、主存和辅存构成的三级存储体系中的两个层次。
cache和主存之间以及主存和辅存之间分别有辅助硬件和辅助软硬件负责地址变换与管理,以便各级存储器能够组成有机的三级存储体系。
cache和主存构成了系统的内存,而主存和辅存依靠辅助软硬件的支持构成了虚拟存储器。
以上就是我学习操作系统中的虚拟存储器的一些心得,在以后的学习中我会更加努力的去学习和了解一下操作系统的知识。