精华内容
下载资源
问答
  • 内存分段管理

    千次阅读 2010-09-06 10:12:00
    采用段式存储管理方案就可以支持程序的分段使用。 采用分段技术,程序和相关数据被划分成一组段(segment )。尽管有一个最大段长度,但是没有要求所有程序所有段长度都相等。当一个进程被调入时,它所有...

        在分区存储管理和页式存储管理中,供用户使用的逻辑地址都是连续的。在有些情况下如用户在编制大型程序时就会感到不便利,因为用户希望他们程序是由若干段组成的,可以由一个主程序、若干子程序、符号表、栈以及数据等等若干段组成。每一段都有完整的逻辑意义,每一段的程序都可独立编制,且每一段的长度可以不同。采用段式存储管理方案就可以支持程序的分段使用。

     

    采用分段技术,程序和相关的数据被划分成一组段(segment )。尽管有一个最大段长度,但是没有要求所有程序的所有段的长度都相等。当一个进程被调入时,它的所有段都被装入内存的可用区域,并建立一个段表还必须指明段长度。

    段对应一个二维线形虚拟空间,也就是一个二维虚拟存储器,即段号s 与段内相对地址w 。段式管理程序以段为单位分配内存,然后通过地址映射把段式虚拟地址转换为实际内存物理地址。

     段号与段号之间无顺序关系

     段的长度是不固定的

     每个段定义一组逻辑上完整的程序或数据

     每个段是一个首地址为零的,连续的一维线性空间

     根据需要,段长可动态增长

     对段式虚地址空间的访问包括两个部分:段名和段内地址。

     

    段式管理的内存分配与释放
             段式管理中以段为单位分配内存,每段分配一个连续的内存区。由于各段长度不等。所以这些存储区的大小不一。而且,同一进程所包含的各段之间不要求连续。段式管理的内存分配与释放在作业或进程的执行过程中动态进行。进程对内存区的申请和释放可分为两种情况:
           1 、当进程要求调入某一段时,内存中有足够的空闲区满足该段的内存要求:采用和动态分区式管理相同的空闲区管理方法。(一次调入时所需淘汰的段数与段的大小有关,如果一个作业或进程的段数较多,且段长之间的差别较大,则有可能出现调入某个大段时,需淘汰好几个小段的情况)

             2 、内存中没有足够的空闲区满足该段的内存要求:根据给定的置换算法淘汰内存中在今后一段时间内不再被 CPU 访问的段。(任何一个段的段长都不允许超过内存可用区长度,否则将会造成内存分配出错。)

             除了初始分配之外,段的动态分配是在 CPU 所要访问的指令和数据不在内存时产生缺段中断的情况下发生的。因此,段的淘汰或置换算法实际上是缺段中断处理过程的一部分。

     

    段的共享:内存中只保留一个副本,供多个用户使用。

     如果用户进程或作业需要共享内存中的某段程序或数据,只要用户使用相同的段名,就可在新的段表中填入已存在在内存之中的段的起始地址,并置以适当的读写控制权,就可做到共享一个逻辑上完整的内存段信息。
      另外,在多道环境下,由于进程的并发执行,一段程序为多个进程共享时,有可能出现多次同时重复执行该段程序的情况 ( 即某个进程在未执行完该段程序之前,其它并发进程又已开始执行该段程序 ) 。这就要求它在执行过程中,该段程序的指令和数据不能被修改。还有,与一个进程中的其它程序段一样,共享段有时也要被换出内存。这时,就要在段表中设立相应的共享位来判别该段是否正被某个进程调用。显然一个正在被某个进程使用或即将被某个进程使用的共享段是不应该调出内存的。

     

    展开全文
  • 内存分段和分页区别

    千次阅读 2013-08-19 18:26:27
    或者说,分页仅仅是由于系统管理的需要,而不是用户的需要(也是对用户透明的)。段是信息的逻辑单位,它含有一组其意义相对完整的信息(比如数据段、代码段和堆栈段等)。分段的目的是为了能更好的满足用户的需要...

    分段和分页其实都是一种对地址的划分或者映射的方式。

    两者的区别主要有以下几点:

    a)页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要(也是对用户透明的)。段是信息的逻辑单位,它含有一组其意义相对完整的信息(比如数据段、代码段和堆栈段等)。分段的目的是为了能更好的满足用户的需要(用户也是可以使用的)。

    b)页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。

    c)分页的作业地址空间是一维的,即单一的线性空间,程序员只须利用一个记忆符(线性地址的16进制表示),即可表示一地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名(比如数据段、代码段和堆栈段等),又需给出段内地址。

    d)页和段都有存储保护机制。但存取权限不同:段有读、写和执行三种权限;而页只有读和写两种权限。


     

    1.分段机制
    80386的两种工作模式
      80386的工作模式包括实地址模式和虚地址模式(保护模式)。Linux主要工作在保护模式下。

    分段机制
      在保护模式下,80386虚地址空间可达16K个段,每段大小可变,最大达4GB。
      从逻辑地址到线性地址的转换由80386分段机制管理。段寄存器CS、DS、ES、SS、FS或GS标识一个段。这些段寄存器作为段选择器,用来选择该段的描述符。

    分段逻辑地址到线性地址转换图


    图9_7 分段逻辑地址到线性地址转换图


    2. 分页机制
    分页机制的作用
      分页机制是在段机制之后进行的,它进一步将线性地址转换为物理地址。
      80386使用4K字节大小的页,且每页的起始地址都被4K整除。因此,80386把4GB字节线性地址空间划分为1M个页面,采用了两级表结构。
    两级页表
      两级表的第一级表称为页目录,存储在一个4K字节的页中,页目录表共有1K个表项,每个表项为4个字节,线性地址最高的10位(22-31)用来产生第一级表索引,由该索引得到的表项中的内容定位了二级表中的一个表的地址,即下级页表所在的内存块号。


    第二级表称为页表,存储在一个4K字节页中,它包含了1K字节的表项,每个表项包含了一个页的物理地址。二级页表由线性地址的中间10位(12-21)位进行索引,定位页表表项,获得页的物理地址。页物理地址的高20位与线性地址的低12位形成最后的物理地址。

    利用两级页表转换地址


    图9_8 利用两级页表转换地址



    3. 内核空间和用户空间
    用户空间
      在Linux中,每个用户进程都可以访问4GB的线性虚拟内存空间。其中从0到3GB的虚存地址是用户空间,用户进程可以直接访问。
    内核空间
      从3GB到4GB的虚存地址为内核态空间,存放供内核访问的代码和数据,用户态进程不能访问。所有进程从3GB到4GB的虚拟空间都是一样的,linux以此方式让内核态进程共享代码段和数据段。

    展开全文
  • 3.3 分页管理与分段管理的比较

    千次阅读 2015-12-07 00:34:11
    分页仅仅是由于系统管理的需要而不是用户的需要 是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。 长度 页的大小固定且由系统决定,由系统把逻辑地址化分为页号和页...

    分页 管理方式和分段管理方式在很多地方相似,比如内存中都是不连续的,都有地址变换机构来进行地址映射等。但两者也存在着很多区别。


      分页 分段
    目的

    页是信息的物理单位,分页是为实现离散分配方式,

    以减少内存的外零头,提高内存的利用率。或者说,

    分页仅仅是由于系统管理的需要而不是用户的需要

    是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。
    长度 页的大小固定且由系统决定,由系统把逻辑地址化分为页号和页内地址两部分,由机器硬件实现,因而在系统中只能有一种大小的页面 段的长度不固定,决定于用户编写的程序,通常由编译程序在对流程序进行编译时,根据信息的性质来划分
    地址空间 作业地址空间是一维的,即单一的线性地址空间,程序员只需要利用一个记忆符,即可表示一个地址。 作业地址空间是二维的,程序员在标识一个地址时,即需给出段名,又需给出段内地址
    碎片 有内部碎片,无外部碎片 有外部碎片,无内部碎片
    共享和动态链表 不容易实现 容易实现

    展开全文
  • 2.详述分段管理和分页管理的区别。 分段管理和分页管理两者都采用离散分配方式,且都通过地址映射机构来实现地址变换。 1、分页是为了实现离散分配方式,以减少内存的碎片,提高内存的利用率。或者说,分页仅仅...

    1.采用相联存储器后地址转换过程,用图表示出来

    2.详述分段管理和分页管理的区别。

          分段管理和分页管理两者都采用离散分配方式,且都通过地址映射机构来实现地址变换。

           1、分页是为了实现离散分配方式,以减少内存的碎片,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了更好地满足用户的需要。

           2、一条指令或一个操作数可能会跨越两个页的分界处,而不会跨越两个段的分界处。

           3、页大小固定且由系统决定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的。段的长度不固定,且决定于用户所编写的程序,通常由编译系统在对源程序进行编译时根据信息的性质来划分。

           4、页式系统地址空间是一维的,即单一的线性地址空间,程序员只需利用一个标识符,即可表示一个地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。

           5、段比页大,因而段表比页表短,可以缩短查找时间,提高访问速度。

    转载于:https://www.cnblogs.com/shiweikang/p/10938702.html

    展开全文
  • 或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了更好地满足用户的需要。 2、一条指令或一个操作数可能会跨越两个页的分界处,而...
  • 分页和分段存储管理有何区别? 答:主要区别表现在以下三个方面:  (1) 页是信息物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。段则是信息逻辑单位,它含有一组其意义...
  • 或者说,分页仅仅是由于系统管理的需要而不是用户的需要。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。 页的大小固定且有系统决定,有系统把逻辑地址划分为...
  • 10.基本分段存储管理方式

    千次阅读 2018-05-25 10:44:04
    分页和分段的主要区别a)、页是信息物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;段则是信息逻辑单位,它含有一组其意义相对完整信息,分段的目的是为了能更好地满足用户需要...
  • 分页和分段存储管理有何区别

    千次阅读 2017-01-13 22:24:17
    分页和分段存储管理有何区别? 答:主要区别表现在以下三个方面:  (1) 页是信息物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。段则是信息逻辑单位,它含有一组...
  • 分页和分段的区别

    2014-04-17 13:13:42
    或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。 段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。 2、页的大小固定且由系统确定,把逻辑地址划分为...
  • 分段分页机制

    2018-12-11 16:55:44
    1. 内存分段     1.1 为什么分段?     在x86-16体系中,为了解决16位寄存器对20位地址线寻址问题,引入了分段式内存管理。而CPU则使用CS,DS,ES,SS等寄存器来保存程序段...
  • 计算机系统中分页和分段的区别

    万次阅读 多人点赞 2018-07-02 02:54:57
    或者说,分页是出于系统管理的需要而不是用户需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了更好地满足用户的需要。2.长度页的大小固定而且由系统决定,由系统把逻辑地址划分为页号和...
  • 分段和分页存储管理有何区别? 1、页是信息物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;段是信息逻辑单位,它含有一组其意义相对完整信息。分段的目的是为了能更好满足...
  • 分页和分段的主要区别

    千次阅读 2013-06-30 23:57:12
    或者说,分页仅仅是由于系统管理的需要而不是用户的需要。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。  (2)页的大小固定且由系统决定,由系统把逻辑地址...
  • 分段分页方式比较各自优缺点

    千次阅读 2018-06-19 14:23:56
    或者说,分页仅仅是由于系统管理的需要,而不是用户的需要(也是对用户透明的)。段是信息的逻辑单位,它含有一组其意义相对完整的信息(比如数据段、代码段和堆栈段等)。分段的目的是为了能更好的满足用户的需要...
  • 13.分段分页方式比较

    千次阅读 2014-08-07 10:49:12
    或者说,分页仅仅是由于系统管理的需要,而不是用户的需要(也是对用户透明的)。段是信息的逻辑单位,它含有一组其意义相对完整的信息(比如数据段、代码段和堆栈段等)。分段的目的是为了能更好的满足用户的需要...
  • 分页和分段存储管理有何区别? 答:主要区别表现在以下三个方面:  (1) 页是信息物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。段则是信息逻辑单位,它含有一组其意义相对...
  • 操作系统-分段机制

    2018-03-02 19:23:00
    1. 内存分段 1.1 为什么分段? 在x86-16体系中,为了解决16位寄存器对20位地址线寻址问题,引入了分段式内存管理。而CPU则使用CS,DS,ES,SS等寄存器来保存程序段首地址。当CPU执行指令需要访问内...
  • 分段和分页区别是什么

    千次阅读 2013-10-07 21:34:41
    或者说分页仅仅是由于系统管理的需要,而不是用户的需要。 段是信息的逻辑单位,它含有一组意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。业的大小固定且由系统确定,把逻辑地址划分为业号和业内...
  • 共同点 目的相同:分页和分段都是为了提高内存利用率,减少内存碎片 存储方式相同:都是离散存储 ...分页:满足操作系统内存管理的需求 分段:段时逻辑信息的单位,满足用户需求,段有具体的意义 ...
  • 或者说,分页仅仅是由于系统管理的需要,而不是用户的需要(也是对用户透明的)。段是信息的逻辑单位,它含有一组其意义相对完整的信息(比如数据段、代码段和堆栈段等)。分段的目的是为了能更好的满足用户的需要...
  • 分页&分段

    千次阅读 2011-08-19 10:51:54
    页和分段系统有许多相似之处,但在概念上两者完全不同,主要表现在:  ...或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。 段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目
  • 操作系统:分段与分页区别(转载)

    千次阅读 2015-03-22 08:06:56
    或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。 段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。 2、页的大小固定且由系统确定,把逻辑地址划分为...
  • 说说分段和分页

    2019-10-23 11:10:04
    或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。  页的大小固定且由系统确定,把逻辑地址划分为页号和...
  • 内存管理笔记 -2

    2021-03-01 21:52:17
    段页式内存管理 内存分段与分页可以组合在一起使用,先把程序划分成多个有意义的段,然后把每个段划分成多个页,这样地址结构就由段号、段内页号、页内位移三部分组成。
  • 操作系统之内存管理

    2021-03-23 15:28:19
    分页仅仅是系统管理的需要。 段式信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。 页的大小固定,且由系统确认,将逻辑地址分为页号和页内地址两部分。 段的长度不固定...
  • 7. 说说分段和分页

    2014-03-25 21:51:33
    或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。   段是信息的逻辑单位, 它含有一组其意义相对完整的信息。 分段的目的是为了能更好的 满足用户的需要。页的大小固定且由系统确定,把逻辑地址划分为...

空空如也

空空如也

1 2 3
收藏数 55
精华内容 22
关键字:

内存分段管理的意义