操作系统-内存换入

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

1. 段页同时存在

2. 用户眼中的内存

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

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

4. 请求调页

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

例题

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


posted @ 2020-04-01 21:41  山丘i  阅读(485)  评论(0编辑  收藏  举报