当前位置: 首页 > article >正文

操作系统 期末重点复习

操作系统 期末重点复习

必会 课后题摘要

第二章:

  1. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?
    为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,在操作系统中引入了进程概念。影响: 使程序的并发执行得以实行。
  2. 试说明PCB 的作用,为什么说PCB 是进程存在的惟一标志?
    PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。
  3. 何谓操作系统内核?内核的主要功能是什么?
    通常将一些与硬件紧密相关的模块(如中断处理程序等)、各种常用设备的驱动程序以及运行频率较高的模块(如时钟管理、进程调度和许多模块所公用的一些基本操作),都安排在紧靠硬件的软件层次中,将它们常驻内存,即通常被称为的OS内核。1)支撑功能 a. 中断处理 b. 时钟管理 c.原语操作 2)资源管理功能 a. 进程管理 b. 存储器管理 c. 设备管理
  4. 在进行进程切换时,所要保存的处理机状态信息有哪些?通用寄存器、指令计数器、程序状态字PSW、用户栈指针。
  5. 试从调度性、开发性、拥有资源及系统开销方面对进程和线程进行比较。
    调度性:在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程,在引入线程的OS中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位;
    并发性:在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程的多个线程之间,亦可并发执行,因而使OS具有更好的并发性;
    拥有资源:无论是传统的操作系统,还是引入了线程的操作系统,进程始终是拥有资源的一个基本单位,而线程除了拥有一点在运行时必不可少的资源外,本身不拥有系统资源,但它可以访问其隶属进程的资源;
    开销:由于创建或撤销进程时,系统都要为之分配和回收资源,如内存空间等,进程切换时所要保存和设置的现场信息也要明显地多于线程,因此,操作系统在创建、撤销和切换晋城市所付出的开销将显著的大于进程

第三章

  1. 何谓作业、作业步和作业流?
    作业包含了通常的程序和数据,还配有一份作业说明书,系统根据该说明书来对程序的运行进行控制。作业运行期间,每个作业都必须经过若干个相对独立,又相互关联的顺序加工步骤才能得到结果。我们把其中的每一个加工步骤称为一个作业步。在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
  2. 试说明低级调度的主要功能。保存处理机的现场信息、按某种算法选取进程、把处理器分配给进程
  3. 在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法?
    批处理系统常用调度算法:①先来先服务:FCFS②最短作业优先③最短剩余时间优先④响应比最高者优先
    分时系统调度算法:①轮转调度②优先级调度③多级队列调度④彩票调度
    实时系统调度算法:①单比率调度②限期调度③最少裕度法
  4. 何谓死锁?产生死锁的原因和必要条件是什么?
    死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。产生死锁的原因:竞争资源和进程推进顺序非法。其必要条件是:互斥条件、请求和保持条件、不剥夺条件、环路等待条件。在解决死锁问题的几个方法预防、避免、检测和解除死锁中,预防死锁最容易实现;避免死锁使资源利用率最高。

第四章

  1. 为什么要引入动态重定位?如何实现?
    在动态运行时转入的方式中,作业装入内存后的所有地址仍然都是相对逻辑地址。而将相对地址转换为绝对(物理)地址的工作被推迟到程序指令要真正执行时进行。为使地址的转换不会影响到指令的执行速度,必须有硬件地址变换机构的支持,程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。地址变换过程是在程序执行期间,随着对每条指令或数据的访问自动进行的,故称为动态重定位。当系统对内存进行了“紧凑”,而使若干程序从内存的某处移至另一处时,不需对程序做任何修改,只要用该程序在内存的新起始地址去置换原来的起始地址即可。
  2. 为什么要引入对换?对换可分为哪几种类型?
    一方面,在内存中的某些进程由于事情尚未发生而被阻塞运行,但它却占用了大量的内存空间,甚至有可能出现内存中所有进程都被阻塞,而无可运行之进程,迫使CPU停止下来等待的情况;另一方面,却又有着许多作业,因内存空间不足,一直驻留在外存上,而不能进入内存运行。为此引入对换。整体对换和页面(分段)对换。
  3. 在以进程为单位进行对换时,每次是否都将整个进程换出?为什么?
    在选择换出进程后,在对进程换出时,只能换出非共享的程序和数据段,而对于那些共享的程序和数据段,只要还有进程需要它,就不能被换出。
  4. 为什么说分段系统比分页系统更易于实现信息的共享和保护?
    分页系统的每个页面是分散存储的,为了实现信息共享和保护,页面之间需要一一对应,为此需要建立大量的页表项;而分段系统的每个段都从0编址,并采用一段连续的地址空间,在实现共享和保护时,只需为要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应就能够实现。
  5. 分页和分段存储管理有何区别?
    (1)页是信息的物理单位,分页是为了实现离散分配方式,以削减内存的外部零头,提高内存的利用率。段则是信息的逻辑单位,它含有一组相对完整的信息。
    (2)页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机械硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对原程序进行编译时,根据信息的性质来划分。
    (3)分页的作业地址空间是一维的,而分段作业地址空间则是二维的

