操作系统课后习题笔记

目录

  • 前言:操作系统课后习题笔记
  • 教材:操作系统原理教程——主编胡元义等
  • 第一章习题
    • 一、选择题
    • 二、判断题
  • 第二章习题
    • 一、选择题
    • 二、判断题
    • 四、应用题

前言:操作系统课后习题笔记

定期更新。

教材:操作系统原理教程——主编胡元义等

操作系统课后习题笔记_第1张图片

第一章习题

一、选择题

1.A
2.C
操作系统在计算机系统中位于 计算机硬件 与 用户之间
3.D
设计提供用户程序与计算机硬件系统的界面
4.A
操作系统的逻辑结构不包括 混合型结构
5.A
使系统更高效不是微内核的优势
6.C
操作系统的三种基本类型是 批处理系统、分时操作系统 、实时操作系统
7.C
现代操作系统的基本特征是 程序的并发执行
8.C
批处理操作系统 首先考虑 周转时间 和 系统吞吐量
9.C
实时性 不是 分时操作系统的基本特征
10.D
实时操作系统 不重点考虑 提高系统资源的利用率
11.D
操作系统的不确定性是指 :
同一程序和数据的多次运行可能得到不同的结果;程序的运行时间、运行顺序也具有不确定性;外部输入的请求、运行故障发生的时间难以预测。这些都是不确定性的表现。
12.D
多道程序设计技术是指 在一台CPU上并发运行多个程序
13.C
当CPU执行操作系统内核代码时,称处理机 处于 核心态
14.D
操作系统有效的安全机制 不包括 计算机病毒防治, 包括入侵检测、硬件保护、身份鉴别
15.B
中断:指暂停CPU对当前运行程序的执行
16.C
用户程序在 用户态下使用 系统调用 引起的 中断 属于 访管中断
17.D
系统调用是 操作系统向用户程序性 提供的 接口
18.D
当操作系统 完成 调用后, CPU 从 核心态 到用户态
19.C
中断系统 一般由 硬件、软件组成
20.B
计算机系统 判断 是否有 中断事件 是在: 执行完一条指令后
21.C
中断 后:进入中断处理的程序属于 操作系统 程序
22.B
中断处理一定会 保存而 子程序 调用 不需要 保存其内容的是:程序状态 字寄存器

二、判断题

解析:(没打×或画删除线的就是对的语句)

1.采用多道程序设计的系统中,系统中的程序道数越多则系统的效率越高(×)
——当然不是越多越好

2.应用软件 是加在裸机上的第一层软件(×)
——应该是操作系统

3.操作系统特征之一的不确定性是指:
同一程序和数据的多次运行可能得到不同的结果;程序的运行时间、运行顺序也具有不确定性;外部输入的请求、运行故障发生的时间难以预测。这些都是不确定性的表现。

4.多道程序设计可以 缩短系统中程序的执行时间
—— 减少处理器空闲时间(为了提高CPU的利用率,充分发挥计算机系统部件的并行性)

5.操作系统的 所有程序 都必须常驻内存
——操作系统是把程序区分为常驻内存和非常驻内存的程序。不是所有的程序都的常驻内存的。

6.分层式结构的操作系统必须建立模块之间的通信机制,所以效率高(×)
——系统效率降低了。由于层次结构是分层单向依赖的,因此必须在相邻层之间都要建立层次间的通信机制,OS每执行一个功能,通常要自上而下地穿越多个层次,这无疑会增加系统的通信开销,从而导致系统效率的降低。

7.微内核结构操作系统具有较高的灵活性和扩展性。
8.操作系统内核 能 使用特权指令
9.通常将CPU模式分为内核态(核心态)和用户态,这样做是 为了提高运行速度
——区分内核态和用户态两种操作方式的目的是为了保护操作系统程序,提高操作系统的可靠性和安全性。

10.从响应的角度来看,分时系统与实时系统要求相似(×)
——分时系统对于每个请求都能及时响应,是将时间化为若干个小片段。而实时系统对时间要求比较高,硬软件任何故障都可能带来严重的后果,所以不对。 主要靠及时响应区分实时与分时。

11.使计算机系统能够被方便地使用和高效地工作是操作系统的两个主要设计目标。

12.操作系统的存储管理就是对磁盘存储器(外存)的管理(×)
——存储管理还包括对内存的管理

13.分时操作系统允许两个以上的用户共享一个计算机系统
14.实时操作系统只能用于控制系统而不能用于信息管理系统(×)
——实时操作系统既能用于 控制系统,也能用于信息管理系统

