第四、五章简答

  1. 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?
    绝对装入方式、重定位装入方式、动态运行时装入方式
    绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式适用于多道程序环境中。
  2. 何为静态链接?何谓装入时动态链接和运行时动态链接?
    a.静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。
    b.装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。
    c.运行时动态链接是将对某些模块的链接推迟到程序执行时才进行链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。
  3. 在动态分区分配方式中,应如何将各空闲分区链接成空闲分区链?
    应在每个分区的起始地址部分,设置一些用于控制分区分配的信息以及用于链接各分区的前向指针,在分区尾部则设置一后向指针。通过前、后向指针将所有的分区链接成一个双向链。
  4. 什么是基于顺序搜索的动态分区算法?它可以分为哪几种?
    所谓顺序搜索,是指依次搜索空闲分区链上的空闲分区,去寻找一个其大小能满足要求的分区。
    (1)首次适应算法(FF)(2)循环首次适应算法(NF)(3)最佳适应算法(BF)(4)最坏适应算法(WF)
  5. 为什么要引入对换?对换可分为哪几种类型?
    在多道程序环境下,一方面,在内存中的某些进程由于某事件尚未发生而被阻塞运行,但它却占用了大量的内存空间,甚至有时可能出现在内存中所有进程都被阻塞而迫使CPU停止下来等待的情况,另一方面,却有很多作业在外存上等待,因无内存而无法进入内存运行的情况,这是对系统资源的浪费,为了解决这个问题,增设了对换设施。(对换是把内存中暂时不能运行的进程或者暂时不用的程序和数据调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或者进程所需要的程序和数据调入内存。对换是提高内存利用率的有效措施。)
    (1)整体/进程对换(以进程为单位)(2)页面/分段对换
  6. 什么是页面、物理块?页面的大小应如何确定?
    页面,物理块——分页存储管理方式中的单元。
    页面:将进程的逻辑地址空间分成若干个页,并为各页加编号。
    物理块:将内存的物理空间分成若干个物理块,同样为它们加编号 。
    页面大小:既不能太小也不能太大,要起到减少内存碎片总空间的作用,也不能使页表过长,总之要选择适中,且页面大小应是2的幂,通常为1KB-8KB。
  7. 在请求分页系统中,页表应包括哪些数据项?每项的作用是什么?
    页表应包括:页号、物理块号、状态位P、访问字段A、修改位M和外存地址。
    (1)状态位P指示该页是否调入内存,供程序访问时参考。
    (2)访问字段A用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页面时参考。
    (3)修改位M表示该页在调入内存后是否被修改过,供置换页面时参考。
    (4)外存地址用于指出该页在外存上的地址,通常是物理块号,供调入该页时参考。
  8. 试说明请求分页系统中的地址变换过程。
    在进行地址变换时,首先检索快表,试图从中找出所要访问的页,若找到,便修改页表中的访问位,对于写指令还须将修改位置成”1” ,然后利用页表中给出的物理号和页内地址形成物理地址。
  9. 试说明在请求分页系统中页面的调入过程。
    每当程序所要访问的页面未在内存时,便向CPU发出一缺页中断,中断处理程序首先保留CPU环境,分析中断原因后转入缺页中断处理程序。该程序通过查找页表,得到该页在外存的物理块后,如果此时内存能容纳新页,则启动磁盘I/O将所缺之页调入内存,然后修改页表。如果内存已满,则须先按照某种置换算法从内存中选出一页准备换出;如果该页未被修改过,可不必将该页写回磁盘;但如果此页已被修改,则必须将它写回磁盘,然后再把所缺的页调入内存,并修改页表中的相应表项,置其存在位为“1” ,并将此页表项写入快表中。在缺页调入内存后,利用修改后的页表,去形成所要访问数据的物理地址,再去访问内存数据。
  10. 试说明虚拟存储器的基本工作情况。
    基于局部性原理可知,应用程序在运行之前没有必要将之全部装入内存,而仅须将那些当前要运行的少数页面或段先装入内存便可运行,其余部分暂留在盘上。 程序在运行时,如果它所要访问的页(段)已调入内存,便可继续执行下去;但如果程序所要访问的页(段)尚未调入内存(称为缺页或缺段),此时程序应利用OS所提供的请求调页(段)功能将它们调入内存,以使进程能继续执行下去。如果此时内存已满,无法再装入新的页(段),则还须再利用页(段)的置换功能,将内存中暂时不用的页(段)调出至磁盘上,腾出足够的内存空间后,再将所要访问的页(段)调入内存,使程序继续执行下去。这样,便可使一个大的用户程序在较小的内存空间中运行;也可使内存中同时装入更多的进程并发执行。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 12,119评论 3 34
  • 存储器管理 存储器的层次结构 存储器的层次结构:寄存器-高速缓存-主存-磁盘缓存-磁盘-可移动存储介质 可执行存储...
    颜洛滨阅读 959评论 0 2
  • 7月25号,安徽芜湖弋江区爱心天使协会联合塔影小学、安徽公益网等单位,组织白马街道30多名农村留守儿童走进芜...
    晨锋in阅读 327评论 0 1
  • 每一个爱恋藏在秋风里 贯彻你的生命的始终 秋风吹起我的偏头疼 昏昏的下午 在课本中进进出出 我躲在门后 假装没看见...
    koko空空阅读 379评论 2 2
  • yum安装mysql: mysql:服务端mysql-server:客户端mysql-devel:mysql的驱动...
    廖马儿阅读 218评论 0 1