操作系统(10)-虚拟内存
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">哈尔滨网络<span style="color: black;">机构</span>告诉<span style="color: black;">大众</span>定义</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">内存在计算机中的<span style="color: black;">功效</span>很大,电脑中所有运行的程序都需要经过内存来执行,<span style="color: black;">倘若</span>执行的程序很大或<span style="color: black;">非常多</span>,就会<span style="color: black;">引起</span>内存消耗殆尽。为<span style="color: black;">认识</span>决这个问题,WINDOWS运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存<span style="color: black;">运用</span>,这部分空间即<span style="color: black;">叫作</span>为虚拟内存,虚拟内存在硬盘上的存在形式<span style="color: black;">便是</span> PAGEFILE.SYS这个页面文件。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它<span style="color: black;">持有</span>连续的可用的内存(一个连续完整的<span style="color: black;">位置</span>空间),而<span style="color: black;">实质</span>上,它<span style="color: black;">一般</span>是被分隔成多个<span style="color: black;">理学</span>内存碎片,还有部分暂时存储在<span style="color: black;">外边</span>磁盘存储器上,在需要时进行数据交换。<span style="color: black;">日前</span>,大<span style="color: black;">都数</span>操作系统都<span style="color: black;">运用</span>了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">哈尔滨网站制作告诉<span style="color: black;">大众</span>、虚拟内存的工作方式</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">虚拟存储器<span style="color: black;">是由于</span>硬件和操作系统自动实现存储信息调度和管理的。它的工作过程<span style="color: black;">包含</span>6个<span style="color: black;">过程</span>: </p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">中央处理器<span style="color: black;">拜访</span>主存的<span style="color: black;">规律</span><span style="color: black;">位置</span>分解成组号a和组内<span style="color: black;">位置</span>b,并对组号a进行<span style="color: black;">位置</span>变换,即将<span style="color: black;">规律</span>组号a<span style="color: black;">做为</span>索引,查<span style="color: black;">位置</span>变换表,以确定该组信息<span style="color: black;">是不是</span>存放在主存内。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">如该组号已在主存内,则转而执行④;<span style="color: black;">倘若</span>该组号不在主存内,则<span style="color: black;">检测</span>主存中<span style="color: black;">是不是</span>有空闲区,<span style="color: black;">倘若</span><span style="color: black;">无</span>,便将某个暂时<span style="color: black;">不消</span>的组调出送往辅存,以便将这组信息调入主存。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">从辅存读出所要的组,并送到主存空闲区,<span style="color: black;">而后</span>将那个空闲的<span style="color: black;">理学</span>组号a和<span style="color: black;">规律</span>组号a登录在<span style="color: black;">位置</span>变换表中。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">从<span style="color: black;">位置</span>变换表读出与<span style="color: black;">规律</span>组号a对应的<span style="color: black;">理学</span>组号a。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">从<span style="color: black;">理学</span>组号a和组内字节<span style="color: black;">位置</span>b得到<span style="color: black;">理学</span><span style="color: black;">位置</span>。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">按照</span><span style="color: black;">理学</span><span style="color: black;">位置</span>从主存中存取必要的信息。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">哈尔滨<span style="color: black;">微X</span><span style="color: black;">研发</span>告诉打击虚拟内存的调度方式</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">调度方式有分页式、段式、段页式3种。页式调度是将<span style="color: black;">规律</span>和<span style="color: black;">理学</span><span style="color: black;">位置</span>空间都分成固定<span style="color: black;">体积</span>的页。主存按页<span style="color: black;">次序</span>编号,而<span style="color: black;">每一个</span>独立编址的程序空间有自己的页号<span style="color: black;">次序</span>,<span style="color: black;">经过</span>调度辅存中程序的各页<span style="color: black;">能够</span>离散装入主存中<span style="color: black;">区别</span>的页面位置,并可据表一一对应检索。页式调度的优点是页内零头小,页表对程序员<span style="color: black;">来讲</span>是透明的,<span style="color: black;">位置</span>变换快,调入操作简单;缺点是各页不是程序的独立模块,<span style="color: black;">不方便</span>于实现程序和数据的<span style="color: black;">守护</span>。段式调度是按程序的<span style="color: black;">规律</span>结构划分<span style="color: black;">位置</span>空间,段的长度是随意的,并且<span style="color: black;">准许</span>伸长,它的优点是消除了内存零头,易于实现存储<span style="color: black;">守护</span>,便于程序动态装配;缺点是调入操作<span style="color: black;">繁杂</span>。将这两种<span style="color: black;">办法</span>结合起来便<span style="color: black;">形成</span>段页式调度。在段页式调度中把<span style="color: black;">理学</span>空间分成页,程序按模块分段,<span style="color: black;">每一个</span>段再分成与<span style="color: black;">理学</span>空间页<span style="color: black;">一样</span>小的页面。段页式调度综合了段式和页式的优点。其缺点是<span style="color: black;">增多</span>了硬件成本,软件<span style="color: black;">亦</span>较<span style="color: black;">繁杂</span>。大型通用计算机系统<span style="color: black;">都数</span>采用段页式调度。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">1.页式调度</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">在页式虚拟存储系统中,虚拟空间被分成<span style="color: black;">体积</span>相等的页,<span style="color: black;">叫作</span>为<span style="color: black;">规律</span>页或虚页。主存空间<span style="color: black;">亦</span>被分成<span style="color: black;">一样</span><span style="color: black;">体积</span>的页,<span style="color: black;">叫作</span>为<span style="color: black;">理学</span>页或实页。相应地,虚拟<span style="color: black;">位置</span>分为两个字段:高位字段为虚页号,低位字段为页内<span style="color: black;">位置</span>。实存<span style="color: black;">位置</span><span style="color: black;">亦</span>分为两个字段:高位字段为实页号,低位字段为页内<span style="color: black;">位置</span>。<span style="color: black;">同期</span>,页的<span style="color: black;">体积</span>都取2的整数幂个字。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">经过</span>页表<span style="color: black;">能够</span>把虚拟<span style="color: black;">位置</span>转换成<span style="color: black;">理学</span><span style="color: black;">位置</span>。<span style="color: black;">每一个</span>程序设置一张页表,在页表中,对应每一个虚页号都有一个条目,条目内容<span style="color: black;">最少</span><span style="color: black;">包括</span>该虚页所在的主存页面<span style="color: black;">位置</span>(实页号),用它<span style="color: black;">做为</span>实存<span style="color: black;">位置</span>的高位字段;实页号与虚拟<span style="color: black;">位置</span>的页内<span style="color: black;">位置</span>相拼接,就产生完整的实存<span style="color: black;">位置</span>,据此<span style="color: black;">拜访</span>主存。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">2.段式调度</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">页面是主存<span style="color: black;">理学</span>空间中划分出来的等长的固定区域。分页方式的优点是页长固定,因而便于构造页表、易于管理,且不存在外碎片。但分页方式的缺点是页长与程序的<span style="color: black;">规律</span><span style="color: black;">体积</span>不<span style="color: black;">关联</span>。例如,某个时刻一个子程序可能有一部分在主存中,另一部分则在辅存中。这<span style="color: black;">有害</span>于编程时的独立性,并给换入/换出处理、存储<span style="color: black;">守护</span>和存储共享等操作<span style="color: black;">导致</span>麻烦。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">另一种划分可寻址的存储空间的<span style="color: black;">办法</span><span style="color: black;">叫作</span>为分段。段是<span style="color: black;">根据</span>程序的自然分界划分的、长度<span style="color: black;">能够</span>动态改变的区域。<span style="color: black;">一般</span>,程序员把子程序、操作数和常数等<span style="color: black;">区别</span>类型的数据划分到<span style="color: black;">区别</span>的段中,并且<span style="color: black;">每一个</span>程序<span style="color: black;">能够</span>有多个相同类型的段。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">在段式虚拟存储系统中,虚拟<span style="color: black;">位置</span>由段号和段内<span style="color: black;">位置</span><span style="color: black;">构成</span>,虚拟<span style="color: black;">位置</span>到实存<span style="color: black;">位置</span>的变换<span style="color: black;">经过</span>段表来实现。<span style="color: black;">每一个</span>程序设置一个段表,段表的每一个表项对应一个段,<span style="color: black;">每一个</span>表项<span style="color: black;">最少</span><span style="color: black;">包含</span>三个字段:有效位(指明该段<span style="color: black;">是不是</span><span style="color: black;">已然</span>调入主存)、段起址(该段在实存中的首<span style="color: black;">位置</span>)和段长(记录该段的<span style="color: black;">实质</span>长度)。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">3.段页式调度</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">首要</span>,实存被等分成页。在段页式虚拟存储器中,把程序按<span style="color: black;">规律</span>结构分段以后,再把每段<span style="color: black;">根据</span>实存的页的<span style="color: black;">体积</span>分页,程序按页进行调入和调出操作,但它又可按段实现共享和<span style="color: black;">守护</span>。<span style="color: black;">因此呢</span>,它<span style="color: black;">能够</span>兼有页式和段式系统的优点。它的缺点是在<span style="color: black;">位置</span>映像过程中需要多次查表,虚拟<span style="color: black;">位置</span>转换成<span style="color: black;">理学</span><span style="color: black;">位置</span>是<span style="color: black;">经过</span>一个段表和一组页表来进行定位的。段表中的<span style="color: black;">每一个</span>表目对应一个段,<span style="color: black;">每一个</span>表目有一个指向该段的页表的<span style="color: black;">初始</span><span style="color: black;">位置</span>(页号)及该段的<span style="color: black;">掌控</span><span style="color: black;">守护</span>信页表指明该段各页在主存中的位置以及是否已装入、已修改等标志。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">4、</span>虚拟内存的调度方式</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">虚拟存储器<span style="color: black;">位置</span>变换基本上有3种形虚拟存储器工作过程式:全联想变换、直接变换和组联想变换。任何<span style="color: black;">规律</span>空间页面能够变换到<span style="color: black;">理学</span>空间任何页面位置的方式<span style="color: black;">叫作</span>为全联想变换。<span style="color: black;">每一个</span><span style="color: black;">规律</span>空间页面只能变换到<span style="color: black;">理学</span>空间一个特定页面的方式<span style="color: black;">叫作</span>为直接变换。组联想变换<span style="color: black;">指的是</span>各组之间是直接变换,而组内各页间则是全联想变换。替换规则用来确定替换主存中哪一部分,以便腾空部分主存,存放来自辅存要调入的那部分内容。<span style="color: black;">平常</span>的替换算法有4种。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">随机算法:用软件或硬件随机数产生器确定替换的页面。 </p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">先进先出:先调入主存的页面先替换。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">近期最少<span style="color: black;">运用</span>算法(LRU,Least Recently Used):替换最长时间<span style="color: black;">不消</span>的页面。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">最优算法:替换最<span style="color: black;">长期</span>以后才<span style="color: black;">运用</span>的页面。这是理想化的算法,只能<span style="color: black;">做为</span>衡量其他<span style="color: black;">各样</span>算法优劣的标准。 </p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">虚拟存储器的效率是系统性能<span style="color: black;">评估</span>的重要内容,它与主存容量、页面<span style="color: black;">体积</span>、命中率,程序局部性和替换算法等<span style="color: black;">原因</span><span style="color: black;">相关</span>。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">哈尔滨SEO优化告诉<span style="color: black;">大众</span>虚拟内存的<span style="color: black;">功效</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">虚拟内存<span style="color: black;">供给</span>了三个重要的能力: 缓存,内存管理,内存<span style="color: black;">守护</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">将主存视为一个存储在磁盘上的<span style="color: black;">位置</span>空间的高速缓存,在主存中只<span style="color: black;">保留</span>活动区域,并<span style="color: black;">按照</span>需要在磁盘和主存之间来回传送数据</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">为<span style="color: black;">每一个</span>进程<span style="color: black;">供给</span>了一致的<span style="color: black;">位置</span>空间,简化内存管理</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"> <span style="color: black;">守护</span>了<span style="color: black;">每一个</span>进程的<span style="color: black;">位置</span>空间不被其他进程破坏</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">哈尔滨<span style="color: black;">微X</span>营销推广的总结</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">调度问题:决定<span style="color: black;">那些</span>程序和数据应被调入主存。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">位置</span>映射问题:在<span style="color: black;">拜访</span>主存时把虚地址变为主存<span style="color: black;">理学</span><span style="color: black;">位置</span>(这一过程<span style="color: black;">叫作</span>为内<span style="color: black;">位置</span>变换);在<span style="color: black;">拜访</span>辅存时把虚<span style="color: black;">位置</span>变成辅存的<span style="color: black;">理学</span><span style="color: black;">位置</span>(这一过程<span style="color: black;">叫作</span>为外<span style="color: black;">位置</span>变换),以便换页。<span style="color: black;">另外</span>还要<span style="color: black;">处理</span>主存分配、存储<span style="color: black;">守护</span>与程序再定位等问题。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">替换问题:决定<span style="color: black;">那些</span>程序和数据应被调出主存。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">更新问题:<span style="color: black;">保证</span>主存与辅存的一致性。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">在操作系统的<span style="color: black;">掌控</span>下,硬件和系统软件为用户<span style="color: black;">处理</span>了<span style="color: black;">以上</span>问题,从而使应用程序的编程大大简化。</p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/dfic-imagehandler/6ef8b8c4-cabc-4158-ba57-77739ba854ca~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1730056701&x-signature=I7mxrrzL5Ywx812Is30WuOggYJ4%3D" style="width: 50%; margin-bottom: 20px;"></div>
页:
[1]