存储管理(一)

2019-04-03  本文已影响0人  菜根小友

目录

4.1 存储器的工作原理

4.2 连续存储管理


存储管理是操作系统的重要组成部分,负责管理计算机系统的重要资源——内存。

内存空间一般分为两部分

操作系统的主要任务之一是尽可能方便用户使用和提高内存利用率。此外,有效的存储管理也是多道程序设计的关键支撑。具体地说,存储管理包含以下功能:

4.1 存储器工作原理

链接程序(linker)的作用是根据目标模块之间的调用和依赖关系,将主调模块、被调模块、以及所用到的库函数装配和链接成一个完整的可装载执行模块。
根据程序链接发生的时刻和链接方式,可分成三种:
(1)静态链接
(2)动态链接
(3)运行时链接

装载程序(loader)把可执行程序装入内存方式有三种:

(1)绝对装载。装载模块中的指令地址始终与其内存中的地址相同,即在模块中出现的所有地址都是内存绝对地址。

(2)可重定位装载。根据内存当时使用情况,决定将装载代码模块放入内存的物理位置。模块内使用的地址都是相对地址。

(3)动态运行时装载。为提高内存利用率,装入内存的程序可换出到磁盘上,适当时候再换入到内存中,对换前后程序在内存中的位置可能不同,即允许进程的内存映像在不同时候处于不同位置,此时模块内使用的地址必为相对地址。

可执行程序逻辑地址转换 (绑定)为物理地址的过程称地址重定位 、地址映射或地址转换,基于上述程序装载方式,可区分三种地址重定位。
(1) 静态地址重定位
(2) 动态地址重定位
( 3 ) 运行时链接地址重定位

存储保护
涉及:防止地址越界和控制正确存取。
各道程序只能访问自己的内存区而不能互相干扰,必须对内存中的程序和数据进行保护,以免受到其他程序有意或无意的破坏。可对进程执行时所产生的所有内存访问地址进行检查,确保进程仅访问它自己的内存区,这就是地址越界保护,越界保护依赖于硬件设施,常用的有:界地址和存储键。
进程访问分配给自己的内存区时,要对访问权限进行检查,如允许读、写、执行等,从而确保数据的安全性和完整性,防止有意或无意的误操作而破坏内存信息,这就是信息存取保护。


4.2 连续存储空间管理

4.2.1 固定分区存储管理

4.2.2 可变分区存储管理

可变分区存储管理是按作业的实际大小来划分分区,且分区个数也是随机的,实现多个作业对内存的共享,进一步提高内存资源利用率。

image.png

可变分区存储管理数据结构

可变分区内存分配表可由两张表格组成:

链表空闲区管理方法

可变分区管理分配算法

image.png image.png

4.2.3 内存不足的存储管理技术
1.移动技术

image.png

有关移动问题讨论

2. 对换技术

3. 覆盖技术

上一篇下一篇

猜你喜欢

热点阅读