2021-10-26 操作系统为什么要分页

1、什么是物理地址
就是内存条啦!
2、为什么不直接使用物理地址?
(1)直接使用物理地址意味着程序可以直接访问物理地址,这样如果误操作访问并修改了操作系统的相关内存,就造成了系统破坏。
(2)系统有多个进程在运行时互相之间可以直接访问物理地址,直接导致结果奇奇怪怪,肯定也是不安全的。
3、为什么使用地址空间?
使用地址空间可以解决上述问题。但也还有新的问题,比如单纯使用地址空间+空间界限,当程序超出该内存块大小时,将无法自适应,需要新的技术,常见的有覆盖和交换。覆盖使内存空间中留下那些必须的指令,而交换是将内存中暂时不运行的进程交换到外存中。两种方式都不易实现,覆盖需要程序员对于指令的掌握在较高的程度,交换不仅费时,而且交换回来的进程内存不一定与原内存相同,就还需要引入新的动态分配方法。
4、为什么引入虚拟内存?
虚拟内存可以解决上述问题。
虚拟内存就是虚拟出来的内存,它的基本思想就是确保每个程序拥有自己的地址空间,而又跟物理内存具有映射关系,它也有覆盖和交换技术,但都不需要程序员参与,而是由系统自动完成。
5、虚拟内存的优点?
(1)获得更大的内存空间:因为它把内存和外存结合起来使用。
(2)地址空间连续性:程序使用一些列在物理地址上不连续,但在虚拟地址上连续的内存空间进行运行。
(3)安全性:相互的进程之间的虚拟内存不能相互访问,具有绝对的隔离。
(4)?
6、虚拟内存如何映射到物理内存?
通过MMU内存管理单元(Memory Management Unit)。
7、什么是分页内存管理?
将虚拟地址空间分成若干个块,每个块都有固定的大小,物理地址空间也被划分成若干个块,每个块也都有固定的大小,物理地址空间的块和虚拟地址空间的块大小相等,虚拟地址空间这些块就被称为页面,物理地址空间这些块被称为帧。
MMU通过页表这个工具将虚拟地址转换为物理地址。32位的虚拟地址分成两部分(虚拟页号和偏移量),MMU通过页表找到了虚拟页号对应的物理页号,物理页号+偏移量就是实际的物理地址。
8、什么是缺页中断?
缺页中断就是要访问的页不在主存中,需要操作系统将页调入主存后再进行访问,此时会暂时停止指令的执行,产生一个页不存在的异常,对应的异常处理程序就会从选择一页调入到内存,调入内存后之前的异常指令就可以继续执行。
9、有哪些页面置换算法?
(1)最佳置换算法
(2)FIFO先进先出置换算法
(3)最近最久未使用置换算法LRU
(4)最少使用置换算法LFU

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值