操作系统--课堂问答笔记18--习题答案

课堂笔记学习视频来自 操作系统
说明:其他”课堂问答笔记“也在”操作系统“专栏

【4-3、4-4】

  1. 相对于分页存储管理,分段存储管理方式有哪些优势?
    答:
    1 )方便编程:通常,用户把自己的作业按照逻辑关系划分为若干个段(一个函数或一个子程序对应一个段),每个段都从0开始编址,并有自己的名字和长度。因此,程序员们都迫切地需要访问的逻辑地址是由段名(段号)和段内偏移量(段内地址)决定的,这不仅可以方便程序员编程,也可使程序非常直观,更具可读性。
    2 ) 信息共享:在实现对程序和数据的共享时,是以信息(就是数据)的逻辑单位为基础的。比如,共享某个函数。分页系统中的“页”只是存放信息的物理单位(块),并无完整的意义(因为一个函数可能放在若干页中,当然也可能一页中包含几个函数的代码),不便于实现共享;然而段却是信息的逻辑单位。由此可知,为了实现段的共享,希望存储管理能与用户程序分段的组织方式相适应。
    3 ) 信息保护:信息保护同样是对信息的逻辑单位进行保护,因此,分段管理方式能更有效和方便地实现信息保护功能(分页系统中一个函数可能放在若干页中,要实现一个函数的保护显然是困难的)。
    4 ) 动态增长:在实际应用中,往往有些段,特别是数据段,在使用过程中会不断地增长(例如:可能在程序的执行过程中产生了一些临时数据导致长度增加),而事先又无法确切地知道数据段会增长到多大。前述的其它几种存储管理方式,都难以应付这种动态增长的情况,而分段存储管理方式却能较好地解决这一问题。
    5 ) 动态链接:动态链接是指在作业运行之前,并不把几个目标程序段链接起来。要运行时,先将主程序所对应的目标程序装入内存并启动运行,当运行过程中又需要调用某段时,才将目标程序段临时调入内存并进行链接。可见,分段存储管理方式较容易实现动态链接。(分页系统的页中除了有某个函数的代码,也可能有其它函数的代码,不好实现动态链接)

  2. 简述分段存储管理方式的地址变换原理?
    答:为了实现从进程的逻辑地址到物理地址的变换功能,在系统中设置了段表寄存器,用于存放段表始址和段表长度TL(就是段表的行数)。在进行地址变换时,系统将逻辑地址中的段号S(0~TL-1)与段表长度TL进行比较。若S>=TL,表示段号太大,是访问越界,于是产生越界中断信号;若未越界,则根据段表的始址和该段的段号,计算出该段对应段表项的位置(段表的始址+段号段表项的长度),从中读出该段在内存的起始地址,然后再检查段内地址d是否超过该段的段长SL。若超过,即d>SL,同样发出越界中断信号;若未越界,则将该段的基址与段内地址d相加(下图:8K+100=81024+100=8192),即可得到要访问的内存物理地址。
    操作系统--课堂问答笔记18--习题答案

  3. 分页存储管理和分段存储管理的主要区别?
    答:
    1 ) 需求:分页是出于系统管理的需要,是一种信息(就是数据)的物理划分单位,分段是出于用户应用的需要,是一种逻辑单位,通常包含一组意义相对完整的信息(在一个段中仅包含一个完整的函数或子程序)。一个函数或子程序可能会跨越两个页的分界处(即一个函数或子程序可能放在若干页中),而不会跨越两个段的分界处。
    2 ) 大小:页大小是系统固定的,而段大小则通常不固定(因为多个函数或子程序的大小显然不相等)。分段没有内部碎片(因为段的大小就是按存放于其中的函数或子程序决定的),但连续存放段产生外碎片,可以通过内存紧缩(紧凑)来消除;分页产生内部碎片(最后一页)。相对而言分段方式空间利用率高。
    3 ) 逻辑地址:分页是一维的,各个模块在链接时必须组织成同一个地址空间;分段是二维的,在标识一个地址时,既需给出段号,又需给出段内地址。
    4 ) 通常段的大小比页大,因而段表比页表短,可以缩短查找时间,提高访问速度。分段模式下,还可针对不同类型采取不同的保护;按段为单位来进行共享;方便实现动态链接。

  4. 在一个分段存储管理系统中,其段表如下表1所示。试求表2中逻辑地址对应的物理地址是什么?
    操作系统--课堂问答笔记18--习题答案
    操作系统--课堂问答笔记18--习题答案
    答:
    操作系统--课堂问答笔记18--习题答案