第五章

  1. 什么是程序运行时的时间局限性和空间局限性?
    时间局限性:如果程序中的某条指令被执行,则不久之后该指令可能再次执行;如果某数据被访问过,则不久以后该数据可能再次被访问。产生时间局限性的典型原因是在程序中存在着大量的循环操作。空间局限性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围之内,其典型情况便是程序的顺序执行。
  2. 实现虚拟存储器需要哪些硬件支持?
    分页请求系统:请求分页的页表机制、缺页中断机构、地址变换机构。
    请求分段系统:请求分段的段表机制、缺段中断机构、地址变换机构。
  3. 在请求分页系统中,应从何处将所需页面调入内存?
    (1)系统拥有足够的对换区空间,这时可以全部从对换区调入所需页面,以提高调页速度。
    (2)系统缺少足够的对换区空间,这时凡是不会被修改的文件,都直接从文件区调入;而当换出这些页面时,由于他们未被修改,则不必再将它们重写到磁盘(换出),以后再调入时,仍从文件区直接调入。但对于那些可能被修改的部分,在将它们换出时便须调到对换区,以后需要时再从对换区调入。
    (3)UNIX方式。由于与进程有关的文件都放在文件区,故凡是未运行过的页面,都应从文件区调入。而对于曾经运行过但又被换出的页面,由于是被放在对换区,因此在下次调入时应从对换区调入。
  4. 在请求分页系统中,常采用哪几种页面置换算法?
    答:采用的页面置换算法有:最佳置换算法和先进先出置换算法,最近最久未使用(LRU)置换算法,Clock置换算法,最少使用置换算法,页面缓冲算法等。

第六章

  1. 简要说明I/O软件的4个层次的基本功能
    中断处理程序:用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完后恢复现场,并返回到被中断的进程设备驱动程序:与硬件直接有关,用来具体实现系统对设备发出的操作指令,驱动I/O设备工作设备独立性软件:用于实现用户程序与设备驱动器的统一接口、设备命令、设备保护,以及设备分配与释放等。用户层I/O软件:用于实现用户与I/O设备交互
  2. 与设备无关性的基本含义是什么?为什么要设置该层?
    为了提高OS的可适应性和可扩展性,在现代OS中都毫无例外地实现了设备独立性,也称设备无关性。
    基本含义:应用程序独立于具体使用的物理设备。为了实现设备独立性而引入了逻辑设备和物理设备两概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。优点:1. 设备分配时的灵活性2.易于实现I/O重定向(用于I/O操作的设备可以更换(即重定向),而不必改变应用程序。
  3. 为了实现CPU与设备控制器之间的通信,设备控制器应该具备哪些功能?
    基本功能:接收和识别命令;数据交换;标识和报告设备的状态;地址识别:数据缓冲;差错控制。
  4. 设备中断处理程序通常需完成哪些工作?
    1唤醒被阻塞的驱动进程2保护被中断进程的CPU环境3转入相应的设备处理程序4中断处理5恢复被中断进程的现场。
  5. 设备驱动程序通常需要完成哪些工作?
    (1)接收由与设备无关的软件发来的命令和参数,并将命令中的抽象要求转换为与设备相关的低层操作序列;(2)检查用户I/O请求的合法性,了解I/0设备状态,传递有关参数,设置设备工作方式;3)发出I/O命令,如果设备空闲,便立即启动I/O设备,完成指定的I/O操作;如果设备忙碌,则将请求者的请求块挂在设备队列上等待;(4)及时响应由设备控制器发来的中断请求,并根据其中断类型,调用相应的中断处理程序进行处理。
  6. 引入缓冲的主要原因是什么?
    缓和CPU与I/0设备之间速度不匹配的矛盾;减少对CPU的中断频率:放宽对中断响应时间的限制:解决数据力度不匹配的问题;提高CPU和I/0设备之间的并行性。
  7. 磁盘访问时间由哪几部分组成?每部分时间应如何计算?
    磁盘访问时间由寻道时间Ts、旋转延迟时间Tr、传输时间Tt三部分组成。(1)Ts是启动磁臂时间s与磁头移动n条磁道的时间和,即Ts=m×n+s。(2)Tr是指定扇区移动到磁头下面所经历的时间。硬盘15000r/min时Tr为2ms;软盘300或600r/min时Tr为50~100ms。(3)Tt是指数据从磁盘读出或向磁盘写入经历的时间。Tt的大小与每次读/写的字节数b和旋转速度有关:Tt=b/rN。

