A. 基本分段存储管理方式的分段系统的基本原理
在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。例如,有主程序段MAIN、子程序段X、数据段D及栈段S等,如图4-17所示。每个段都有自己的名字。为了实现简单起见,通常可用一个段号来代替段名,每个段都从0开始编址,并采用一段连续的地址空间。段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。整个作业的地址空间由于是分成多个段,因而是二维的,亦即,其逻辑地址由段号(段名)和段内地址所组成。
分段地址中的地址具有如下结构:
在该地址结构中,允许一个作业最长有 64 K个段,每个段的最大长度为64 KB。分段方式已得到许多编译程序的支持,编译程序能自动地根据源程序的情况而产生若干个段。例如,Pascal编译程序可以为全局变量、用于存储相应参数及返回地址的过程调用栈、每个过程或函数的代码部分、每个过程或函数的局部变量等等,分别建立各自的段。类似地,Fortran编译程序可以为公共块(Common block)建立单独的段,也可以为数组分配一个单独的段。装入程序将装入所有这些段,并为每个段赋予一个段号。 为了实现从进程的逻辑地址到物理地址的变换功能,在系统中设置了段表寄存器,用于存放段表始址和段表长度TL。在进行地址变换时,系统将逻辑地址中的段号与段表长度TL进行比较。若S>TL,表示段号太大,是访问越界,于是产生越界中断信号;若未越界,则根据段表的始址和该段的段号,计算出该段对应段表项的位置,从中读出该段在内存的起始地址,然后,再检查段内地址d是否超过该段的段长SL。若超过,即d>SL,同样发出越界中断信号;若未越界,则将该段的基址d与段内地址相加,即可得到要访问的内存物理地址。
下图示出了分段系统的地址变换过程。
像分页系统一样,当段表放在内存中时,每要访问一个数据,都须访问两次内存,从而极大地降低了计算机的速率。解决的方法也和分页系统类似,再增设一个联想存储器,用于保存最近常用的段表项。由于一般情况是段比页大,因而段表项的数目比页表项的数目少,其所需的联想存储器也相对较小,便可以显着地减少存取数据的时间,比起没有地址变换的常规存储器的存取速度来仅慢约10%~15%。
B. 分页和分段存储管理有何区别
基本分段存储管理方式和基本分页存储管理方式二者的理论基础都是相对差不多的,二者都是建立在内存分区管理思想和程序局部性原理的基础之上。 基本分页存储管理方式在存储器管理中,连续分配方式会形成许多“碎片”,虽然可通过“紧凑”方法将许多碎片拼接成可用的大块空间,但须为之付出很大开销。 在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。例如,有主程序段MAIN、子程序段X、数据段D及栈段S等。基本分段存储管理方式和基本分页存储管理方式原理的结合就是段页式系统的基本原理,即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。页和分段系统有许多相似之处,但在概念上两者完全不同,主要表现在: 1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。 段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。 2、页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。
C. 简单分页存储管理和简单分段存储管理了的区别
1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。
2、页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。
3、分页的作业地址空间是维一的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
D. 分页式存储管理与分段式管理的主要区别是什么
页和分段系统有许多相似之处,但在概念上两者完全不同,主要表现在:
1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。
段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。
2、页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。
段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。
3、分页的作业地址空间是维一的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。
分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
E. 在操作系统中,如何理解分页、分段的定义两者之间的区别又是什么
分页就是将进程的逻辑地址空间分成若干大小相等的片(即页),然后装入内存。
分段就是用户可以把自己的作业按逻辑关系划分为若干个段,每个段都是从0开始编址,并有自己的名字和长度。这就相当于程序里边的主函数段、各个子函数段、数据段、栈段等等。
要知道在引入分页和分段之前,是通过连续分配方式来管理存储器的,就是说一个进程在内存中是连续存放的。
可以这样理解吧,内存中有进程1、2、3……进程2先执行完成了,然后释放了所占有的内存空间,而之后,
如果新调入的进程内存需求大于之前2所占有的内存空间,那么不可能利用这块内存,相对于内存需求更大的进程来说,之前2所占有的内存空间就是不能利用的碎片,
如果新调入的进程内存需求小于之前2所占有的空间就会留下空隙,也会带来碎片。
虽然可以通过“紧凑”的方法进行碎片整理,但开销很大这就产生了与连续分配方式相对的离散分配方式,便先后引入了分页和分段存储管理。
所以相同点就是,两者都属于存储器管理方式中的离散分配方式。都要通过地址映射机构来实现地址变换。
不同点就在于,离散分配方式的基本单位的不同,是页还是段。
页是信息的物理单位,段是信息的逻辑单位。
分页的作业地址空间是一维的,线性的,程序员只需利用一个记忆符表示一个地址;而分段的作业地址空间是二维的,程序员在表示一个地址的时候既要给出段名,又需要给出段内地址。其中,段名可以理解为函数名等,段内地址可以理解程变量等的地址。
值得一提的是其中页的大小要和物理块或者页框一样,而物理块是操作系统定好了的。也就是说你的操作系统装完之后,物理块的大小是定了的,从而页的大小也是定了的。而段的长度是不定的。
引入分页存储管理方式的目的是提高内存利用率,而引入分段存储是为了满足用户(程序员)在编程和使用上多方面上的要求。还有将两者结合一起的段页式系统。
F. 分页和分段存储管理相同点是什么
基本分段存储管理方式和基本分页存储管理方式二者的理论基础都是相对差不多的,二者都是建立在内存分区管理思想和程序局部性原理的基础之上。
基本分页存储管理方式在存储器管理中,连续分配方式会形成许多“碎片”,虽然可通过“紧凑”方法将许多碎片拼接成可用的大块空间,但须为之付出很大开销。
在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。例如,有主程序段MAIN、子程序段X、数据段D及栈段S等。
(6)分段存储与分页存储例题扩展阅读:
基本分段存储管理方式和基本分页存储管理方式原理的结合就是段页式系统的基本原理,即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。
在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段表长TL。进行地址变换时,首先利用段号S,将它与段表长TL进行比较。
G. 分页和分段存储管理有何区别
答:主要区别表现在以下三个方面:
(1) 页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。
(2) 页的大小固定且由系统决定;而段的长度却不固定,决定于用户所编写的程序。
(3) 分页的地址空间是一维的,程序员只需利用一个记忆符,即可表示一个地址;而分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
H. 求教【操作系统】里边,二级分页和段页式存储有什么区别。~最主要的区别是什么
二级分页:
存储是将每页分配到可以使用的物理空间中去,因为实际的空间可能是不连续的。所以这些页也就是离散的。二级分页,在页存储,分多级离散管理。
段页式存储:
段页式系统的基本原理,是基本分段存储管理方式和基本分页存储管理方式原理的结合,即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。
分页存储是将程序分成若干个页直接存储。段页则不同,多了一个细分成段,进行分段用段名进行离散存储管理。
I. 基本分页和基本分段存储管理方式的区别是什么
页和分段系统有许多相似之处,但在概念上两者完全不同,主要表现在:
1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。
段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。
2、页的大小固定且由系统确定,把
逻辑地址
划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。
段的长度却不固定,决定于用户所编写的程序,通常由
编辑程序
在对
源程序
进行编辑时,根据信息的性质来划分。
3、分页的作业
地址空间
是维一的,即单一的
线性空间
,程序员只须利用一个记忆符,即可表示一地址。
分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。