当前位置:首页 » 服务存储 » 请求页式存储测试分析
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

请求页式存储测试分析

发布时间: 2023-03-25 07:59:50

⑴ 请求页式管理是一种常用的虚拟存储管理技术。

14、虚拟存储器:是由主存、辅寸、存储管理单元及操作系统中存储管理软件组成的存储系统。 分类: 页式虚拟存储器(以页为信息传送单 优点:页表硬件少,

⑵ 用c语言分页式存储管理的地址转换过程实现

逻辑地址转换为物理地址
#include<stdio.h>
main()
{int p,d,la,pa,ps,a[100],n,i;/*pa为物理地址,la为物理地址,ps为页面大小拆弯含,a[100]存放页表中对应主存旅笑的页号,n为页面数*/
printf("请输入逻辑地址la=");/*输入逻辑地址*/
scanf("%d",&la);
printf("请输入页面大小ps=");/*输入页面大小*/
scanf("%d",&ps);
printf("请输入页面数n=");/*输入页面数*/
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("输入页表中第%d页项中主存页号=",i);
scanf("%d",&a[i]);
}/*输入页表中主存的页号*/
p=la/ps;d=la-p*ps;/*p为页表项的页号,d为页内位移*/
pa=a[p]*ps+d;
printf("逻辑闹升地址为%d的物理地址为%d",la,pa);
}

⑶ 在请求分页管理系统中,发生缺页以后,所缺页有可能从哪里调入

在请求分页系统中,每当所要访问的页面不在内存时,便产生一个缺页中断,请求操作系统将所缺页调入内存。此时应将缺页的进程阻塞(调页完成唤醒),如果内存中有空闲块,则分配一个块,将调入的页装入该块,并修改页表中的相应页表项,.若内存中没有空闲块,则要淘汰某页(若被淘汰页在内存期间被修改过,则要将其写回外存)。
请求分页也称为页式虚拟存储管理,是建立在基本分页基础上,为了能支持虚拟存储器功能而增加了请求调页功能和页面置换功能其基本思想是:在进程开始运行之前,不是装入全部页面,而是装入部分页面,之后根据进程运行的需要,动态装入其他页面,当内存空间已满,又需要装入新的页面时,根据某种算法淘汰某个页面,以便装进新的页面。

⑷ 操作系统里的请求页式存储管理的优缺点

具有段式和页式管理的优点。但是系统的复杂性和开销也随之增加。

必须要采用联想寄存器才能提高CPU的访内速度。

段式与页式的比较

段式:

分段由用户设计自己划分,每段对应的程序模块,有完整的逻辑意义

段面是信息的逻辑单位便于段的共享,执行时按需动态链接装入

段长不等,可动态装入,有利于新数据的增长

二维地址空间:段名、段中地址;段号、段内单元号

管理形式上象页式,但概念不同

页式:

分页用户看不见,由操作系统为内存管理划分

页面是信息的物理单位。页一般不能共享页面大小相同,位置不能动态增加

一维地址空间

往往需要多次缺页中断才能把所需的信息完整地调入内存。

⑸ 为什么说请求页式管理可以实现虚拟存储器

请求分页式存储管理的基本思想是:操作系统按照存储块的尺寸,把用户作业地址空间划分成页,全部存放在磁盘上。作业运行时,只先装入若干页。运行过程中遇到不在内存的页时,操作系统就把它从磁盘调入内存。这样一来,用户的作业地址空间无需顾及内存的大小。这与虚拟存储器的思想是完全吻合的。所以,请求分页式存储管理能够向用户提供虚拟存储器。

⑹ 请求页式存贮管理中页表主要作用是什么

采用分页存储方式,在多次运行程序后,程序会被分配到极其离散的各个页内,不利于寻址枝哗,因此猛伍行橘键需要有一个页表指示该进程所在内存位置

⑺ 页式管理的请求页式管理中的置换算法

