内存管理系统需求
内存被认为是操作系统存储和访问数据的主要部分。在主内存空间有限且多用户环境下需要更多切换操作的情况下,内存管理是一项复杂的任务,由操作系统执行。它的功能是管理处于就绪、等待或执行状态的进程的状态,并根据每个进程的完成情况分配或释放内存位置。每个进程都被分配到特定的内存位置,其状态在内存管理系统中被监控和更新。在多编程环境中,操作系统将内存细分为多个进程以同时执行其功能,在此阶段需要适当的内存管理,以确保处理器不会进入空闲状态。
内存管理有两种不同的方案来存储系统中的数据。连续方法,其中进程被分配到固定大小的内存块,具有较大的大小并存储在具有连续地址的内存位置;而非连续方法,进程存储在位于不同内存部分的不同块中,不需要连续,这似乎是一种有效的技术,因为它只在需要时才使用内存空间。
内存管理需求
内存管理系统需要一些基本的处理和存储需求,如下所述。
内存共享
在多进程环境中,所有进程都访问主内存的同一部分。在此共享过程中需要保护措施,由内存管理负责。这种共享方法是有利的,因为每个进程不需要创建单独的副本,因为它们可以访问内存中已有的共享副本。共享内存在进程间通信方法中被认为是一种有效的方法。
内存保护
处理器必须满足保护机制,以避免其他未经授权的进程对位于共享内存空间中的同一文件执行写操作。这必须由系统处理器控制,而不是安装的操作系统,因为操作系统具有控制占用进程的功能,从而检查有效内存的引用。简单来说,保护是保护内存免受未经授权的进程访问的方法。
地址映射/重定位 −
在进程执行期间,用户可能不知道驻留在主内存中的其他程序,这里发生磁盘交换,它返回到主内存,但位置不同。重定位发生在交换之后,因为进程已驻留的先前内存位置现在将由另一个进程使用。一旦进程加载到内存中,必须从逻辑地址转换为物理地址,这是由关联进程和操作系统完成的。物理地址包含与重定位寄存器相关的逻辑地址和内容的组合。
逻辑寻址 −
存储在内存单元中的程序被组织成模块,这些模块是可修改的,具有读和执行权限,但一些模块没有修改权限。字节序列或其他形式的字是主内存的表示形式,它是线性的,本质上具有一维地址空间。如上所述,逻辑地址由 CPU 在进程运行时生成。作为输入给出的用户程序被划分为独立编译的模块,并在系统运行时对其引用进行寻址。保护可以在驻留不同模块的逻辑空间的每个级别上有所不同。
物理空间 −
众所周知,系统内存有两个部分:主内存和辅助内存。主内存(易失性)能够以更好的性能存储和处理当前正在执行的程序,而辅助内存(充当非易失性)支持长期存储数据,但与主内存相比,性能较低。信息流和交换过程对于用户来说似乎是一项困难的任务。
当主内存和要存储的数据不足时,用户可以采用覆盖方法。此方法允许将用户程序的各种模块分配到相同的内存空间。主要缺点是在多编程环境中,用户在程序执行期间不知道内存空间及其位置的详细信息。
结论
因此,内存管理系统在进程执行和空闲阶段控制和管理可用和空闲空间。还根据用户的请求动态分配内存,并在不需要时释放未使用的内存。该系统应管理上述要求,以有效地存储和处理用户程序。