操作系统 第3章 存储管理 (学习笔记)

第3章 存储管理

 

3.1实用系统中的存储管理方法

 

3.1.1存储器管理的功能

内存分配、地址映射、内存保护、内存共享、内存扩充

 

3.1.2用户程序的主要处理阶段 

1).编辑阶段:创建源文件 

2).编译阶段:生成目标文件 

3).连接阶段:生成可执行文件 

4).装入阶段:重定位,装入内存 

5).运行阶段:得到结果 存储器管理的功能

 

3.1.3实用系统中的存储管理方法

 

3.1.1DOS分区及分段

(1)OS+用户区:低端的640KB的基本内存

(2)扩展内存:高端的扩展内存

(3)OS+用户区+扩展内存:主存储器被限制为1MB的内存空间, 单道程序

(4)OS:系统启动后将操作系统调入基本内存的低端位置,大概占几十KB的空间

(5)用户区:存放用户程序,大小必须低于640KB 


 

3.1.2Windows XP的存储器

(1)Windowsxp要求存储器最低为64MB

(2)内存被划分为大小为4KB的页面,可存放多个用户任务的页面,多任务同时运行

(3)用户在编制程序时,其大小最高可达4GB,只装入程序的部分页面来运行

(4)Windows支持虚拟存储器

 

3.1.3Linux存储管理

(1)Linux系统将存储器空间划分成页面,根据进程运行需要对页面进行切换

(2)在磁盘上安排了交换区与内存协调工作,以达到扩大内存的目的

(3)Linux系统的交换区多采用在硬盘上划分出一个指定区域来作为交换区,因此,交换区的大小不可变化

 

3.2 存储管理功能

 

3.2.1用户实体与存储空间

3.2.1.1用户实体与存储器的关系

(1)用户实体与存储器的关系

1)任务激活前存放在辅助存储器上,激活后,它成为进程进入主存储器

2)进程的描述部分主程序部分始终存放于主存储器,其他程序和数据部分视需要由操作系统在内存与外存之间交换

3)当用户向计算机提交自己的任务时,存储管理是以一种逻辑形式来进行描述,而当操作系统处理用户的任务时,是对具体的存储器地址进行操作

4)存储管理的工作:处理发生在衔接逻辑和物理存储时所产生的各种问题

 

3.2.1.2用户实体与存储空间

 (1)物理地址/绝对地址:内存中的实际地址/内存中各物理单元的地址是从统一的基地址顺序编址

 (2)物理地址空间/绝对地址空间:当逻辑地址空间被映射到内存时所对应的物理地址的集合(只有当逻辑地址空间存在时,才会有物理地址空间)

 (3)逻辑地址/相对地址:用户的每一条程序指令要访问的数据都有一个对应的地址/用户程序经编译之后的每个目标模块都以0为基地址顺序编址

 (4)逻辑地址空间:实体(用户、作业、任务、进程或程序)所用的所有逻辑地址的集合

 

3.2.2分配、释放及分配原则

(1)存储分配: 存储分配实际上是将作业的逻辑地址空间映射成为内存中的物理地址空间

(2)存储释放: 存储释放实际上是解除逻辑地址空间与物理地址空间的联系,并释放物理空间

(3)分配原则

在设计分配程序时需要考虑诸多因素:

1)内存空间的划分

2)数据结构的确定

3)作业空间的划分

4)淘汰算法

5)分配算法

 

3.2.3地址映射

(1)地址映射:

1)对于指令要访问的地址进行相对地址到绝对地址的变换

2)对于指令要访问的地址进行相对地址到绝对地址的变换


(2)装入: 指将逻辑地址空间安排到内存中具体的物理位置上。

装入针对的是整个逻辑地址空间(装入后仍相对地址不能够访问)


(3)绝对地址=(BR)+ 相对地址

 

(4)重定位:把逻辑地址转变为内存的物理地址的过程

 

(5)重定位的划分: 静态重定位和动态重定位

 

(6)静态重定位:是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。重定位在程序装入时一次完成(不可改变)

 缺点:

1)执行期间程序不能在主存储器中移动,所以对提高主存储器的利用率不利

2)若程序空间大于被分配的物理空间,由程序员自行采取某种手段来处理空间不足问题,如采用覆盖结构

3)用户不能共享已经存放在主存中的同一个程序,如果几个用户要使用同一个程序,则每个用户必须在各自的主存空间中存放一个程序副本

 

(7)动态重定位:在程序执行期间,每次访问内存之间进行重定位,这种变换是靠硬件地址变换机构实现的(

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值