欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

操作系统-内存换入

程序员文章站 2022-07-08 10:49:38
操作系统为了让用户使用,进行分段,但是效率不行,所以引出了分页,后来应该分段也应该分页,所以使用了虚拟内存,分段分页的核心就是虚拟内存,而要实现虚拟内存,就需要进行内存的换入和换出 1. 段页同时存在 2. 用户眼中的内存 3. 用换入、换出实现‘大内存’ 在用户眼中0 4G就是特别大的内存,相当于 ......

操作系统为了让用户使用,进行分段,但是效率不行,所以引出了分页,后来应该分段也应该分页,所以使用了虚拟内存,分段分页的核心就是虚拟内存,而要实现虚拟内存,就需要进行内存的换入和换出

1. 段页同时存在

操作系统-内存换入

2. 用户眼中的内存

操作系统-内存换入

3. 用换入、换出实现‘大内存’

在用户眼中0-4g就是特别大的内存,相当于一个仓库,在仓库里有各种货,而物理内存相当于店面,店面小只能摆一些货,当有人需要货a,就从仓库里取(虚拟内存)放到柜台上(物理内存),有人需要货b,货a放回仓库,在从仓库里取货b放到柜台上,只要速度足够的快,柜台上就一直都有你想要的货

操作系统-内存换入

4. 请求调页

  1. 当程序访问地址,看页表发现缺页,说明一段代码没有在页表中,不能取指执行,所以一缺页程序就不能执行下去,需要调页,此时进行中断,先执行其他的进程
  2. 产生了中断,就要执行中断处理程序,也就是页错误处理程序
  3. 页错误处理程序需要到磁盘中找到这一页程序,使用某个算法
  4. 找到之后需要在物理内存中找一个空闲页,需要把这一页从磁盘上读进来,这就是请求调页,换入,已经从磁盘上换入了
  5. 接下来把这个映射做好,对应的页表中,此时中断处理结束,
  6. 继续执行中断那个时候发生的指令,从用户的角度来看,好像什么事都没有发生过

操作系统-内存换入

例题

操作系统-内存换入

5. 一个实际系统的请求调页

操作系统-内存换入

操作系统-内存换入
操作系统-内存换入

操作系统-内存换入