功能:需要调入页面时,选择内存中哪个物理页面被置换。称为replacement policy。
出发点:把未来不再使用的或短期内较少使用的页面调出,通常只能在局部性原理指导下依据过去的统计数据进行预测。
页面锁定(frame locking):用于描述必须常驻内存的操作系统的关键部分或时间关键(time-critical)的应用进程。实现方法为在页表中加上锁定标志位(lock bit)。 轮转法(RR,round robin)和先进先出算法(FIFO,first in first out):轮转法循回换出内存可用区内一个可以被换出的页,无论该页是刚被换进或已换进内存很长时间。FIFO算法总是选择在内存驻留时间最长的一员将其淘汰。
FIFO算法认为先调入内存的页不再被访问的可能性要比其它页大,因而选择最先调入内存的页换出。实现FIFO算法需要把各个已分配页面按分配时间顺序链接起来,组成FIFO队列,并设置一置换指针指向FIFO队列的队首页面。这样,当要进行置换时,只需把置换指针所指的FIFO队列前头的页顺次换出,而把换入的页链接在FIFO队尾即可。
由实验和测试发现FIPO算法和RR算法的内存利用率不高。这是因为,这两种算法都是基于CPU按线性顺序访问地址空间这一假设。事实上,许多时候.CPU不是按线性顺序访问地址空间的。
Belady现象:一般来说,对于任一作业或进程,如果给它分配的内存页面数越接近于它所要求的页面数,则发生缺页的次数会越少。在极限情况下,这个推论是成立的。因为如果给一个进程分配了它所要求的全部页面,则不会发生缺页现象。但是,使用FIFO算法时,含悄含在未给进程或作业分配足它所要求的页面数时,有时会出现分配的页谈笑面数增多,缺页次数反而增加的奇怪现象。这种现象称为Belady现象。 最近最久未使用页面置换算法(LRU, Least Recently Used):
选择内存中最久未使用的页面被置换。这是局部性原理的合理近似,性能接近最佳算法。但由于需要记录页面使用时间的先后关系,硬件开销太大。硬件机构如:
(1) 一个特殊的栈:把被访问的页面移到栈顶,于是栈底的是最久未使用页面。
(2) 每个页面设立移位寄存器:被访问运者时左边最高位置1,定期右移并且最高位补0,于是寄存器数值最小的是最久未使用页面。
比较常用的近似算法有:
(a) 最不经常使用页面淘汰算法(LFU, Least Frequently Used)
(b) 最近没有使用页面淘汰(NRU, Not Recently Used) 理想型淘汰算法(OPT,Optimal Replacement Algorithm)
该算法淘汰在访问串中将来再也不出现的或是离当前最远的位置上出现的页。它是一种理想化的算法,性能最好,但在实际上难于实现。

⑻ 操作系统请求分页存储方式的基本原理是什么谢谢

