当前位置:首页 > 内存 > 正文

要访问的页不在内存中访问时间

  • 内存
  • 2024-06-13 03:33:51
  • 1862

一、缺页中断文/峰峰吖
页面错误中断:要访问的页面不在主存中,操作系统必须将其转移到主存才能访问。
页面错误率:进行内存访问时,如果正在访问的页面已经在主存中,则认为访问成功,如果正在访问的页面不在主存中,如果访问不存在,则认为访问成功。成功后应该会失败并生成页错误中断。设程序P执行过程中页面访问总数为S,产生缺页中断的访问次数为F,则其缺页率为:F/s。
解:根据取决于指定页方向使用先进先出淘汰算法的页替换情况如下:这里的页方向是系统要调用的页号。
在请求分页系统中,可以通过查询页表中的状态位来判断内存中是否存在要访问的页面。
每当要访问的页面不在内存中时,就会产生页外中断。这时操作系统根据外存地址找到外存中缺失的页,将其插入到页表中并加载到内存中。
缺页本身就是一种中断,必须经过四处理步骤:
1.保护CPU。
2.分析中断原因
3.转入缺页中断处理程序进行处理
4.恢复CPU站点并继续执行
页面错误当由于内存中不存在正在访问的页面而中断中断时,由硬件引起特殊中断产生。因此,它与一般中断不同:
1、在指令执行过程中产生并处理。缺页中断信号
2、一条指令执行过程中可会出现多次缺页中断
3.当页面中断返回时,执行产生该中断的指令,当通用中断返回时,执行下一条指令
页面替换算法
WhileIfatWhen运行进程出现页面错误,此时内存是否有空闲空间?物理块是为了将丢失的页面加载到内存中,系统需要从内存中选择一个页面并将其传输到磁盘的交换区。
但是此时要替换哪个页面必须使用特定的页面替换算法来确定。
①先进先出替换算法(FirstInFirstOut,FIFO)
替换先转移到内存的页面,即原来存在的页面被人记住最长的时间。按照进入内存的顺序将它们排列在队列中,在队列末尾进入,在队列开头清除。但该算法剔除了频繁访问的页面,并不适合进程的实际运行。目前很少使用。
②最近最少使用替换算法(LeastRecentlyUsed(LRU))
替换最近最长时间没有访问过的页面。根据程序局部性原理,刚刚被访问过的页面可能很快就会被再次访问,而长时间没有访问过的页面可能最近不会被访问。
LRU算法一般适用于各种类型的程序,但系统需要不断记录和更新每个页面的访问历史,成本太高。,所以LRU算法必须有硬件支持。
缺页中断率:缺页中断次数(首先填充的空格数+消除的次数)除以页面引用次数。(这是给你的数字总数)*100%
总结:LRU算法也是从上到下对数字进行排序。如果进程数量相同,则应将它们向上移动,而其他所有进程都应向下移动甚至消除(这与FIFO不同)。如果没有,则推出底层(消除缺页中断发生)
缺页中断次数越少越好,而且不浪费内存资源,进程可以最优运行。
二、操作系统中的页面失效是什么意思呀?怎么计算呢?在地址映射过程中,如果确定要访问的页不在内存中,则会发生页错误中断。当发生页面错误并且操作系统的内存中没有空闲页面时,操作系统必须在内存中选择一个页面并将其移出内存,以便为要传输的页面腾出空间。选择要删除的页面的规则称为页面替换算法。被消除的页面是无效页面。