在存储管理中,采用覆盖与交换技术的目的是( )。
A.减少程序占用的主存空间
B.物理上扩充主存容量
C.提高CPU效率
D.代码在主存中共享
"覆盖"(Overlaying)和"交换"(Swapping)是两种常用的内存管理技术,它们都是为了在有限的物理内存中执行更大的程序。 覆盖(Overlaying):覆盖技术是一种将大程序分成若干个较小的部分(称为覆盖区),然后根据需要将这些覆盖区加载到同一块内存区域的技术。在程序执行过程中,如果需要使用到其他部分的代码,就将当前内存区域的代码替换(即覆盖)为新的代码。这种方法要求程序员或编译器精心设计覆盖结构,以确保任何时候都只加载正在执行的代码和数据,而不需要的部分则被覆盖掉。覆盖技术需要手动或编译器的支持,但可以在非常有限的内存中运行大程序。 交换(Swapping):交换技术是一种将整个进程在内存和磁盘之间移动的技术。当操作系统需要为其他进程腾出内存空间时,它会选择一个当前不活动(或优先级较低)的进程,将其整个内存区域保存到磁盘上(称为换出),然后将新的进程加载到刚才被释放的内存区域(称为换入)。这种方法由操作系统自动管理,可以支持多道程序并发执行,但需要大量的磁盘I/O操作,且可能产生内存碎片问题。 这两种技术都是早期操作系统中用于扩大有效内存空间的方法。在现代操作系统中,通常使用更先进的内存管理技术,如虚拟内存和分页,来实现更高效和灵活的内存管理。
"覆盖"(Overlaying)和"交换"(Swapping)是两种常用的内存管理技术,它们都是为了在有限的物理内存中执行更大的程序。
覆盖(Overlaying):覆盖技术是一种将大程序分成若干个较小的部分(称为覆盖区),然后根据需要将这些覆盖区加载到同一块内存区域的技术。在程序执行过程中,如果需要使用到其他部分的代码,就将当前内存区域的代码替换(即覆盖)为新的代码。这种方法要求程序员或编译器精心设计覆盖结构,以确保任何时候都只加载正在执行的代码和数据,而不需要的部分则被覆盖掉。覆盖技术需要手动或编译器的支持,但可以在非常有限的内存中运行大程序。
交换(Swapping):交换技术是一种将整个进程在内存和磁盘之间移动的技术。当操作系统需要为其他进程腾出内存空间时,它会选择一个当前不活动(或优先级较低)的进程,将其整个内存区域保存到磁盘上(称为换出),然后将新的进程加载到刚才被释放的内存区域(称为换入)。这种方法由操作系统自动管理,可以支持多道程序并发执行,但需要大量的磁盘I/O操作,且可能产生内存碎片问题。
这两种技术都是早期操作系统中用于扩大有效内存空间的方法。在现代操作系统中,通常使用更先进的内存管理技术,如虚拟内存和分页,来实现更高效和灵活的内存管理。
覆盖和交换都属于虚拟内存技术,主要目的是从逻辑上扩展内存容量,在实际的表现上则是减少了程序占用的主存空间。
A
用户登录可进行刷题及查看答案
登录后提交答案