3.请求分页系统(1)请求分页对页表的扩充
在请求分页系统中所使用的主要数据结构仍然是页表。它对页式系统中的页表机制进行了扩充但其基本作用是实现由用户地址空间到物理内存空间的映射。由于只将应用程序的一部分装入内存,还有一部分仍在磁盘上,故需在页表中增加若干项,供操作系统实现虚拟存储器功能时参考。常见的系统中,一般对页表的表项进行如下扩充:除了页号对应的物理块号,还增加了状态位、修改位、外存地址和访问字段等。
·状态位,用于指示该页是否已经调入了内存。该位一般由操作系统软件来管理,每当操作系统把一页调人物理内存中时,置位。相反,当操作系统把该页从物理内存调出时,复位。CPU对内存进行引用时,根据该位判断要访问的页是否在内存中,若不在内存之中,则产生缺页中断。
·修改位,表示该页调入内存后是否被修改过。当CPU以写的方式访问页面时,对该页表项中的修改位置位。该位也可由操作系统软件来修改,例如,当操作系统将修改过页面保存在磁盘上后,可将该位复位。
·外存地址,用于指出该页在外存上的地址,供调人该页时使用。
·访问宇段,用于记录本页在一定时间内被访问的次数,或最近已经有多长时间未被访问。提供给相应的置换算法在选择换出页面时参考。
(2)对缺页中断的支持
在请求分页系统中,CPU硬件一定要提供对缺页中断的支持,根据页表项中的状态位判断是否产生缺页中断。缺页中断是一个比较特殊的中断,这主要体现在如下两点:
·在指令的执行期间产生和处理缺页信号。通常的CPU外部中断,是在每条指令执行完毕后检查是否有中断请求到达。而缺页中断,是在一条指令的执行期间,发现要访问的指令和数据不在内存时产生和处理的。
·一条指令可以产生多个缺页中断。例如,一条双操作数的指令,每个操作数都不在内存中,这条指令执行时,将产生两个中断。CPU提供的硬件支持,还要体现在当从中断处理程序返回时,能够正确执行产生缺页中断的指令。
(3)页面调度策略
虚拟存储器系统通常定义三种策略来规定如何(或何时)进行页面调度:调入策略、置页策略和置换策略。
(4)置换算法(replacementalgorithm)决定在需要调入页面时,选择内存中哪个物理页面被置换。置换算法的出发点应该是,把未来不再使用的或短期内较少使用的页面调出。而未来的实际情况是不确定的,通常只能在局部性原理指导下依据过去的统计数据进行预测。常用的算法有以下几种:
·最佳算法(optimal,OPT)。选择“未来不再使用的”或“在离当前最远位置上出现的”页面被置换。这是一种理想情况,是实际执行中无法预知的,因而不能实现,只能用作性能评价的依据。
·最近最久未使用算法(LeastRecentlyUsed,LRU)。选择内存中最久未使用的页面被置换,这是局部性原理的合理近似,性能接近最佳算法。但由于需要记录页面使用时间的先后关系,硬件开销太大。LRU可用如下的硬件机构帮助实现:
一个特殊的栈:把被访问的页面移到栈顶,于是栈底的是最久未使用页面。每个页面设立移位寄存器:被访问时左边最高位置1,定期右移并且最高位补0,于是寄存器数值最小的是最久未使用页面。
·先进先出算法(FIFO)。选择装入最早的页面置换。可以通过链表来表示各页的装入时间先后。FIFO的性能较差,因为较早调入的页往往是经常被访问的页,这些页在FIFO算法下被反复调入和调出,并且有Belady现象。所谓Belady现象是指:采用FIFO算法时,如果对—个进程未分配它所要求的全部页面,有时就会出现分配的页面数增多但缺页率反而提高的异常现象。Belady现象可形式化地描述为:一个进程户要访问M个页,OS分配舻个内存页面给进程P;对一个访问序列S,发生缺页次数为PE(占,N)。当N增大时,PE(S,N)时而增大时而减小。Belady现象的原因是FIFO算法的置换特征与进程访问内存的动态特征是矛盾的,即被置换的页面并不是进程不会访问的。
·时钟(clock)算法。也称最近未使用算法(NotRecentlyUsed,NRU),它是LRU和FIFO的折中。每页有一个使用标志位(usebit),若该页被访问则置userbit=l,这是由CPU的硬件自动完成的。置换时采用一个指针,从当前指针位置开始按地址先后检查各页,寻找usebit=0的面作为被置换页。指针经过的userbit=l的页都修改userbit=O,这个修改的过程是操作系统完成的,最后指针停留在被置换页的下一个页。
·最不常用算法(LeastFrequentlyUsed,LFU)。选择到当前时间为止被访问次数最少的页面被置换。每页设置访问计数器,每当页面被访问时,该页面的访问计数器加1。发生缺页中断时,淘汰计数值最小的页面,并将所有计数清零。
·页面缓冲算法(pagebuffering)。它是对FIFO算法的发展,通过建立置换页面的缓冲,这样就有机会找回刚被置换的页面,从而减少系统I/0的开销。页面缓冲算法用FIFO算法选择被置换页,把被置换的页面放人两个链表之一。即是如果页面未被修改,就将其归人到空闲页面链表的末尾,否则将其归人到已修改页面链表。空闲页面和已修改页面,仍停留在内存中一段时间,如果这些页面被再次访问,只需较小开销,被访问的页面就可以返还作为进程的内存页。需要调入新的物理页面时,将新页面内容读人到空闲页面链表的第一项所指的页面,然后将第一项删除。当已修改页面达到一定数目后,再将它们一起调出到外存,然后将它们归人空闲页面链表。这样能大大减少I/O操作的次数。

⑼ 某系统使用请求段式管理方式。

某系统采用请求页式存储管理方案,假设某进程有 6 个页面,系统给该进程分配了 4 个存储块,其页面变换岁耐表如下表所示,表中的状态位等于 1/0 分别表示页面在内存/不在内存。当该进程访问的页面2不在内存时,应该淘汰表中页号为__(27) 的页面。乎陪春假定页面大小为4K,逻辑地址为十六进制3C18H,该地址经过变换后的页乱芹帧号为 (28)。 (27) A.0 B.3 C.4 D.5 (28) A.2 B.5 C.8 D.12

⑽ 请求分页与分页存储管理有何不同

大哥 他问的不是分页和分段好不好?

其实呢 它们可以说是一个包含与被包含的关系 而又不完全正确 这样说吧

在分页存储管理方式中

不具备页面对换功能 不支持虚拟存储器功能 在调度作业运行时 必须将它的所有页面一次调入内存 若内存没有足够的块 则作业等待 的这种分页管理方式被称为纯分页或基本分页存储管理方式

而请求分页管理方式 是支持虚拟存储的 具备了页面的对换功能
调度作业时 是将它的 一部分(而不是全部) 放入内存
当发现页面缺少时 会发出一个缺页请求 从外存调用页面文件进入内存
具体的你可以看看教材上面的

这个问题问的很不好回答