15.当CPU处于用户态时,它可以执行所有的指令(×)——只有在核心态下,才可以执行所有的指令。而在用户态下,CPU不能执行特权指令。

16.访管指令为 非特权指令,在用户态下执行时会将CPU转换为核心态

17.系统调用与程序级的子程序调用是一致的(×)
——系统调用与程序级的子程序调用区别:(1)程序的性质不同。系统调用服务例程是操作系统程序的一部分,它在核态下执行。而用户子程序是用户程序的一部分,它在用户态下执行。(2)调用方式不同。系统调用是通过陷入到操作系统内核来实现的,调用他们需要中断处理机制来提供服务。而子程序调用是在用户程序中直接调用。

18.用户程序不可以在核心态下运行。
19.执行系统调用时会产生中断

20.系统调用返回时,由核心态变为用户态执行用户程序
中断的处理是由硬件和软件协同完成的,各中断处理程序是操作系统的重要组成部分,所以对中断的处理是在核心态下进行的。



第二章习题

一、选择题

1.D——进程是程序的一次执行过程,程序才是指令的集合
2.A——进程获得CPU运行是通过调度得到的
进程申请CPU得不到满足时,其状态变为?就绪状态
3.C——一个进程是PCB结构、程序、和数据的组合
4.C——在单CPU系统中实现并发技术后,各进程在一个时间段内并发运行,CPU与I/O设备间并行工作
5.C——操作系统分配资源以 进程 为基本单位
6.A——当一个进程处于正等着输入一批数据状态时,称为阻塞状态
7.C——阻塞—>运行 是不可能发生的。
8.B——当 时间片到时,进程从运行状态转变为就绪态
9.C——一个进程的某个基本状态可以从其他两种基本状态转变过来,这个基本状态一定是 就绪状态
10.C——进程状态由就绪状态转换为运行状态是由 进程调度 引起的

11.D——一个进程被唤醒——进程变为就绪状态
12.A——降低进程优先级的合理时机是 进程的时间片用完
13.A——进程自身决定 从运行状态到阻塞状态
14D——一个进程从运行状态——>就绪状态 的事件是 :只有在时间片到 或 出现了 优先级更高的进程时 才转变成就绪状态。
并不是一次I/O操作的结束
15.A——一次I/O操作的结束有可能导致 ——进程由阻塞变就绪
16.B——一个进程从运行状态——>就绪状态 会引起进程的切换
17.B——对进程的管理和控制使用原语
18.B
进程调度主要负责 选一个进程占用CPU
19.A
进程被创建后 进入 就绪队列
20.A——创建进程所必需的:建立一个PCB、为进程分配内存、将PCB链入就绪队列
非必需:由调度程序为进程分配内存
21.B——父进程和子进程可以并发执行
撤销父进程应同时撤销子进程 不对:在撤销父进程时,要根据子进程是否执行完来决定
22.D——OS中的三级调度——作业调度、进程调度、中级调度
23.B
24.C——进程切换时什么时候占用CPU及占用多长时间取决于进程自身和进程调度策略
25.C——短作业优先算法
26.C——响应比的计算
27.D——平均周转时间最小的执行序列:先执行时间短的
28.B——对短进程有利:高响应比优先算法、多级反馈队列调度算法
29.D——通常影响响应比的主要因素——等待时间
30.B——满足短进程优先 且 不发生饥饿现象 的调度算法:响应比 高者优先
31.C、D——在引入线程的操作系统中,资源分配的基本单位是 进程,CPU分配的基本单位是 线程
32.B——线程与进程的区别:引入线程可以提高程序并发执行的程度,进一步提高系统的效率。 D.一个进程不一定包含多个线程。 C.引入线程,则是为了减少程序在并发执行时所付出的时空开销
A. 线程是操作系统能够进行运算调度的最小单位。(不能独立运行的基本单位)它被包含在进程之中,是进程中的实际运作单位。
33.A——内核态线程的的切换 都需要 内核的支持

二、判断题