第七章

  1. 为什么在大多数OS中都引入了“打开”这一文件系统调用?打开的含义是什么?
    当用户要求对一个文件实施多次读/写或其他操作时,每次都要从检索目录开始。为了避免多次重复地检索目录,在大多数OS中都引入了“打开”这一文件系统调用。所谓“打开”,是指系统将指名文件的属性(包括该文件在外存上的物理位置),从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(或称为索引号)返回给用户。换而言之,“打开”就是在用户和指定文件之间建立起一个链接。此后,用户可通过该链接直接得到文件信息,从而避免了再次通过目录检索文件,即当用户再次向系统发出文件操作请求时,系统根据用户提供的索引号可以直接在打开文件中查找到文件信息。
  2. 按文件的组织形式可将文件分为哪几种类型?顺序文件、索引文件、索引顺序文件。
  3. 对目录管理的主要要求是什么?
    (1)实现“按名存取”;(2)提高对目录的检索速度;(3)文件共享;(4)允许文件重名。
  4. 目前广泛采用的目录结构形式是哪种?它有什么优点?树形结构目录。明显提高了对目录的检索速度和文件系统的性能。

真题复现

简答

  1. 有了文件目录,为什么还要引入索引节点?
    答:文件目录是文件控制块的集合,里面包括了一个文件的基本信息,存取控制信息和使用信息等信息,但在对文件目录检索时,只用到文件名,找到对应一个目录项时,才需要读出文件的存储物理位置。文件目录检索时,其他文件的控制块信息不需要用到,因此不需要将这些信息调入内存,可以将这些信息单独形成一个数据结构,即索引节点,这样减少了目录检索时的开销。

  2. 试说明从程序变成进程的过程

    1)程序编译:将源代码编译成机器语言,生成可执行文件。
    2)加载:操作系统将可执行文件加载到内存中。
    3)进程创建:操作系统为程序创建一个进程,分配资源和PID。
    4)执行:进程开始执行,操作系统进行调度。
    5)终止:进程执行完毕后终止,释放资源。

  3. 在众多的磁盘调度算法(SSTF、 SCAN及CSCAN)中,为什么会出现磁臂粘着现象?
    在SSTF、 SCAN及CSCAN几种调度算法中, 都可能出现磁臂停留在某处不动
    的情况, 例如,有一个或几个进程对某一磁道有较高的访问频率, 即这个(些)进程反
    复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。

  4. 解释中断处理的流程
    在这里插入图片描述

  5. 解释请求分页中的缺页中断处理
    由于部分页面被调入,总会执行到没有被调入内存中的页面,这时会产生缺页中断,系统发出缺页中断请求处理缺页中断请求时,跟一般中断处理一样,要经历保护CPU现场、分析中断原因、转入中断处理程序、处理完恢复现场等过程。

应用

