我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:高清跑狗图 > 段表地址 >

分段存储管理需提供二维地址

归档日期:07-17       文本归类:段表地址      文章编辑:爱尚语录

  因为分段是程序员自己定的每段大小不一样,故需提供二维地址,逻辑地址空间被分成了段号和段内位移,可问题是各段均从0开始编址,那么各段所提供的段号不都一样了吗。。。求解释...

  因为分段是程序员自己定的每段大小不一样,故需提供二维地址,逻辑地址空间被分成了段号和段内位移,可问题是各段均从0开始编址,那么各段所提供的段号不都一样了吗。。。求解释

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等。可将用户程序的任一页放在内存的任一块中,实现了离散分配。

  页号4位,每个作业最多2的4次方=16页,表示页号从0000~1111(24-1),页内位移量的位数表示页的大小,若页内位移量12位,则2的12次方=4k,页的大小为4k,页内地址从0~1

  分页系统中,允许将进程的每一页离散地存储在内存的任一物理块中,为了能在内存中找到每个页面对应的物理块,系统为每个进程建立一张页面映射表,简称页表。页表的作用是实现从页号到物理块号的地址映射。

  (1) 程序执行时,从PCB中取出页表始址和页表长度(4),装入页表寄存器PTR。

  (3) 将页号与页表长度进行比较(24),若页号大于或等于页表长度,则表示本次访问的地址已超越进程的地址空间,产生越界中断。

  (4) 将页表始址与页号和页表项长度的乘积相加,便得到该页表项在页表中的位置。

  (7) 将物理块号送入物理地址寄存器中,再将有效地址寄存器中的页内地址直接送入物理地址寄存器的块内地址字段中,拼接得到实际的物理地址。

  分页系统中,CPU每次要存取一个数据,都要两次访问内存(访问页表、访问实际物理地址)。为提高地址变换速度,增设一个具有并行查询能力的特殊高速缓冲存储器,称为“联想存储器”或“快表”,存放当前访问的页表项。

  将用户程序地址空间分成若干个大小不等的段,每段可以定义一组相对完整的逻辑信息。存储分配时,以段为单位,段与段在内存中可以不相邻接,也实现了离散分配。

  作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。例程序段、数据段等。每个段都从0开始编址,并采用一段连续的地址空间。

  段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。整个作业的地址空间是二维的。

  段号4位,每个作业最多24=16段,表示段号从0000~1111(24-1);段内位移量12位,212=4k,表示每段的段内地址最大为4K(各段长度不同),从0~1

  (1). 程序执行时,从PCB中取出段表始址和段表长度(3),装入段表寄存器。

  (3). 将段号与段表长度进行比较(13),若段号大于或等于段表长度,则表示本次访问的地址已超越进程的地址空间,产生越界中断。

  (4). 将段表始址与段号和段表项长度的乘积相加,便得到该段表项在段表中的位置。

  (6). 检查段内位移量是否超出该段的段长(32144K),若超过,产生越界中断。

  分页和分段有许多相似之处,比如两者都不要求作业连续存放.但在概念上两者完全不同,主要表现在以下几个方面:

  (1)页是信息的物理单位,分页是为了实现非连续分配,以便解决内存碎片问题,或者说分页是由于系统管理的需要.段是信息的逻辑单位,它含有一组意义相对完整的信息,分段的目的是为了更好地实现共享,满足用户的需要.

  (2)页的大小固定,由系统确定,将逻辑地址划分为页号和页内地址是由机器硬件实现的.而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时根据信息的性质来划分.

  分页系统能有效地提高内存的利用率,而分段系统能反映程序的逻辑结构,便于段的共享与保护,将分页与分段两种存储方式结合起来,就形成了段页式存储管理方式。

  在段页式存储管理系统中,作业的地址空间首先被分成若干个逻辑分段,每段都有自己的段号,然后再将每段分成若干个大小相等的页。对于主存空间也分成大小相等的页,主存的分配以页为单位。

  程序员按照分段系统的地址结构将地址分为段号与段内位移量,地址变换机构将段内位移量分解为页号和页内位移量。

  为实现段页式存储管理,系统应为每个进程设置一个段表,包括每段的段号,该段的页表始址和页表长度。每个段有自己的页表,记录段中的每一页的页号和存放在主存中的物理块号。

  (3)将段号与段表长度进行比较,若段号大于或等于段表长度,则表示本次访问的地址已超越进程的地址空间,产生越界中断。

  (4)将段表始址与段号和段表项长度的乘积相加,便得到该段表项在段表中的位置。

  (6)将页号与页表长度进行比较,若页号大于或等于页表长度,则表示本次访问的地址已超越进程的地址空间,产生越界中断。

  (7)将页表始址与页号和页表项长度的乘积相加,便得到该页表项在页表中的位置。

本文链接:http://sarlnogues.com/duanbiaodizhi/588.html