欢迎您的访问
专注于Java技术系列文章的Java技术分享网站

操作系统-内存换入

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

1. 段页同时存在

78_1.png

2. 用户眼中的内存

78_2.png

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

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

78_3.png

4. 请求调页

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

78_4.png

例题

78_5.png

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

78_6.png

78_7.png
78_8.png

78_9.png

文章永久链接:https://tech.souyunku.com/?p=37193

赞(79) 打赏



版权归原创作者所有,任何形式转载请联系作者;搜云库 » 操作系统-内存换入

本站:免责声明!

评论 抢沙发

一个专注于Java技术系列文章的技术分享网站

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