如下,这是缓冲池中获取和归还缓冲区的代码,请你解释MS(type)和RS(type)的含义,并解释每行代码
Void Getbuf(type)
begin
Wait(RS(type));
Wait(MS(type));
B(number)=Takebuf(type);
Signal(MS(type));
end
Void Putbuf(type, number)
begin
Wait(MS(type));
Addbuf(type, number);
Signal(MS(type));
Signal(RS(type));
end;
答:
MS(type):每个队列的互斥信号量
RS(type):每个队列的资源信号量 .
在这里插入图片描述

判断及选择

一. 判断题

  1. 没有进程块的程序,构不成进程(是)
  2. 只有在没有足够大的分区共分配时,才进行空闲分区合并(否)
  3. 请求分页存储管理中页面调入时,只需用到页表中该页的外存地址(否)
  4. 个人电脑是多用户多任务的操作系统(是)

二. 选择题

  1. 设计多批道处理系统时,首先要考虑的是(D)。
    A. 实时性和可靠性
    B. 灵活性和可适应性
    C. 交互性和响应时间
    D.系统效率和吞吐量。
  2. 一个进程被阻塞后,会在(B)被唤醒。
    A. 时间片轮到 B 等待的事件发生 C 新任务到达 D 中断处理程序
  3. 作业调度算法有多种,不是作业调度算法的是(B)。
    A. 先来先服务
    B. 高响应比优先调度
    C. 优先级调度
    D.时间片轮转调度
  4. 下述不是存储器管理功能的是(C)
    A 主存空间的分配和去回收
    B 主存空间的共享和保护
    C 辅存空间的管理
    D 实现地址转换
  5. 与分区内存管理相比,分页管理最大的好处是(A)
    A. 程序在内存中的离散分配
    B. 不需要回收页面
    C. 访问页表速度快
    D.不需要实时地址变化
  6. 为减少对 CPU 的 I/O 中断次数,缓解 CPU 与外部设备之间的速度不匹配的矛盾,
    可引入(D)
    A 对换技术 B 中断技术 C 虚存技术 D 缓冲技术
  7. 文件分配表的作用是(C)
    A. 记录各个文件的控制块
    B. 记录各个文件索引
    C. 记录文件的物理块号
    D.记录文件的目录结构
  8. 打开文件操作,操作系统将(B)
    A 为文件建立一个目录
    B 将文件对应的目录项放入主存
    C 将文件内容调入主存
    D 将目录文件读入主存
  9. 启动磁盘进行输入输出时,指定扇区旋转到磁头下所需的时间称为(D)
    A 寻找时间 B 传送时间 C 寻道时间 D 延迟时间

结束


附件中附操作系统实验指导及参考书,课后习题解答,可自行下载

点赞关注收藏,获取更多干货知识~


http://www.kler.cn/a/507155.html

相关文章:

  • 从 SQL 语句到数据库操作
  • 【算法】枚举
  • 基于go语言的驾考系统设计与实现
  • C++单例模式的设计
  • 【Linux】11.Linux基础开发工具使用(4)
  • 卷积神经02-CUDA+Pytorch环境安装
  • PyTorch DAY1: 基础语法
  • QT开发技术 【基于TinyXml2的对类进行序列化和反序列化】一
  • apidoc thinkphp likeadmin 遇到解析报错
  • element 日期时间组件默认显示当前时间
  • 2023 Google开发者大会:你了解机器学习的新动向吗?
  • Docker--Docker Container(容器) 之容器实战
  • RocketMQ 学习笔记01
  • 从Arrays源码学习定义工具类
  • sqlalchemy The transaction is active - has not been committed or rolled back.
  • leetcode hot100(2)
  • 【CSS】:nth-child和:nth-of-type
  • 【Elasticsearch】全文搜索与相关性排序
  • SCSSA-BiLSTM基于改进麻雀搜索算法优化双向长短期记忆网络多特征分类预测Matlab实现
  • UI自动化测试框架之PO模式+数据驱动
  • 如何选择合适的服务器?服务器租赁市场趋势分析
  • 【遥感目标检测】【数据集】DOTA:用于航空图像中目标检测的大规模数据集
  • 【深度学习】Pytorch:CUDA 模型训练
  • .net core 中使用AsyncLocal传递变量
  • 【实践功能记录9】使用pnpm打补丁
  • VD:生成a2l文件