您的位置:首页 > 其它

操作系统——存储管理

2016-11-06 16:53 197 查看
操作系统——存储管理
一、存储管理:

解决多个用户使用主存的问题。

管理内存。主要功能包括分配和回收主存空间、提高主存的利用率、扩充主存、对主存信息实现有效保护。

二、存储器结构:

一般有“寄存器-主存-外存”和“寄存器-缓存-主存-外存”。

三、地址重定位:

逻辑地址变换成物理地址的过程,分为静态和动态。

静态重定位:
在程序装入主存时已经完成了逻辑地址到物理地址的变换,在程序的执行期间将不会再发生变化。

动态重定位:
在程序运行期间完成逻辑地址到物理地址的变换,可解决内存空间不足的问题。

四、分区存储:

分为固定、可变和可重定位分区。

固定分区:每个分区的大小可不等,造成k空间浪费。
可变分区:动态分区方式,分区个数可变,分区的大小刚好等于作业的大小。
可重定位分区:解决碎片问题,移动所有已分配好的分区,使之成为连续区域。
这里有一个分区保护,目的及时防止未经核准的用户访问分区。常用两种方式:上界/下界寄存器保护(上界存作业装入地址,下界存结束地址);基址/限长寄存器保护(基址存装入地址,限长存作业长度)

五、分页存储:



利用页表把用户程序中的逻辑地址变换成主存中的物理地址,实际上就是将用户程序中的页号变换成主存中的物理块号。页表寄存器用来存放页表的始址和页表的长度。进程未执行时,每个进程对应的页表的始址和长度存放在进程的PCB中,进程被调度时,将它们装入页表寄存器。地址变换时,系统将页号和页表长度进行比较。若页号大于等于页表寄存器中的页表长度L,则访问越界,产生越界中断。若未越界,则根据页表寄存器中的页表始址和页号计算出该页在页表项中的位置,得到该页的物理块号(实页号),将此物理块号装入物理地址寄存器中。同时将页内地址直接装入物理地址寄存器的块内地址字段中,这样便完成了从逻辑地址到物理地址的变换。

六、分段存储:

 


为了实现从逻辑地址到物理地址的变换功能,系统中设置了段表寄存器,用于存放段表始址和段表长度。在进行地址变换时,系统将逻辑地址中的段号S与段表长度L进行比较。若S>=L,表示段号太大,访问越界,于是产生越界中断信号;若未越界,根据段表的始址和该段的段号,计算该段对应段表项的位置,从中读出该段在主存中的起始地址,然后在检查段内地址d是否超过该段的段长SL。若超过,则发出越界中断信号;未越界,则将该段的机制S’与段内地址d相加,得到要访问的主存物理地址。

 

七、段页式存储:



同时配置段表和页表,段表内容是页表始址和页表长度。有一个段表寄存器,存放段表起始地址和段表长度TL。

先将整个主存划分成大小相等的存储块,将用户程序按程序的逻辑关系分为若干个段,并为每个段赋予一个段名,再将每个段划分成若干页,以叶框为单位离散分配。

八、虚拟存储:

1、虚拟存储器的实现

是具有请求调入功能和置换功能,能仅把作业的一部分装入主存便可运行作业的存储器系统,是能从逻辑上对主存容量进行扩充的一种虚拟的存储器系统。

它的实现主要有3中方式:请求分页系统;请求分段系统;请求段页式系统。

请求分页系统中,每当所要访问的页面不在主存时便要产生一个缺页中断,发生缺页中断时,返回到被中断指令的开始重新执行该指令。一般中断返回到下一个指令,这是与缺页中断不同之处。

2、页面置换算法

(1)最佳置换算法

选择那些永不使用的,或在最长时间内不再被访问的页面置换出去。该方法性能最好,但难以实现。



(2)先进先出(FIFO)置换算法

淘汰最先进入主存的页面,是一种最直观、性能最差的算法,可能出现分配的页面数增多但缺页率增加的异常现象。



(3)最近最少未使用(LRU)置换算法

选择最近最少未使用的页面予以淘汰,系统在每个页面设置一个访问字段,实现时需要借助寄存器或栈。



总结:

近几年各系统软件、应用软件在功能及所需存储空间等方面都在急剧膨胀,如何对存储器实施有效地管理,不仅直接影响到存储器的利用率,而且还对系统性能有重大的影响。所以这部分的研究很有必要。

操作系统是人类智慧的结晶,能学好它,对我们的生活也会产生很大的影响,站在巨人的肩膀上学习更省力。

感谢您的阅读,欢迎关注下篇操作系统——设备管理!

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: