操作系统教程—Linux实例分析孟庆昌第4章存储器管理
第4章 存储器管理 ;4.8 页面置换算法
4.9 内存块分配算法和抖动问题
4.10 段式虚拟存储器
4.11 段页式结合系统
4.12 Linux系统的存储管理
习题
;4.1 引 言 ;图4-1 内存在计算机系统中的地位 ; 4.1.1 用户程序的主要处理阶段
我们用高级语言编程解决某个特定的任务时, 通常先对它进行数学抽象, 确定相应的数据结构和算法, 然后用高级程序设计语言(如PASCAL、 C语言等)或者汇编语言进行程序设计。 这种用高级语言或汇编语言编写的程序就称为源程序。
从用户的源程序进入系统到相应程序在机器上运行, 要经历一系列步骤, 主要处理阶段有: 编辑、 编译、 连接、 装入和运行。 如图4-2所示。
;图4-2 用户程序的主要处理阶段 ; 1. 编辑阶段
用户键入编辑命令, 如vi, 进入编辑方式。 在编辑方式下用户将所编写的源程序输入到机器内, 存放在相应的文件(如filel.c)中。 这种存放源程序的文件叫做源文件。
2. 编译阶段
源程序并不能直接在机器上运行, 因为CPU不能识别源程序, 它仅仅认识由规定范围内的一系列二进制代码所组成的指令和数据, 并按预定含义执行一系列动作。 ; 3. 连接阶段
用户程序可以分别进行编译, 从而得到不同的目标模块。 而且用户程序中往往要调用系统库程序和应用程序, 这些程序是预先就编译好的。 这些目标代码不能简单地合并在一起, 因为各自分配的内存地址可能有冲突, 并且调用者还不知道被调用模块放在什么地方, 仅知道它的符号名称。 ; 4. 装入阶段
程序必须装到内存才能运行。 这就需要装入程序根据内存的使用情况和分配策略, 将上述装入模块放入分到的内存区中。 ; 5. 运行阶段
为了运行装入内存中的程序, 需要键入运行命令。 在UNIX/Linux环境中, 可直接键入可执行文件的名称。 此时, 终端进程创建一个子进程。 当这个进程被调度程序选中后, CPU就去执行该进程的可执行代码。 就是说, 该用户程序被执行了。 ; 4.1.2 重定位
由于内存地址是从统一的一个基址0开始按序编号的, 就像是一个大数组那样, 因此, 内存空间是一维的线性空间。
用户程序和数据装入内存时, 需要进行重定位。 例如, 图4-3表示程序A装入内存前后的情况。 在地址空间100号单元处有一条指令“LOAD 1, 500”, 它实现把500号单元中的数据12345装到寄存器1中去。 ;图4-3 程序装入内存时的情况 ; 1. 静态重定位
静态重定位是在目标程序装入内存时, 由装入程序对目标程序中的指令和数据的地址进行修改, 即把程序的逻辑地址都改成实际的内存地址。 对每个程序来说, 这种地址变换只是在装入时一次完成, 在程序运行期间不再进行重定位。 按照静态重定位方式, 图4-3所示的程序A装入内存时的情况就变成如图4-4所示的样子。
;图4-4 静态重定位示意图 ; 它的主要缺点是:
(1) 程序的存储空间只能是连续的一片区域, 而且在重定位之后就不能再移动。 这不利于内存空间的有效使用。
(2) 各个用户进程很难共享内存中的同一程序的副本。
; 2. 动态重定位
动态重定位是在程序执行期间每次访问内存之前进行重定位。 这种变换是靠硬件地址变换机构实现的。 通常采用一个重定位寄存器, 其中放有当前正在执行的程序在内存空间中的起始地址, 而地址空间中的代码在装入过程中不发生变化。 动态重定位的过程如图4-5所示。
;图4-5 动态重定位示意图 ; 如果用(BR)表示重定位寄存器中的内容, 用addr表示操作对象的相对地址, 则操作对象的绝对地址就是(BR)+addr的值。
动态重定位的主要优点是:
(1) 程序占用的内存空间动态可变, 不必连续存放在一处。
(2) 比较容易实现几个进程对同一程序副本的共享使用。 ;4.2 基本的内存管理技术 ;图4-6 单一连续分配 ; 4.2.2 分区法
分区分配是为支持多道程序开发、 运行的一种最简单的存储管理方式。 在这种方
您可能关注的文档
最近下载
- 制造业信息化战略规划实施与优化-PDM.docx VIP
- 那智不二越机器人flexgui toolbox操作说明书.pdf VIP
- 智慧工厂-智慧工厂解决方案.docx VIP
- 高中化学解题方法归纳:和量法.doc VIP
- 译林牛津新版高中英语(必修1-3)单词表.pdf VIP
- 包装有限公司分切机安全风险分级清单.docx VIP
- 重庆市西南大学附属中学2025届高三下学期二诊模拟考试物理试卷 含解析.docx VIP
- 【高中英语】《星火英语同步词汇》抗遗忘速记手册.docx VIP
- 成都市锦江区2026届初三一诊(暨期末考试)数学试卷(含答案).docx
- 三坐标 培训教程.pptx VIP
原创力文档

文档评论(0)