`
he91_com
  • 浏览: 377280 次
文章分类
社区版块
存档分类
最新评论

操作系统概论-存储管理

 
阅读更多


存储管理是对主存储器中的用户区域进行管理.包括主存空间的分配与回收,主存空间的共享与保护,地址转换以及主存空间的扩充等工作.

单用户存储管理

思想:

单用户存储管理是一种最简单的存储管理方式.在这种管理方式下,操作系统占用了一部分主存空间,其余剩下的主存空间都分配给一个作业使用,即在任何时刻主存储器中最多只有一个作业,比较适合于单道运行的计算机系统.

由于单用户连续存储管理每次只允许一个作业装入主存储器,因此不必考虑作业在主存储器中的移动问题.于是可采用静态定位方式进行地址转换,即在作业被转入到主存储是一次性地完成地址转换.处理器在执行指令时,要检查其绝对地址是否属于规定范围内的地址,如果属于,则按此地址访问,否则将产生“地址越界”中断。


固定用户存储管理

思想:

把主存储器中可分配的用户区域预先划分成若干个连续区,每一个连续区称为一个分区.

内存划分成若干固定大小的分区,每个分区中最多只能装入一个作业。当作业申请内存时,系统按一定的算法为其选择一个适当的分区,并装入内存运行。由于分区大小是事先固定的,因而可容纳作业的大小受到限制,而且当用户作业的地址空间小于分区的存储空间时,造成存储空间浪费。

主存空间的分配与回收

系统设置一张“分区分配表”来描述各分区的使用情况,登记的内容应包括:分区号、起始地址、长度和占用标志。其中占用标志为“0”时,表示目前该分区空闲;否则登记占用作业名(或作业号)。有了“分区分配表”,空间分配与回收工作是比较简单的。

地址转换与存储保护

固定分区管理可以采用静态重定位方式进行地址映射。

为了实现存储保护,处理器设置了一对“下限寄存器”和“上限寄存器”。当一个已经被装入主存储器的作业能够得到处理器运行时,进程调度应记录当前运行作业所在的分区号,且把该分区的下限地址和上限地址分别送入下限寄存器和上限寄存器中。处理器执行该作业的指令时必须核对其要访问的绝对地址是否越界。


如何提高主存利用率(多作业队列)

为避免小作业被分配到大的分区中造成空间的浪费,可采用多作业队列的方法。即系统按分区数设置多个作业队列,将作业按其大小排到不同的队列中,一个队列对应某一个分区,以提高内存利用率。

可变分区存储管理


思想:

此管理方式不是预先把主存储器中的用户区域划成分区,而是在作业要求装入主存储器时,根据作业需要的主存空间大小和当时主存空间使用情况来决定是否为作业分配一个分区.因此分区不是预先固定的,而是按作业的实际需要来划分的,分区的个数也不是预先确定的,而是由装入的作业数决定的.

这种处理方式使内存分配有较大的灵活性,也提高了内存利用率。但是随着对内存不断地分配、释放操作会引起存储碎片的产生。

主存空间的分配与回收

采用可变分区存储管理,系统中的分区个数与分区的大小都在不断地变化,系统利用“空闲区表”来管理内存中的空闲分区,其中登记空闲区的起始地址、长度和状态。当有作业要进入内存时,在“空闲区表”中查找状态为“未分配”且长度大于或等于作业的空闲分区分配给作业,剩余的部分仍为空闲区,当空闲区不能满足需求时,作业暂时不能装入;当一个作业运行完成时,应将该作业占用的空间作为空闲区归还给系统。

可变分区管理方式常用的主存分配算法有:最先适应分配算法,最优适应分配算法,最坏适应分配算法.


地址转换与存储保护


可变分区存储管理一般采用动态重定位的方式,为实现地址重定位和存储保护,系统设置相应的硬件:基址/限长寄存器(或上界/下界寄存器)、加法器、比较线路等。

基址寄存器用来存放程序在内存的起始地址,限长寄存器用来存放程序的长度。处理机在执行时,用程序中的相对地址加上基址寄存器中的基地址,形成一个绝对地址,并将相对地址与限长寄存器进行计算比较,检查是否发生地址越界。

移动技术-碎片


所谓碎片是指内存中出现的一些零散的小空闲区域。由于碎片都很小,无法再利用。如果内存中碎片很多,将会造成严重的存储资源浪费。解决碎片的方法是移动所有的占用区域,使所有的空闲区合并成一片连续区域,这一技术称为移动技术(紧凑技术)。移动技术除了可解决碎片问题还使内存中的作业进行扩充。显然,移动带来系统开销加大,并且当一个作业如果正与外设进行I/O时,该作业是无法移动的。

页式虚拟存储管理


前面介绍的几种存储管理方式,要求作业的逻辑地址空间连续地存放在主存储器的某个区域中.当主存储区屋足够大的区域时,则作业无法装入,或必须移动某些作业后才能装入.

页式存储管理把作业的连续逻辑地址空间分散到几个不连续的主存区域,既可充分利用主存空间又可减少移动所花费的开销.不仅如此,还可采用虚拟存储管理技术,实现在较小的主存空间里运行较大的作业.

基本原理:

页式存储管理是把主存储器分成大小相等的许多区,每个区称为一块.与此对应,编制程序的逻辑地址也分成页,页的大小与块的大小相等.

逻辑地址:



内存分配:

系统可用一张“位示图”来登记内存中各块的分配情况,存储分配时以页面(块)为单位,并按程序的页数多少进行分配。相邻的页面在内存中不一定相邻,即分配给程序的内存块之间不一定连续。

对程序地址空间的分页是系统自动进行的,即对用户是透明的。由于页面尺寸为2的整数次幂,故相对地址中的高位部分即为页号,低位部分为页内地址。

实现原理:

1.页表

系统为每个进程建立一张页表,用于记录进程逻辑页面与内存物理页面之间的对应关系。地址空间有多少页,该页表里就登记多少行,且按逻辑页的顺序排列,形如:

2.地址映射过程

页式存储管理采用动态重定位,即在程序的执行过程中完成地址转换。处理器每执行一条指令,就将指令中的逻辑地址(p,d)取来从中得到逻辑页号(p),硬件机构按此页号查页表,得到内存的块号B’,便形成绝对地址(B,d,处理器即按此地址访问主存。

3.页面的共享与保护

当多个不同进程中需要有相同页面信息时,可以在主存中只保留一个副本,只要让这些进程各自的有关项中指向内存同一块号即可。同时在页表中设置相应的“存取权限”,对不同进程的访问权限进行各种必要的限制。

分享到:
评论

相关推荐

    数据库系统概论-第8章-存储过程的操作与管理.ppt

    数据库系统概论-第8章-存储过程的操作与管理.ppt该文档详细且完整,值得借鉴下载使用,欢迎下载使用,有问题可以第一时间联系作者~

    现代操作系统3-存储管理

    现代操作系统3-存储管理,接着在我空间里还有,系统概论和进程与线程,也就是现代操作系统1和现代操作系统2

    自考02326操作系统(2018版)课后习题答案.docx

    操作系统概论 1.什么是操作系统?请说明操作系统在计算机系统中的作用和地位。 操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合:它们能够有效地组织和管理计算机中的硬件和软件资源,合理地控制...

    操作系统概论存储管理同步练习及答案[借鉴].pdf

    操作系统概论存储管理同步练习及答案[借鉴].pdf

    2323操作系统概论资料.docx

    2323操作系统概论资料全文共9页,当前为第1页。2323操作系统概论资料全文共9页,当前为第1页。第1章 引论 2323操作系统概论资料全文共9页,当前为第1页。 2323操作系统概论资料全文共9页,当前为第1页。 1 计算机...

    数据库系统概论-第四版-第一章练习题及答案(1).doc

    数据库是在计算机系统中按照一定的数据模型组织、存储和应用的 ,支持数据库各 种操作的软件系统叫 ,由计算机、操作系统、DBMS、数据库、应用程序及用户等组成的 一个整体叫做 。 A.文件的集合 B.数据的集合 C....

    数据库系统概论-第三章-关系数据库标准语言SQL.pdf

    An Introduction to Database Sy 大连大学信息工程学院 数据库系统概论 An Introduction to Database System 第三章 关系数据库标准语言 SQ L An Introduction to Database Sy 第三章 关系数据库标准语言 SQL 3.1 ...

    现代操作系统2-进程与线程

    现代操作系统1-操作系统概论,接着在我空间里还有进程与线程,存储管理,也就是现代操作系统2和现代操作系统3

    02323操作系统概论课后习题.doc

    1.什么是进程?说明进程与程序的区别和联系。 进程的定义:①进程是允许并发执行的程序在某个数据集合上的运行过程。②进程是由正文段、用户数据段及程序控制块共同组成的执行环境。...操作系统如何创

    自考操作系统02326-知识点总结

    通过此操作系统文件,你可以了解以下... 全文档共总结了八章,包括操作系统概论、操作系统运行环境、进程与线程、进程同步与互斥、死锁、存储管理、文件系统、I/O设备管理等。 希望可以帮助到正在自考操作系统的你呦

    [详细完整版]操作系统概论.doc

    操作系统概论 1. 计算机硬件主要由中央处理器、存储器、输入输出控制系统和各种输入输出设备组成; 计算机系统包括硬件子系统和软件子系统。 2. 操作系统三种基本类型:批处理操作系统、分时操作系统、实时操作系统...

    数据库课程设计--图书管理系统.doc

    数据库系统概论(第四版). 高等教育出版社 2.闪四清.数据库系统原理与应用教程.清华大学出版社 3.周龙骧.数据库管理系统实现技术.中国地质大学出版社 4.张海藩.软件工程概论.清华大学出版社 5.陈明 编著.实用软件...

    数据库系统概论第四版答案

    位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和 维护数据。 DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、 数据库的建立和维护功能。解析 DBMS 是一...

    22春“计算机科学与技术”专业《操作系统概论》在线作业一答案参考8.docx

    信息存储 参考答案:B 22春"计算机科学与技术"专业《操作系统概论》在线作业一答案参考8全文共4页,当前为第2页。 11. 在选择进程调度算法时,既要考虑算法是否能解决实际问题,又要考虑算法本身是否易于实现。( ) A...

    数据库系统概论答案

    ( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。 DBMS 的主要功能包括数据定义...

    22春“计算机科学与技术”专业《操作系统概论》在线作业一答案参考2.docx

    22春"计算机科学与技术"专业《操作系统概论》在线作业答案参考 1. 进程就是一个程序。( ) A.错误 B.正确 参考答案:A 2. CPU输出数据的速度远远高于打印机的打印速度,为解决这一矛盾,采用( ) A.并行技术 B.通道...

    数据库系统概论_王珊_萨师煊_最全答案

     数据库管理系统 (DBMS)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护...

    操作系统电子教案.rar

    第1章 操作系统概论.ppt 第2章 作业管理.ppt 第3章 处理机管理.ppt 第4章 存储管理.ppt 第5章 设备管理.ppt 第6章 文件管理].ppt 第7章 磁盘管理.ppt ...... ...... ......

    自考02326操作系统(2018版)课后习题答案.pdf

    第一章 操作系统概论 1. 什么是操作系统?请说明操作系统在计算机系统中的作用和地位。 操作系统是计算机系统中的一个系统软件, 它是这样一些程序模块的集合: 它们能够有 效地组织和管理计算机中的硬件和软件资源...

    数据库系统概论期末复习2.doc

    3.DBMS是指 数据库管理系统 它是位于 用户 和 操作系统 之间的一层管理软件。 4.数据独立性又可分为 逻辑数据独立性 和 物理数据独立性 。 5.当数据的物理存储改变,应用程序不变,而由DBMS处理这种改变,这是指...

Global site tag (gtag.js) - Google Analytics