目录
一、页表机制
1、页表结构
二、缺页中断机制
1、有如下例子
2、根据要访问的逻辑地址的页号2,找到该页的状态是没有放入内存,所以会产生缺页中断,将缺页进程堵塞,放入堵塞队列,调页完成后再将其唤醒,放回就绪序列。
3、如果内存中有空闲块,则为进程分配一个空闲块,将所缺页面装入该块,并修改页表中相应的页表项。(此时内存块A空闲)
4、将内存块A分配给页号0
5、如果内存中没有空闲块,则由页面置换算法选择一个页面淘汰,若该页面在内存期间被修改过,则要将其写回外存。未修改过的页面不用写回外存。(这里内存块C的内容被修改过)
6、将C的数据写回外存
7、这样就可以空出C号内存块,然后让页号0的进程去使用,然后它将外存写入内存C
三、中断的分类
四、地址变换机制
1、区别
2、流程
3、考点
五、总结
一、页表机制
1、页表结构
二、缺页中断机制
1、有如下例子
2、根据要访问的逻辑地址的页号2,找到该页的状态是没有放入内存,所以会产生缺页中断,将缺页进程堵塞,放入堵塞队列,调页完成后再将其唤醒,放回就绪序列。
3、如果内存中有空闲块,则为进程分配一个空闲块,将所缺页面装入该块,并修改页表中相应的页表项。(此时内存块A空闲)
4、将内存块A分配给页号0
5、如果内存中没有空闲块,则由页面置换算法选择一个页面淘汰,若该页面在内存期间被修改过,则要将其写回外存。未修改过的页面不用写回外存。(这里内存块C的内容被修改过)
6、将C的数据写回外存
7、这样就可以空出C号内存块,然后让页号0的进程去使用,然后它将外存写入内存C
三、中断的分类
四、地址变换机制
1、区别
2、流程
3、考点
- ①只有“写指令”才需要修改“修改位”。并且,一般来说只需修改快表中的数据,只有要将快表项删除时才需要写回内存中的慢表。这样可以减少访存次数。
- ②和普通的中断处理一样,缺页中断处理依然需要保留CPU现场。
- ③需要用某种“页面置换算法”来决定一个换出页面
- ④换入/换出页面都需要启动慢速的I/O操作,可见,如果换入/换出太频繁,会有很大的开销。
- ⑤页面调入内存后,需要修改慢表,同时也需要将表项复制到快表中。