存 储 管 理
一、基础概念:
什么是储存器?:通俗的说就是在电脑中存储文件、数据或其他东西的设备。
什么是存储管理?:即使对电脑的“主存器”进行管理,根据用户程序的要求为他分配
主存空间和实现重定位,同时还保护用户存放在主存储器中的程序和数据不被破坏。必
要是可以提供虚拟存储技术,扩充主存空间,为用户提供比实际容量大的虚拟储存空
间。
存储器的分类:
1、寄存器:价格最贵,容量小,每个寄存器只存一个字长信息。
指令寄存器:当前读出指令
通用寄存器:当前参加运算的
控制寄存器:存放控制信息
PSW寄存器
基址寄存器
界限寄存器
2、主存储器和高速缓冲存储器(高速缓冲器主要是为了提高执行速度):容量大,以
字节单位编址(若干个自己组成一个字,主要存当前执行的程序和数据等。)
3、辅助存储器:(处理器要住输入输出控制管理下才能访问)
可以长期存储信息,要读或执行一程序必须先把程序读到主存储器中。
注意:
1、寄存器存放当初运行临时程序,哪个晨曦占用处理器,寄存器就为哪个进程服务。
2、系统区:操作系统必须占用主存储器一部分存储空间。比如存系统程序、数据、管理
信息(PCB)、OS与硬件接口信息等系统区,剩下的叫用户区。
二、分区:固定分区,可变分区
1、怎么分区?在进行分区时要转入作业,所有存储器中怎么装入作业呢?在固定分区
和可变分区中都要转入作业,所以我们引入了:重定位。
在了解重定位之前,我们先来了解什么叫绝对地址,什么叫逻辑地址?
绝对地址:主存空间地址按物理的编号称为绝对地址(按顺序编号的真实地址),这空
间叫物理空间。
逻辑地址:用户程序中使用的地址(我们自认为的地址)。
2、什么是重定位?:就是把逻辑地址转换成绝对地址叫重定位,也叫地址转换。
分类:
静态重定位:(不能移动位置)地址转换是在作业执行前,集中一次完成的,作业执
行是无需地址转换。
动态重定位:由硬件地址转换机构动态地址转换,把逻辑地址与基址地址只相加得绝
对地址——在指令过程中进行的定位叫动态重定位。
3、单用户连续存储管理(单道运行系统)
1)、个人计算机上采用
2)、任何时刻主存储器最多只有一个作业
3)、采用静态重定位方式地址转换,作业按时间片轮转办法轮流被换出换人。
4)、处理器执行指令时要检查
最大地址>=绝对地址>=界限地址,否则会产生“地址越界”的中断事件。
4、固定分区管理
1)什么叫分区?把主存储器中可分配的用户区划分若干个连续区,每一个连续区称
一个分区。(在固定分区中,因为分区时固定的所以有上限寄存器,下限寄存器。)
2)多道程序设计系统:前面我们介绍了单道程序设计系统实际就是在单用户连续存
储管理中运用。多道程序设计系统就是每个分区只能装入一个作业,不允许多作业在同
一个区的管理方式管理系统。
3)分配与回收:
分配:就是对存储器进行管理,怎么分配,在固定分区中作业要装入分区时,先查“分区
分配表”,标志“0”为空,非0即已占用。
作业长度 < 分区长度才能装入(进行分配)。
回收:及作业结束吧分区占用标志置成“0”。
4)如何高效分配?——固定分区方法
1、按常出现作业大小、数量划分区
2、划分区按分区大小顺序排列,低地址分在较小分区,高地址分在较大分区。
3、按作业对主存空间需求量排成多个作业队,(多作业队列固定分区法)
5、可变分区存储管理:(动态重定位)
(1)、可变分区原则:
1)根据作业需要“主存空间大小”和当时“主存空间使用情况”是否为作业分配分区。
2)分区长度、个数都不是预先分而是由实际需求、装入作业数决定的。
(2)、分配与回收:作业长度 < 空间区装入 ,剩余仍为空闲区登记在表中,若“=” 把
状态为“空”,“>"不装人。
为了便于管理,设一”空闲区表“
分配法:
回收:作业执行结束,收回作业所占主存空间,把登记状态”空“置为”未登记“。
注意:回收检查是否有邻区空闲区,若有应合并邻区,有上邻区,下邻区、及有上邻
又有下邻。
6、存储的保护:
1)、动态重定位装入作业,要有硬件地址转换机制支持(把逻辑地址转换成绝对地
址):基址寄存器、限长寄存器、加法先来、比较线路。
把指令中的逻址与基址寄存器内容相加=绝对地址。
2)、对已在存储器作业更加需要改存放位置,从一个存储区移到另一个存储
区的工作叫移到。
移到技术的目的:1、集中分散空闲区2、便于组员动态扩充主存。
3)、移动的不利:
1、增加系统开销,OS占系统资源所需处理器时间,移到作业改动进程了。
2、移动是有条件的(正在运行的作业不能移动)
所以:采用两头装入作业,可以减少移到作业数、信息量。