"本节内容主要回顾了操作系统中的存储管理,包括程序的装入和链接、连续分配方式以及存储管理的功能。此外,还提到了覆盖与交换、离散分配方式如基本分页、基本分段和段页式存储管理。同时,简述了现代计算机中的多线程系统和存储器管理的主要任务,强调了内存管理和虚拟存储器的重要性,并介绍了各种装入和链接方式。"
在操作系统中,存储管理是对内存资源的有效控制和分配,确保多个程序能够并发执行并高效利用内存。存储管理的核心任务包括内存的分配和回收、地址变换、存储保护以及通过技术手段扩大内存容量的虚拟存储。其中,程序的装入和链接是程序执行前的关键步骤。
程序的装入是指将编译后的目标程序从磁盘加载到内存中,以便CPU执行。装入有三种方式:绝对装入、可重定位装入和动态运行时装入。绝对装入方式在编译时即确定程序在内存的地址,适用于单道程序环境;可重定位装入方式则在装入时根据内存实际状况进行地址转换;动态运行时装入方式在程序运行时进行地址转换,更具灵活性。
链接是将多个目标模块组合成一个可执行程序的过程,分为静态链接、装入时动态链接和运行时动态链接。静态链接在编译时完成,生成一个完整的可执行文件;动态链接则在程序运行时进行,可以节省内存并允许程序使用未预先确定的库函数。
连续分配方式是一种早期的内存管理策略,它将内存划分为连续的区域分配给程序。这种方式包括固定分区分配和动态分区分配,但易产生内部碎片和外部碎片。为了优化内存利用率,后来发展出了离散分配方式,如基本分页、基本分段和段页式存储管理。这些方法通过将内存空间划分为固定大小的页或段,解决了连续分配的问题,同时也引入了页表和段表进行地址映射,提高了地址变换的效率。
存储保护是存储管理的重要组成部分,防止一个程序错误地访问或修改其他程序的内存区域,保证系统的稳定性和安全性。虚拟存储器则是通过将部分内存与磁盘上的虚拟内存结合,使得程序可以使用超过实际物理内存的地址空间,实现了“扩充”内存容量的效果。
操作系统中的存储管理是一个复杂而关键的领域,它涉及到程序如何在内存中定位、如何有效地分配和回收内存以及如何确保多程序并发执行的安全性和效率。掌握这些知识点对于理解和设计高效的操作系统至关重要。