1.F
进程是程序的执行过程,进程和程序不是一一对应。
2.F
并发性是指若干事件在同一时间间隔内发生。
3.F
操作系统以进程为单位分配系统资源。
4.F
进程在运行中不可以自行修改自己的进程控制权
5.F
并发执行是指:并发是同一时间间隔内,在单处理器上运行,宏观并行,微观串行(微观上任何时刻都只有一道程序在CPU上执行)。而并行是同一时刻,在多个处理器上运行
6.F
每个进程只有一个PCB,但是PCB不是进程私有的
7.F
就绪—>运行:获得处理机资源(分派处理机的时间片)
8.T
进程状态的转换是由操作系统完成的,对用户透明。
9.F
从运行态变阻塞:1)进程请求资源(外设)使用和分配 2)等待某一事件的发生(IO操作完成)
10.T
当满足条件时,进程可以由阻塞态直接转换为运行态。
11.F
进程不可以由就绪转换为阻塞
12.T
进程可以自身决定从运行态转换为阻塞态
13.F
在抢占式进程调度下,现运行进程的优先级 不低于系统中所有进程的优先级
14.F
抢占式优先权调度算法:
只要系统中出现一个新的就绪进程,就进行优先权比较 。若出现优先权更高的进程,则立即停止当前执行,并将处理机分配给新到的优先权最高的进程。
15.F
FCFS调度算法属于不可剥夺算法,FCFS调度算法对长作业比较有利,对短作业不利;有利于CPU繁忙型作业,而不利于I/O繁忙型作业。
16.F
在任何情况下 采用短作业优先调度算法 都能 够使作业的平均周转时间最小(×)
17.T
时间片的大小对轮转法的性能有很大影响,时间片太短会导致系统开销增加。
18.F
在分时系统中,进程调度常采用时间片轮转法
19.F
在单CPU上的进程就绪队列和阻塞队列都只能有一个(×)
例如:存在5个进程,最多可有四个进程处于就绪队列,不可能5个同时在就绪队列,毕竟cpu空闲就会从就绪队列里面找事做

如果单CPU系统中有N个进程,运行的用户进程最多几个,最少几个;阻塞的用户进程最多几个,最少几个
运行状态最多1个,最少0个;
等待状态最多N个, 最少N-1个;
就绪状态最多N-1个,最少0个。

20.F
某进程被唤醒后立即投入运行,因此系统才用的一定是抢占式(剥夺式)进程(×)
解析:不一定。进程调度有以下两种基本方式:(1)剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其他进程
(2)非剥夺:分派程序一旦把处理机分配给进程,要等到进程完成或发生阻塞,才把处理机分配给其他进程。

由于题设给的条件无法判断该进程在以后运行过程中是否会被调度,因此不足判断时刻剥夺调度算法。

四、应用题

3.

问题:在一单道批处理系统中,已知一组作业(1、2、3、4)的提交时间 和 运行时间分别是:

作业名——提交时间——运行时间
1—— 8.0——1.0
2——8.5——0.5
3——9.0——0.2
4——9.1——0.1
注:进程(作业)不是同时到达)(如果是同时到达,周转时间 等于 完成时间,因为提交时间为0)
各个调度算法下的平均周转时间平均带权周转时间

答案解析:

总结:(所有的调度算法都适用)
(作业)周转时间=(作业的)完成时间 - (作业的)提交时间

            =(作业的)运行时间 + (作业的)等待时间

带权周转时间 = 周转时间 ÷ 运行时间

平均周转时间 = 所有作业的 周转时间 总和 ÷ 作业总数目

平均带权时间 = 所有作业的 带权周转时间 总和 ÷ 作业总数目

总结:(所有的调度算法都适用)
> step1:对执行顺序进行排序

> step2:对于  第一个执行  的作业:
 
 完成时间 =  提交时间+运行时间(等待时间为0)

> step3:随后执行 的作业:
 
 等待时间 = 上一个作业完成时 的时间 - 本作业 的提交时间
完成时间 = 提交时间+等待时间+运行时间 

-------(1)先来先服务 调度算法下:

作业执行次序 1 2 3 4
提交时间 8.0 8.5 9.0 9.1
运行时间 1 0.5 0.2 0.1
等待时间 0 9-8.5=0.5 9.5-9.0=0.5 9.7-9.1=0.6
完成时间 9 8.5+0.5+0.5=9.5 9+0.2+0.5=9.7 9.1+0.1+0.6=9.8
周转时间
带权周转时间

