操作系统:虚拟内存
覆盖技术 目标 在较小的可用内存中运行较大的程序。常用于多道程序系统,与分区存储管理配合使用。 原理 把程序按照其自身的逻辑结构,划分为若干个功能上相对独立的程序模块,那些不会同时执行的模块共享同一块内存区域,按时间先后来运行。 必要部分(常用功能)的代码和数据常驻内存。---固定区:调入后就不再调出(除非运行结束)。 可选部分(不常用功能)存放在外存中,在需要用到时才装入内存。 ---覆盖区:需要用到时调入内存,用不到时调出内存。 缺点 由程序员声明覆盖结果,费时费力,增加了编程的难度。 覆盖模块,从外存装入内存,实际上是以时间换空间。 交换技术 目标 多道程序在内存中时,让正在运行的程序或需要运行的程序获得更多的资源。 原理 可将暂时不运行的程序送到外存,从而获得空间内存空间。 操作系统把一个进程的整个地址空间的内存保存到外存中(换出),而将外存中的某个进程的地址空间读入到内存中(换入)。换入换出的内容的大小为整个程序的地址空间。 交换时机的确定:只有当内存空间不够或有不够的危险时换出。 换出的进程存放在什么位置:文件区(离散分配方式) + 对换区(连续分配方式)---被换出的进程存放在对换区。 覆盖与交换的区别 覆盖在同一个进程或程序中,交换是在不同进程之间作业的。 交换发生在内存中程序与管理程序或操作系统之间,覆盖发生在运行程序的内部。 虚拟内存技术 目标 像覆盖技术那样