3.4 自测练习
一、填空题
1.采用多道程序设计技术,能充分发挥__和__的并行工作能力。
2.程序并发执行方式使程序失去了顺序执行方式所具有的特征,即失去了顺序性、__、__和__。
3.多道程序设计的特点是__、__和__。
4.在创建、撤销、切换进程等操作时,会造成很大的开销,为此,在操作系统中引入__概念,其主要目的是提高程序执行的__,减少系统开销。
5.在操作系统中,不可中断执行的操作称为__。
6.如果系统中有N个用户进程,则在等待队列中用户进程的个数最多可为__个。
7.进程由__、__和__3部分组成。其中,__也可以为其他进程共享。
8.进程有3种基本状态,分别是__、__和__。
9.将进程的__链接在一起就构成了进程队列。
10.若要当前运行进程总是优先级最高的进程,应选择__进程调度算法。
11.__是作业存在的唯一标志。
12.在SPOOLing系统中,当作业执行时,从磁盘上输入/输出缓冲空间的__中读取信息,并把作业的执行结果暂时存放在磁盘上的__中。
13.有两种不同的方法来提供线程支持,一种是用户层的__,另一种是内核层的__。其中,__由操作系统直接支持和管理。
14.在最高响应比优先的作业调度算法中,响应比定义为__和__的估计比值。
15.在支持批处理和分时的系统中,由分时系统控制的作业称为__作业,而由批处理系统控制的作业称为__作业。
16.在最高响应比优先的作业调度算法中,当各个作业等待时间相同时,__的作业将得到优先调度;当各个作业要求运行的时间相同时,__的作业得到优先的调度。
17.如果时间片无穷大,那么时间片轮转调度算法就变成了__调度算法。
18.在一个具有分时兼批处理的计算机操作系统中,如果有终端作业和批处理作业混合同时执行,__作业应优先占用处理器。
19.处理器调度按照调度层次分为高级调度、中级调度和低级调度。其中,__是高级调度,__是低级调度。
20.一个作业可以分成若干顺序处理的加工步骤,每个加工步骤称为一个__。
21.通常有3种不同的模型将用户线程和内核线程关联起来,分别是__、__和__。
22.进程调度的方式有两种,一种是__方式,另一种是__方式。
23.进程调度主要负责进行__的分配工作。
24.假设一个作业的估计运行时间为1小时,在系统中的等待时间为2小时,则该作业的周转时间为__小时,响应时间为__小时,响应比是__。
25.假设一批作业同时到达,若想使作业平均周转时间最短,则采用__调度算法。
26.最高响应比优先调度算法综合考虑了__时间和__时间。
27.一个新创建的进程通常处于__状态。
28.当创建一个进程时,系统就为该进程创建了一个__;当该进程被撤销后,系统将其收回。
29.__调度算法最有利于计算型的作业或进程。
30.现代操作系统将资源分配和调度分离,将__作为资源分配的单位,将__作为处理器调度的单位。
二、单项选择题
1.程序的顺序执行通常在__的工作环境中。
A.单CPU
B.多CPU
C.单道程序
D.多道程序
2.程序的并发执行通常在__的工作环境中。
A.单CPU
B.多CPU
C.单道程序
D.多道程序
3.一个进程是__。
A.由协处理机执行的一个程序
B.一个独立的程序+数据集
C.PCB结构、程序与数据的组合
D.一个独立程序
4.多道程序环境下,操作系统以__作为资源分配的基本单位。
A.作业
B.程序
C.进程
D.线程
5.__反映出了原语的主要特征。
A.原子性
B.并发性
C.共享性
D.异步性
6.通常进程是由A、B、C3部分组成。其中C是进程的唯一标志。当几个进程共享A时,A应当是可重入代码,则A、B、C分别是__。
A.程序段缓冲区PCB
B.程序段缓冲区JCB
C.程序段数据段PCB
D.程序段数据段JCB
7.假设作业1、2、3、4同时到达,需要运行的时间分别为2、5、8、3,作业的优先数分别为4、9、1、8。采用最高优先数优先调度算法时,作业的平均周转时间为__小时。
A.4.5
B.10.5
C.4.75
D.10.25
8.下列有关进程的描述中,不正确的是__。
A.进程是在多程序并行环境中的完整的程序
B.进程可以由程序,数据和进程控制块描述
C.进程是程序在处理机上的一次执行过程,是一个动态概念
D.进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的单位
9.UNIX操作系统的进程控制块中常驻内存的是__。
A.proc结构
B.proc结构和核心栈
C.ppda区
D.proc结构和user结构
10.当__时,进程从执行状态转为就绪状态。
A.进程被调度程序选中
B.时间片到
C.等待某一个事件
D.等待的事件发生
11.在进程状态转换时,不可能发生的转换是__。
A.就绪态转为运行态
B.运行态转为就绪态
C.运行态转为等待态
D.等待态转为运行态
12.下列各项工作步骤,__不是创建进程所必需的步骤。
A.建立一个PCB
B.由CPU调度程序为进程调度CPU
C.为进程分配内存等必要资源
D.将PCB链入进程就绪队列
13.下列说法正确的是__。
A.进程轮转调度算法是一种非剥夺式调度方式
B.若现行进程等待某一事件时引起调度,则该系统采用的是剥夺式调度
C.实时操作系统中通常采用剥夺式调度方式
D.在剥夺式系统中,进程的周转时间较之非剥夺式系统是可预见的
14.对进程的管理和控制通过__来实现。
A.中断
B.指令
C.原语
D.信号
15.选择作业调度算法通常考虑的因素之一是,使系统具有最高的吞吐率,为此应__.
A.不让处理机空闲
B.能够处理尽可能多的作业
C.使用户都满意
D.能够均衡处理各种类型的作业
16.当作业进入完成状态,操作系统__。
A.将删除该作业并收回所占资源,同时输出结果
B.将该作业的控制块从当前作业队列中删除,收回其所占资源,并输出结果
C.将收回该作业所占资源并输出结果
D.将输出结果并删除内存中的作业
17.在各种作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是__.
A.先来先服务
B.基于优先级
C.响应比最高者优先
D.短作业优先
18.作业调度程序从处于__状态的队列中选取适当的作业投入运行。
A.运行
B.提交
C.完成
D.后备
19.在批处理系统中,用户的作业是由__组成的。
A.程序
B.程序+数据+作用说明书
C.程序+作业说明书
D.程序+数据
20.作业A9:00到达系统,估计运行时间为2小时,若10:00开始执行该作业,其响应比是__。
A.2
B.1.5
C.1
D.0.5
21.下面__算法适用于分时系统中的进程调度。
A.FCFS
B.时间片调度
C.优先级调度算法
D.队列调度算法
22.在多道批处理系统中,为了充分利用各种资源,运行的程序应具备__条件。
A.适应于内存分配的
B.计算量大的
C.I/O量大的
D.计算型和I/O型均衡的
23.一个进程被唤醒,意味着__。
A.该进程PCB位于阻塞队列的队首
B.该进程重新获得了CPU的控制权
C.进程的状态变为就绪状态
D.该进程获得更高的优先级
24.单CPU计算机系统中若有N个用户进程,则就绪队列中的进程个数最多为__。
A.N-1
B.N
C.1
D.N-2
25.RR算法是专为__设计的算法。
A.批处理系统
B.实时系统
C.分时系统
D.多处理器系统
26.下述不属于作业调度算法的是__。
A.FCFS
B.SPF
C.HRRF
D.HPF
27.分时操作系统下运行的作业通常称为__。
A.批处理作业
B.后台作业
C.脱机作业
D.终端型作业
28.假设在单CPU的单道程序设计环境中,有3个作业同时到达,每个作业的运行时间为1小时,则平均周转时间为__小时。
A.3
B.2.5
C.2
D.1
29.下列关于多处理机调度算法的说法错误的是__。
A.现代操作系统通常采用进程调度与线程调度相结合的方式来完成多处理机调度
B.多处理机调度的设计要点之一是静态或动态地为进程分配处理机
C.多处理机调度设计的另一个要点是在单个处理机上采用多道程序设计技术,如某应用程序由多线程组成,要使系统性能最佳,应该让所有的线程同时在单个处理机上运行
D.随着处理机数目的增多,越复杂的进程调度算法,给系统带来的开销就越大
30.__优先级是在创建进程时就已经确定的,并在进程运行期间不再改变。
A.进程
B.作业
C.静态
D.动态
31.进程和程序的本质区别是__。
A.进程存储在内存,程序存储在外存
B.进程是非顺序执行机器指令,程序是顺序执行机器指令
C.进程是分时使用计算机资源,程序是独占计算机资源
D.进程具有动态特征,程序具有静态特征
32.在一个进程的生命周期中,该进程与它本身所执行的程序个数是__的关系。对一个可执行程序,该程序与执行它的进程是__的关系。
A.一对一,一对一
B.一对一,一对多
C.一对多,一对一
D.一对多,一对多
三、不定项选择题
1.有关进程说法,正确的有__。
A.进程就是程序,或者说,进程是程序的另一种叫法
B.一个被创建的进程,在其消亡之前,在任何时刻总是处于3种进程基本状态之一
C.多个不同的进程可以包含相同的程序
D.一个处于等待队列中的进程,即使进入其他状态,仍然放在等待队列之中
E.两个进程可以同时处于运行状态
2.进程具有的主要特性有:__。
A.动态性
B.共享性
C.并发性
D.静态性
E.独立性
F.不确定性
3.关于进程映像,说法正确的是__。
A.在任一时刻,进程映像只有一部分在内存中,其余的在外存中
B.进程映像就像是进程的生存环境,离开这个环境,进程将无法生存
C.进程映像在内存中存储时,实际上是存放在不同区域的,如可以根据使用权限将它们分别存放在用户段和核心段
D.一个进程的进程映像除了代码之外,还包括静态和动态数据、栈以及进程管理信息,其内容在该进程存在期间一直在动态变化
E.用户可以将某一时刻进程的完整进程映像保存到一个称为dump文件中。在Windows下,该文件名为memory.dump;在Linux下文件名为core。通过对该文件分析有利于找出进程运行时的出错原因
4.同一个进程中的多个线程共享__。
A.代码区
B.数据区
C.一个执行栈
D.线程控制块
E.动态堆空间
5.在分时系统中,进程调度经常采用__算法。
A.先来先服务
B.优先级调度
C.时间片调度
D.随机
6.作业与进程的主要区别是__。
A.前者是由用户提交的任务实体,后者是完成用户任务的执行实体
B.两者执行不同的程序段
C.前者以用户任务为单位,后者是向系统申请分配资源的基本单位
D.前者是批处理的,后者是分时的
E.前者以FCB为系统所标志,后者以PCB为系统所标志
7.为实现SPOOLing技术,硬件必须提供__。
A.磁盘
B.通道
C.卫星机
D.输入/输出
8.设有4个作业,它们提交时间及运行时间如表3-1所示。
在单道方式下,采用短作业优先调度算法,作业的执行顺序是__。
A.1、2、3、4
B.2、4、3、1
C.1、4、3、2
D.4、3、2、1
9.一个作业从进入系统到运行结束,一般需要经历__3个阶段。
A.收容
B.运行
C.完成
D.后备
10.下面关于作业调度的功能描述正确的有__。
A.按照某种调度算法从后备作业队列中挑选作业
B.为选中的作业分配主存和外设资源
C.为选中的作业建立相应的进程
D.构造和填写作业运行时所需的作业表等
E.作业结束时,完成作业的资源回收、输出必要信息等善后处理
11.用户通过终端使用计算机系统控制作业执行的方式称为__方式。
A.自动
B.联机
C.脱机
D.假脱机
12.评价系统性能优劣的指标有__。
A.吞吐量
B.CPU的利用率
C.周转时间
D.等待时间
13.作业生存期共经历4个状态,它们是__。
A.就绪
B.提交
C.后备
D.执行
E.完成
14.作业从进入后备队列到被调度程序选中的时间间隔称为__。
A.周转时间
B.响应时间
C.触发时间
D.等待时间
15.确定进程优先级的内部因素包括__。
A.进程的类型
B.运行时间
C.内存空间需求
D.打开文件的个数
E.I/O操作
F.查找策略
四、是非题
1.( )作业一旦被作业调度选中,就获得了CPU的控制权。
2.( )单CPU多道程序设计是指每一时刻可以有多个进程在执行。
3.( )用户进程所执行的程序都是用户编写的程序。
4.( )进程由进程控制块和数据集,以及对该数据集进行操作的程序组成。
5.( )进程上下文是进程执行活动全过程的静态描述。
6.( )并发是并行的不同表述,其原理相同。
7.( )为了避免出现内存中进程全部处于阻塞状态的情况,操作系统可选择将一些进程转移到磁盘,再调入新进程运行。
8.( )用户程序部分包含着进程具体执行的指令,因而是进程映像中最重要的部分。
9.( )如果没有中断技术,那么多道程序设计就不可能实现。
10.( )进程完成后向操作系统发出消息,等待操作系统将其置为停止状态,并在操作系统进行垃圾回收时将其撤销。
11.( )作业控制语言是供用户编写程序以实现某项计算任务。
12.( )SPOOLing系统就是使用直接存取的大容量磁盘作为缓冲,将一个可共享的磁盘空间改造成若干台输入设备和输出设备,并使得I/O设备与CPU并行操作。
13.( )线程是进程中能够并发执行的实体,是处理器调度和分派的基本单位。
14.( )由于短作业优先调度算法的作业平均周转时间小于先来先服务调度算法,因此短作业优先调度算法可用于分时系统。
15.( )分时系统中,时间片越小越好。
16.( )与单道批处理不同,多道批处理系统必须具有作业调度功能和进程调度功能,内存中可以存放多道作业。
17.( )在多道批处理系统中,当一个作业反复执行多次时,该作业每次的运行时间可能都不相同。
18.( )如果现有两道作业同时运行,一道以计算为主,另一道以输入/输出为主,则应该让以计算为主的作业优先级高于以输入/输出为主的作业。
19.( )在分时操作系统环境下运行的作业通常称为终端型作业。
20.( )作业调度程序完成整个作业运行工作。
五、综合题
1.既然多道程序设计可以有效提高资源利用率,那么同时在内存中的程序数量是否越多越好?
2.同一进程中的多线程之间哪些成分是共享的?哪些成分是私有的?
3.怎样理解并行和并发的?
4.Linux系统没有区分进程和线程的能力,但是许多操作系统,如Windows XP和Solaris,对进程和线程是区别对待的。请谈谈你对这两种设计的看法。
5.简述并行系统采用用户级线程管理模式的优缺点。
6.试区别处理机调度的3个调度级别。
7.试画出以下5条语句的前驱图。
(注释:前驱图是一种有向无循环图(Directed Acyclic Graph,DAG)。图中结点可以是一条语句或一个程序段,或一个进程。结点之间的有向边表示两个结点之间存在的偏序或前驱关系。例如结点Si到结点Sj的有向边表示它们的前趋关系,记为Si→Sj,表示Si和Sj应顺序执行,Sj仅在Si执行完成后才能开始执行。)
S1:i=a+1;
S2:x=i+2;
S3:y=i×2;
S4:z=i-1
S5:s=x+y+z
8.表3-2给出作业的到达时间和运行时间。采用短作业优先调度法和先来先服务调度算法,试问平均周转时间各为多少?是否还有更好的调度策略存在?
9.假设在单处理器多道程序系统中有5个程序A、B、C、D、E按顺序几乎同时到达,其运行时间、优先级如表3-3所示。
对于下列每一种调度算法,计算其平均周转时间(不考虑进程切换)。
1)FCFS算法
2)SPF算法
3)HPF算法
4)HRRF算法
5)RR算法(时间片为2分钟)
10.假设有两个程序A和B。它们使用CPU及设备甲和设备乙的先后顺序及其占用时间分别如下:
A:CPU(10毫秒)、甲(30毫秒)、CPU(10毫秒)、乙(20毫秒)、CPU(10毫秒)
B:甲(10毫秒)、CPU(20毫秒)、乙(5毫秒)、CPU(20毫秒)、乙(5毫秒)
1)在顺序环境下先执行程序A,然后再执行B,计算CPU的利用率。
2)在并发环境下,计算CPU的利用率。
11.一个多道程序设计系统配有一台处理器和两台外设甲、乙,现在有3个优先级由高到低的作业A、B和C都已经装入了主存,它们使用CPU及设备的先后顺序和占用时间分别如下:
A:乙(30毫秒)、CPU(10毫秒)、甲(30毫秒)、CPU(10毫秒)
B:甲(20毫秒)、CPU(20毫秒)、乙(40毫秒)
C:CPU(30毫秒)、甲(20毫秒)
处理器调度采用抢占式优先级调度算法,忽略其他辅助操作的占用时间,回答下列问题:
1)分别计算作业A、B和C从开始到完成所用的时间。
2)分别计算3个作业全部完成时CPU的利用率。
3)分别计算3个作业全部完成时,外设甲和乙的利用率。
12.假设计算机系统有10个进程准备运行,系统采用时间片调度算法。设置的时间片为200毫秒,进程调度花费的时间为10毫秒,求系统开销所占比率。
13.假设在单处理机两道程序设计环境下,有4个作业,它们进入系统的时间如表3-4所示。
作业调度采用短作业优先调度算法,进程调度采用优先级抢占式调度算法。这里规定:优先数越小优先级越高。忽略其他辅助操作的占用时间。
1)列出所有作业进入内存时间以及运行结束时间。
2)计算平均周转时间。
14.现有两个作业A和B,A以计算为主,B以I/O为主。若进程调度采用优先级调度算法,那么你认为应该优先调度A还是B,请给出理由。
15.简述UNIX进程映像的组成部分。
16.考虑如下的进程,时间单位为微秒,假设所有进程到达的时间都是0时刻,运行时间以及优先级如表3-5所示。
1)请画出采用SPF,非抢占式HPF(优先数小的优先级大)以及RR(时间片为1微秒)进程调度算法的甘特图(Gantt chart)。
2)分别计算采用上述3种调度算法中每个进程的周转时间。
3)分别计算采用上述3种调度算法中每个进程的等待时间。