内存管理学习之概念篇
操作系统的存储管理包含内存管理和外存管理,外存管理涉及到外设管理,因此这里主要讲内存管理。
从所周知,cpu直接从内存中读取置零和数据,而不会与外存进行交互,因此存储在外存的程序和数据(可执行文件)必须装入内存才能够执行,这就是冯.诺依曼存储思想。
但是在多道程序操作系统中或者是存在大进程的情况下,物理内存不一定够用,为了扩展内存就发明了虚拟存储技术等扩展技术,将程序的一部存在外存上,等到使用时调入内存即可。扩展技术有覆盖、交换和虚拟存储技术。
问题1:多道程序操作系统中,程序的装入时一次性还是先装入一部分然后边执行边装入?若一次行装入内存不足,若边执行边装入效率低下。
答1:现在系统多采用虚拟存储管理技术,先装入一部分在边执行边装入。
存储管理的主要任务主要有:内存的划分和回收,内存的共享和保护,地址重定位。
首先介绍内存的分类:系统内存区和用户内存区,每个进程都存在于用户进程中且不能越界访问系统内存或其他进程中非共享内存,进程的内存包含程序和数据以及PCB。无论是连续存储还是非连续存储都要求进行越界检查达到保护的作用。系统设有基址寄存器和界限寄存器来保存进程内存使用范围,后细讲。
内存的划分分为静态划分和动态划分,地址重定位分为静态重定位和动态重定位。后细讲。