装入方式汇总
• 绝对装入方式 • 可重定位装入方式 • 动态运行时装入方式
简单分析比较 ——
4.1.2 程序的链接
源程序经过编译后,可能会得到一组目标模块,各个模块都有 自己的独立空间,从执行的角度看这些模块又是一个整体,各 个模块所涉及的地址最终都要合并为统一的地址。
链接分类
静态链接 动态链接
4.1 程序的装入和链接的有关概念
用高级、汇编语言上机步骤:编译、链接、装入。
编辑:得到如test.cpp ,a.asm等源文件
编译:从每个源文件得到对应的目标文件(PC机系统后缀为OBJ 的文件)
链接:将若干有关目标文件(在VC++环境中为一个workspace中 的文件)及有关系统支撑的库目标文件进行链接,得到相应的可 执行文件(PC机系统后缀为EXE的文件或动态连接文件DLL)
4.2.2 固定分区分配
1、把内存划分为若干个固定的连续分区。 • 分区大小相等:只适合于多个相同程序的并发执行(处理 多个类型相同的对象)。 • 分区大小不等:多个小分区、适量的中等分区、少量的大 分区。根据程序的大小,分配当前空闲的、适当大小的分区。
分配策略: •当作业到达时,选择适合作业要求的最小空闲区分给作业,若 该分区不空,让其在该分区队列中等待。 • 为了充分利用存储器,系统只维持一个等待存贮器的队列。 任何时候,只要有一个分区变为空闲,队列中的一个作业就可 装入运行。
第4章_存储管理
所以,即使是现代的计算机系统,存储容量极大,速度 也飞快,内存管理的重要性丝毫没有削弱。
对于一个单用户、单任务的操作系统的实现相对非常简单, 支撑这种系统甚至不需要任何存储保护的硬件。在最严重的情 况下即使内存崩溃也不会引起严重后果。