操作系统5-虚拟内存

虚拟内存

覆盖技术

把一些不会相互调用的函数分配到相同的地址空间,当需要调用的时候覆盖内存就可以了。 需要程序员来设计,费时费力,模块的覆盖是时间换空间 # 交换技术 让暂时不运行的程序交换到磁盘中,当使用的时候换回内存。 只在内存不够的时候交换,磁盘的交换区的空间必须足够大,换出然后换入的时候物理内存不一定一样了,但是我们可以用虚地址解决这个问题。 # 虚存技术 像覆盖技术一样不把程序所有的内容都放入内存,想交换技术那样,只对进程的部分内容进行交换, # 虚存技术的页表项 逻辑页号+访问位+修改位+保护位+驻留位+物理页号 驻留位表示页面是否在内存中,保护位表示权限,修改位表示这个页是否被写过用于支持内存硬盘的一致性,访问位表示这个页面最近是否被访问过 如果我们发现驻留位为0,则触发缺页中断,操作系统把页面读入,然后修改页表,最后跳回发生缺页中断的位置继续执行 # 后备存储 可以映射到已有的二进制文件中,可以映射到同台调用的库文件中,