(每个作业的周转时间=等待时间+运行时间 或 =完成时间-提交时间(任选一)
每个作业的带权周转时间 = 周转时间 ÷ 运行时间

故:作业平均周转时间 T=(1.0+1.0+0.7+0.7)/4=0.85
作业平均带权周转时间 W=(1.0+2.0+3.5+7.0)/4=3.375

--------(2)采用短作业(进程)优先(SJF)调度算法

第一个来的不管 是不是短作业,都先运行,在它运行期间来的作业 进入 后备队列
——短作业优先,即从后备队列中调入内存运行,运行时间短的优先。
——而短进程优先(SPF)调度算法,是从就绪队列中选择一个运行时间最短的进程,将处理机分配给它,使之立即执行,直到完成或发生某事件而阻塞时,才释放处理机。

情况如下表:

作业执行次序 1 3 4 2
提交时间 8.0 9 9.1 8.5
运行时间 1 0.2 0.1 0.5
等待时间 0 0 0.1 0.8
完成时间 9 9.2 9.3 9.8
周转时间
带权周转时间

解释:
主要是弄清执行顺序

  • 作业1最先来,先执行1
  • 在作业 1 执行完成时刻 9.0,作业 2 和作业 3 均已到达。比较两者的运行时间,谁短选择谁——选作业 3 运行
  • 当作业 3运行结束(在时刻 9.2 完成)时,作业 2 和作业 4 均已到达;比较两者的运行时间,谁高选择谁。——选作业4——选作业2

作业平均周转时间 T=(1.0+0.2+0.2+1.3)/4=0.675
作业平均带权周转时间 W=(1.0+1.0+2.0+2.6)/4=1.65

-------(3)采用 高响应比优先(HRRF)调度算法:

执行顺序:(与短进程优先类似)

  • 作业1最先来,先执行1
  • 在作业 1 执行完成时刻 9.0,作业 2 和作业 3 均已到达。比较两者的响应比,谁高选择谁——响应比 Rp=1+(等待时间 ÷ 运行时间)——作业 2 的响应比=2;作业 3=1;即选作业 2 运行
  • 当作业 2 运行结束(在时刻 9.5 完成)时,作业 3 和作业 4 均已到达;比较两者的响应比,谁高选择谁。——选4——最后3

情况如下表:

作业执行次序 1 2 4 3
提交时间 8.0 8.5 9.1 9.0
运行时间 1 0.5 0.1 0.2
等待时间 0 0.5 0.4 0.6
完成时间 9.0 9.5 9.6 9.8
周转时间 1.0 1.0 0.5 0.8
带权周转时间 1.0 2.0 5.0 4.0

作业平均周转时间 T=(1.0+1.0+0.5+0.8)/4=0.825
作业平均带权周转时间 W=(1.0+2.0+5.0+4.0)/4=3


5.????
操作系统课后习题笔记_第2张图片操作系统课后习题笔记_第3张图片
解:(1)


6.
操作系统课后习题笔记_第4张图片(1)
分析:1)本题中每道作业的运行 将经历两级调度 :作业调度和进程调度。
作业调度采用短作业优先调度算法;
2)进程调度:高优先级的进程可以抢占低优先级进程所占用的 CPU。此外,只有在作业调度程序将作业装入内存后才能参与进程调度
3)是两道作业系统——内存中最多允许有两道作业。

重点是:
step1:选择谁进入内存——从后备队列中——短作业优先
step2:选择谁调度执行——从就绪队列中——优先级

一个作业经历过程: 后备队列——>内存:就绪队列/执行

① 10:00 时,作业 A 到达并投入运行。
② 10:20 时,作业 B 到达且优先级高于作业 A,故进程调度程序调度作业 B 投入运行
而作业 A 进入就绪队列。
③ 10:30 时,作业 C 到达,但因内存中已有两道作业,故作业 C 进入作业后备队列中
等待作业调度其进入内存。
④ 10:50 时,作业 B 运行结束且作业 D 到达,按短作业优先调度策略,作业 D 被调入
内存并进入就绪队列,而就绪队列中作业 A 的优先级高于作业 D,故进程调度程序调度作
业 A 运行。
⑤ 11:10 时,作业 A 运行结束,作业 C 被调入内存进入就绪队列,因作业 C 的优先级
高于作业 D,故进程调度程序调度作业 C 运行。
⑥ 12:00 时,作业 C 运行结束,进程调度程序调度作业 D 投入运行。
⑦ 12:20 时,作业 D 运行结束,此时就绪队列中已无可调度执行的作业,即全部作业都
运行结束。
由上述分析可以
得出所有作业进入内存的时间以及运行结束的时间如下:
作业进入内存时间和结束时间
作业 ——进入内存时间 ——结束时间
A ——10:00—— 11:10
B ——10:20—— 10:50
C ——11:10 ——12:00
D ——10:50—— 12:20

(2)各作业执行的周转时间为:
作业 A:70 分钟
作业 B:30 分钟
作业 C:90 分钟
作业 D:90 分钟
作业的平均周转时间为 T=(70+30+90+90)/4=70 分钟

你可能感兴趣的:(#,操作系统,课后习题,笔记)