操作系统存储器管理:装入与链接

需积分: 0 0 下载量 165 浏览量 更新于2024-08-17 收藏 760KB PPT 举报
"当前空闲链如下-汇编程序设计课件" 在计算机科学中,存储器管理是操作系统的重要组成部分,特别是在多道程序设计环境中。本课件主要关注存储器的层次结构、程序的装入和链接,以及几种不同的存储器分配方式。以下是详细的知识点解释: 1. **存储器的层次结构**: 计算机系统通常采用多级存储器体系,包括高速缓存(Cache)、主存储器(Main Memory)和磁盘缓存等。这种层次结构是为了平衡访问速度和存储容量之间的矛盾。高速缓存提供快速但昂贵的存储,主存储器容量较大但速度较慢,磁盘缓存则用于长时间存储大量数据。 2. **程序的装入和链接**: - **程序的装入**:是指将编译后的程序加载到内存中以便执行。装入方式主要有三种: - **绝对装入**:程序在编译时就确定了其在内存中的绝对地址,装入后不再改变。 - **可重定位装入(静态重定位)**:程序装入时,根据内存实际可用位置进行地址调整,使得程序能在不同内存位置运行。 - **动态运行时装入**:程序运行时进行地址转换,如在具有对换功能的系统中,程序可能因内存调度而在不同位置执行。 3. **链接**: - **链接的目的**:将编译后的多个目标模块组合成一个可执行程序。 - **链接方式**:有两种主要的链接方式,包括静态链接和动态链接。静态链接在编译时完成,所有依赖的库和函数都整合到最终的可执行文件中;动态链接则在程序运行时进行,允许程序加载时或运行时才绑定到相应的库函数。 4. **存储管理方式**: - **连续分配**: - **单一连续区分配**:所有程序都在单一的连续内存区域中分配。 - **固定分区分配**:内存被划分为固定大小的区域,每个进程分配一个区域。 - **动态分区分配**:根据进程需求动态分配内存,可能出现碎片问题。 - **离散分配**: - **基本分页存储管理**:将内存和进程空间划分为固定大小的页,通过页表进行地址映射。 - **分段存储管理**:根据程序逻辑结构划分段,每段有自己的地址空间。 - **段页式存储管理**:结合分段和分页,先按逻辑段划分,再将每段划分为页,使用段表和页表进行地址转换。 在本课件中提到的空闲链是关于动态分区分配的一种表示方式,回收空闲区后,需要更新空闲链来表示新的内存状态。具体回收操作涉及到内存管理算法,如首次适应、最佳适应、最差适应等,这些算法选择合适的空闲区来分配给新进程或合并相邻的空闲区以减少碎片。回收的空闲区有:1k-50k、10k-40k、20k-50k、30k-10k、60k-100k和500k-200k。 理解这些概念对于深入学习操作系统原理和汇编语言编程至关重要,它们是计算机系统高效运行的基础。