码迷,mamicode.com
首页 > 其他好文 > 详细

操作系统之存储管理(续)

时间:2014-04-29 13:43:21      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   数据   width   


在“操作系统概论-存储管理”中已经讲解了单用户存储管理,固定用户存储管理,可变分区存储管理,页式虚拟存储管理等内容。以及它们一步一步改进的过程,下面主要说一下页式存储,段式存储和段页式存储的区别与关系。

 

页式存储:

 

将一个进程的地址空间划分成若干个大小相等的区域,称为页。相应地,将主存空间划分成与页相同大小的若干个物理块。在为进程分配主存时,将进程中若干个页分别装入多个不相邻的块中。


                mamicode.com,码迷



因为块的大小=页的大小,所以块内位移量=页内位移量

所以只需求出块号即可


                  mamicode.com,码迷


页式存储管理的地址变换


          mamicode.com,码迷


过程:根据逻辑地址中的页号与页表长度寄存器对比,如果页号大于等于页表长度寄存器,则访问越界,产生越界中断。若未出现越界,则根据页表寄存器中的始址和页号计算页表项中的位置,得到该页的物理块号,装入物理地址寄存器中,页内地址不变。下面的变化后过程类似!

 

 

段式存储:

 

在分段存储管理方式中,作业的地址空间被划分成若干个段,每个段是一组完整的逻辑信息,如有主程序段,子程序段,数据段及堆栈段等,每个段都有自己的名字,都是从0开始编址的一段连续的地址空间,各段长度不等。

 

              mamicode.com,码迷


因为每个段长度不等,固需要使用基址加段内地址,确定物理地址


               mamicode.com,码迷


段式存储管理的地址变换


             mamicode.com,码迷

对比:


                                  mamicode.com,码迷


段页式存储:

 

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



              mamicode.com,码迷


     mamicode.com,码迷


段页式存储管理的地址变换


         mamicode.com,码迷


总结:

 

页式:

优点是页表对程序员来说是透明的,地址变换快,调入操作简单;

缺点是各页不是程序的独立模块,不便于实现程序和数据的保护。

 

段式:

优点是消除了内存零头,易于实现存储保护,便于程序动态装配;

缺点是调入操作复杂,地址变换速度慢于页式存储管理。

 

段页式:

1,段页式管理将段式和页式两种方式相结合,互相取长补短,充分发挥了它们的优点。

2,段页式虚拟存储器管理方案具有空间浪费小,存储共享容易,存储保护容易,能动态连接的特点。

3,但由于管理软件的增加,复杂性和开销也随之增加,需要的硬件及占用的内容也有所增加,使得执行速度大大下降。

 

对于存储管理来说,虽然存储的方式很多,但是每一种存储方式都是上一种的改进,理解它们间的关系(织网),这些知识不难掌握!

 





操作系统之存储管理(续),码迷,mamicode.com

操作系统之存储管理(续)

标签:style   blog   http   使用   数据   width   

原文地址:http://blog.csdn.net/hejingyuan6/article/details/24659055

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!