操作系统进程部分的习题
- 格式:doc
- 大小:55.00 KB
- 文档页数:14
一、选择题1.在进程管理中,当时,进程从阻塞状态变为就绪状态。
A.进程被进程调度程序选中B.等待某一事件C.等待的事件发生D.时间片用完2.分配到必要的资源并获得处理机时的进程状态是。
A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态3.P、V操作是。
A.两条低级进程通信原语B.两组不同的机器指令C.两条系统调用命令D.两条高级进程通信原语4.设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况,不可能发生的情况是。
A.没有运行进程,有2个就绪进程,n个进程处于等待状态。
B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。
C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。
D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。
5.若P、V操作的信号量S初值为2,当前值为-1,则表示有等待进程。
A. 0个B. 1个C. 2个D. 3个6.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中7.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中8.下列的进程状态变化中,变化是不可能发生的。
A.运行→就绪B.就绪→运行C.等待→运行D.等待→就绪9.一个运行的进程用完了分配给它的时间片后,它的状态变为。
A.就绪B.等待C.运行D.由用户自己确定10.用V操作唤醒一个等待进程时,被唤醒进程的状态变为。
A.等待B.就绪C.运行D.完成11.操作系统通过对进程进行管理。
A. JCBB. PCBC. DCTD. CHCT 12.用P、V操作可以解决互斥问题。
A. 一切B. 某些C. 正确D. 错误13.一个进程被唤醒意味着。
A. 该进程重新占有了CPUB. 它的优先权变为最大C. 其PCB移至等待队列队首D. 进程变为就绪状态14.多道程序环境下,操作系统分配资源以为基本单位。
操作系统作业【注意】对于作业中的选择题,都要求抄写题目(题中若有插图可不画),并在题目上填写答案。
作业1——进程同步(1)1.设有n个进程使用同一个共享变量,如果最多允许m(m < n)个进程同时进入相关临界区,则信号量的变化范围是。
A. n,n-1,...,n-mB. m,m-1,...1,0,-1,...m-nC. m,m-1,...1,0,-1,...m-n-1D. m,m-1,...1,0,-1,...m-n+12.对于有两个并发进程的系统,设互斥信号量为mutex,若mutex=0,则。
A. 表示没有进程进入与mutex相关的临界区B. 表示有一个进程进入与mutex相关的临界区C. 表示有一个进程进入与mutex相关的临界区,另一个进程等待进入D.表示有两个进程进入与mutex相关的临界区3.S.queue,S.value是信号灯S的两个组成部分,当S.queue为空时,S.value的值是( ) A.S.value≤0 B.S.value=0 C.S.value=1 D.Svalue≥04.如果信号量的当前值为-3,则表示系统中在该信号量上有个等待进程。
5.下列选项中,操作系统提供给应用程序的接口是。
(2010全国试题)A.系统调用B.中断C.库函数D.原语6.下列选项中,导致创建新进程的操作是。
(2010全国试题)I.用户登录成功II.设备分配III.启动程序执行A.仅I和II B.仅II和III C.仅I和III D.I、II和III7.设与某资源关联的信号量初值为3,当前值为1。
若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是。
(2010全国试题)A.0、1 B.1、0 C.1、2 D.2、0作业2——进程同步(2)1.如何利用信号量机制来实现多个进程对临界资源的互斥访问?2.四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F,但限制是进程A 和进程C不能同时读文件F,进程B和进程D也不能同时读文件F,为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:(1)应定义的信号量及初值:。
第二章练习题一、单项选择题1.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将( C )。
A. 从就绪变为运行; B.从运行变为就绪;C.从运行变为阻塞; D.从阻塞变为就绪2.进程控制块是描述进程状态和特性的数据结构,一个进程( D )。
A.可以有多个进程控制块;B.可以和其他进程共用一个进程控制块;C.可以没有进程控制块;D.只能有惟一的进程控制块。
3.临界区是指并发进程中访问共享变量的(D)段。
A、管理信息B、信息存储C、数据D、程序4. 当__ B__时,进程从执行状态转变为就绪状态。
A. 进程被调度程序选中B. 时间片到C. 等待某一事件D. 等待的事件发生5. 信箱通信是一种( B )通信方式。
A. 直接通信B. 高级通信C. 低级通信D. 信号量6. 原语是(B)。
A、一条机器指令B、若干条机器指令组成C、一条特定指令D、中途能打断的指令7. 进程和程序的一个本质区别是(A)。
A.前者为动态的,后者为静态的;B.前者存储在内存,后者存储在外存;C.前者在一个文件中,后者在多个文件中;D.前者分时使用CPU,后者独占CPU。
8. 任何两个并发进程之间存在着(D)的关系。
A.各自完全独立B.拥有共享变量C.必须互斥D.可能相互制约9. 进程从运行态变为等待态可能由于(B )。
A.执行了V操作 B.执行了P 操作C.时间片用完 D.有高优先级进程就绪10. 用PV操作管理互斥使用的资源时,信号量的初值应定义为(B)。
A.任意整数 B.1 C.0 D.-111. 现有n个具有相关临界区的并发进程,如果某进程调用P 操作后变为等待状态,则调用P操作时信号量的值必定为(A)。
A.≤0 B.1C.n-1 D.n12. 用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n个进程在等待进入临界区,这时信号量的值为(C)。
A.-1 B.1 C.-n D.n13. 用V操作唤醒一个等待进程时,被唤醒进程的状态应变成(B)状态。
第三章进程管理练习题一、选择题1.如果信号量S的值是0,此时进程A执行P(S)操作,那么,进程A会()。
A.继续运行 B.进入阻塞态,让出CPUC.进入就绪态,让出CPU D.继续运行,并唤醒S队列头上的等待进程2. 正在运行的进程在信号量S上操作P操作之后,当S<0,进程将进入信号量的()。
A.等待队列B.提交队列C.后备队列D.就绪队列3.在非剥夺调度方式下,运行进程执行V原语后,其状态()。
A.不变B.要变C.可能要变D.可能不变4. 一个进程被唤醒,意味着()。
A.改进程重新占有了CPUB.进程状态变为就绪C.它的优先权变为最大D.其PCB移至就绪队列的队首5.. 系统感知进程的唯一实体是()。
A.JCBB.FCBC.PCBD.SJT6. 一进程在某一时刻具有()。
A.一种状态B.二种状态C.三种状态D.四种状态7. 进程从运行状态变为等待的原因可能是()。
A.输入/输出事件发生B.时间片到C.输入/输出事件完成D.某个进程被唤醒8. 进程创建原语的任务是()。
A.为进程编制程序B.为进程建立PCB表C.为进程分配CPUD.为进程分配所需的各种资源9. 进程被创建后即进入()排队。
A.阻塞队列B.就绪队列C.缓冲队列D.运行队列10.在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次。
A)等待活动 B)运行活动 C)单独操作 D)关联操作11.下面对进程的描述中,错误的是。
A)进程是动态的概念 B)进程执行需要处理机 C)进程是有生命期的 D)进程是指令的集合12. 进程和程序的本质区别是( ) 。
A)存储在内存和外存 B)顺序和非顺序执行机器指令 C)分时使用和独占使用计算机资源 D)动态和静态特征13.下列的进程状态变化中,( ) 变化是不可能发生的。
A)运行一就绪 B)运行一等待 C)等待一运行 D)等待一就绪14.一个运行的进程用完了分配给它的时间片后,它的状态变为A)就绪 B)等待 C)运行 D)完成15.在进程管理中,当时,进程从阻塞状态变为就绪状态。
一、单选题1、关于进程控制块的描述,如下存在问题的选项是()。
A.操作系统控制和管理并发执行进程的依据B.进程存在的惟一标志,离散存放于内存空间或对应程序的文件目录项中C.进程实体的一部分,是拥有描述进程情况及控制进程运行所需的全部信息的记录性数据结构D.使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程正确答案:B2、进程标识符和进程控制块的分配可能发生在进程的()阶段。
A.阻塞B.挂起C.创建D.终止正确答案:C3、当一个进程被()时,可能会发生处理器的调度。
①终止;②挂起;③唤醒;④阻塞A.①②④B.①③④C.①②③④D.①④正确答案:C4、对于系统服务进程而言,如果当前没有任务,便会引发自身的()事件。
A.进程阻塞B.进程唤醒C.进程终止D.进程挂起正确答案:A5、引起进程重新调度的原因不包括()。
A.进程放弃处理器B.进程从核心态返回用户态C.进程执行系统调用和陷入内核态D.时钟中断正确答案:C6、关于进程同步机制基本准则:当无进程处于某临界资源所对应的临界区时,可允许一个请求进入(该临界资源所对应的)临界区的进程立即进入自己的临界区,这称之为()。
A.忙则等待B.有限等待C.空闲让进D.让权等待正确答案:C7、关于进程同步机制基本准则:当已有进程进入自己的对应于某临界资源的临界区时,所有企图进入该临界资源所对应临界区的进程必须等待,这称之为()。
A.循环等待B.忙则等待C.有限等待D.让权等待正确答案:B8、关于进程同步机制基本准则:对要求访问临界资源的进程,应保证该进程能在有限时间内进入自己的临界区,这称之为()。
A.忙则等待B.循环等待C.有限等待D.让权等待正确答案:C9、进程同步机制应遵循让权等待准则,故而当一个进程不能进入自己的临界区时,其应当释放()。
A.处理器B.I/O设备C.内存空间D.外存空间正确答案:A10、利用硬件指令能有效地实现进程互斥,但它却不能满足()的准则,造成了处理器时间的浪费,而且也很难将它用于解决较复杂的进程同步问题。
第四章一、单项选择题1.为了根据进程的紧迫性做进程调度,应采用(B )。
A.先来先服务调度算法 B. 优先数调度算法 C.时间片轮转调度法 D.分级调度算法2.采用时间片轮转法调度是为了( A)。
A.多个终端都能得到系统的及时响应 B.先来先服务C. 优先数高的进程先使用处理器 D.紧急事件优先处理3.采用优先数调度算法时,对那些具有相同优先数的进程再按( A )的次序分配处理器。
A 先来先服务 B. 时间片轮转 C. 运行时间长短 D.使用外围设备多少4. 当一进程运行时,系统强行将其撤下,让另一个更高优先数的进程占用处理器,这种调度方式是( B )。
A. 非抢占方式B.抢占方式 C. 中断方式 D.查询方式5.( B)必定会引起进程切换。
A.一个进程被创建后进入就绪态B.一个进程从运行态变成阻塞态C.一个进程从阻塞态变成就绪态6.( B)只考虑用户估计的计算机时间,可能使计算时间长的作业等待太久。
A.先来先服务算法B.计算时间短的作业优先算法C.响应比最高者优先算法 D.优先数算法7.先来先服务算法以( A )去选作业,可能会使计算时间短的作业等待时间过长。
A.进入的先后次序 B.计算时间的长短 C.响应比的高低 D.优先数的大小8.可以证明,采用( C )能使平均等待时间最小。
A.优先数调度算法 B.均衡调度算法C.计算时间短的作业优先算法 D.响应比最高者优先算法9.在进行作业调度时.要想兼顾作业等待时间和计算时间,应选取(D )。
A均衡调度算法 B.优先数调度算法C.先来先服务算法D.响应比最高者优先算法10.作业调度算法提到的响应比是指( B )。
A.作业计算时间与等待时间之比B.作业等待时间与计算时间之比C.系统调度时间与作业等待时间之比 D.作业等待时间与系统调度时间之比11.作业调度选择一个作业装入主存后,该作业能否占用处理器必须由( D )来决定。
A.设备管理 B.作业控制 C.驱动调度D.进程调度12.系统出现死锁的根本原因是( D )。
进程管理习题一、单项选择题1.在进程管理中,当________时,进程从阻塞状态变为就绪状态。
A进程被进程调度程序选中 B.等待某一事件C.等待的事件发生D.时间片用完2.建立进程就是____。
A.建立进程的目标程序B.为其建立进程控制块C.建立进程及其子孙的进程控制块D.将进程挂起3.分配到必要的资源并获得处理机时的进程状态是______。
A.就绪状态B.执行状态C.阻塞状态D.撤消状态4.在操作系统中,P、V操作是一种_______。
A.机器指令B.系统调用命令C.作业控制命令D.低级进程通讯原语5.在消息缓冲通信中,消息队列属于_________资源。
A.临界B.共享C.永久D.可剥夺6.对进程的管理和控制使用__________。
A.指令B.原语C.信号量D.信箱通信7.在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次______。
A.等待活动B.运行活动C.单独操作D.关联操作8.若P、V操作的信号量S初值为2,当前值为-1,则表示有_______等待进程。
A.0个B.1个C.2个D.3个9.下面对进程的描述中,错误的是__________。
A.进程是动态的概念B.进程执行需要处理机C.进程是有生命期的D.进程是指令的集合10.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为A.3B.1C.2D.011.下列的进程状态变化中,____________变化是不可能发生的。
A.运行→就绪B.运行→等待C.等待→运行D.等待→就绪12.一个运行的进程用完了分配给它的时间片后,它的状态变为__________。
A.就绪B.等待C.运行D.由用户自己确定13.用V操作唤醒一个等待进程时,被唤醒进程的状态变为_______。
A.等待B.就绪C.运行D.完成14.临界区是_____________。
A.一段共享数据区B.一个缓冲区C.一段互斥执行的程序段D.一个互斥资源15.进程间的同步是指进程间在逻辑上的相互__________关系。
第三章进程管理习题一. 单选题1. UNIX操作系统的进程控制块中常驻内存的是()。
A.proc结构B.proc结构和核心栈C.ppda区D.proc结构和user结构2. 当()时,进程从执行状态转变为就绪状态。
A.进程被调度程序选中B.时间片到C.等待某一事件D.等待的事件发生3.在进程状态转换时,下列()转换是不可能发生的。
A.就绪态→运行态B.运行态→就绪态C.运行态→阻塞态D.阻塞态→运行态4.下列各项工作步骤中,()不是创建进程所必需的步骤。
A.建立一个PCBB.作业调度程序为进程分配CPUC.为进程分配内存等资源D. 将PCB链入进程就绪队列5.下列关于进程的叙述中,正确的是()。
A.进程通过进程调度程序而获得CPU。
B.优先级是进行进程调度的重要依据,一旦确定不能改变。
C.在单CPU系统中,任一时刻都有1个进程处于运行状态。
D.进程申请CPU得不到满足时,其状态变为等待状态。
6.从资源管理的角度看,进程调度属于()。
A.I/O管理B.文件管理C.处理机管理D.存储器管理7.下列有可能导致一进程从运行变为就绪的事件是()。
A.一次I/O操作结束B.运行进程需作I/O操作C.运行进程结束D.出现了比现运行进程优先权更高的进程8.一个进程释放一种资源将有可能导致一个或几个进程()。
A.由就绪变运行B.由运行变就绪C.由阻塞变运行D.由阻塞变就绪9.一次I/O操作的结束,有可能导致()。
A.一个进程由睡眠变就绪B.几个进程由睡眠变就绪C.一个进程由睡眠变运行D.几个进程由睡眠变运行10.当一个进程从CPU上退下来时,它的状态应变为()。
A.静止就绪B. 活动就绪C. 静止睡眠D. 活动睡眠11.为使进程由活动就绪变为静止就绪,应利用()原语?** B. ACTIVE C. BLOCK D. WAKEUP12.在下面的叙述中,不正确的是()。
A.一个进程可创建一个或多个线程B.一个线程可创建一个或多个线程C.一个线程可创建一个或多个进程D.一个进程可创建一个或多个进程13. 若系统中只有用户级线程,则处理机调度单位是()。
操作系统部分习题参考答案(孙钟秀版)操作系统部分习题参考答案第⼀章2. ⼀个计算机系统,有⼀台输⼊机和⼀台打印机,现有两道程序投⼊运⾏,且程序A先开始做,程序B后开始运⾏。
程序A的运⾏轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。
程序B的运⾏轨迹为:计算50ms、输⼊80ms、再计算100ms,结束。
试说明(1)两道程序运⾏时,CPU有⽆空闲等待?若有,在哪段时间内等待?为什么会等待?(2)程序A、B有⽆等待CPU的情况?若有,指出发⽣等待的时刻。
答:画出两道程序并发执⾏图如下:(1) 两道程序运⾏期间,CPU存在空闲等待,时间为100⾄150ms之间(见图中有⾊部分)。
(2) 程序A⽆等待现象,但程序B有等待。
程序B有等待时间段为180ms⾄200ms间(见图中有⾊部分)。
5. 在单CPU和两台I/O(I1,I2)设备的多道程序设计环境下,同时投⼊三个作业运⾏。
它们的执⾏轨迹如下:Job1:I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms)Job2:I1(20ms)、CPU(20ms)、I2(40ms)Job3:CPU(30ms)、I1(20ms)如果CPU、I1和I2都能并⾏⼯作,优先级从⾼到低为Job1、Job2和Job3,优先级⾼的作业可以抢占优先级低的作业的CPU。
试求:(1)每个作业从投⼊到完成分别所需的时间。
(2) 从作业的投⼊到完成CPU的利⽤率。
(3)I/O设备利⽤率。
答:画出三个作业并⾏⼯作图如下(图中着⾊部分为作业等待时间):(1) Job1从投⼊到运⾏完成需80ms,Job2从投⼊到运⾏完成需90ms,Job3从投⼊到运⾏完成需90ms。
(2) CPU空闲时间段为:60ms⾄70ms,80ms⾄90ms。
所以CPU利⽤率为(90-20)/80=77.78%。
(3) 设备I1空闲时间段为:20ms⾄40ms,故I1的利⽤率为(90-20)/90=77.78%。
第二章进程管理1.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用户、提高计算机使用效率的一种系统软件。
它的主要功能有:处理机管理、存储管理、文件管理、 (2) 管理和设备管理等。
Windows和Unix是最常用的两类操作系统。
前者是一个具有图形界面的窗口式的 (3) 系统软件,后者是一个基本上采用 (4) 语言编制而成的的系统软件。
在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息并作出响应。
供选答案:(1): A. 应用软件 B. 系统软硬件C. 资源D. 设备(2): A. 数据 B. 作业C. 中断D. I/O(3): A. 分时 B. 多任务C. 多用户D. 实时(4): A. PASCAL B. 宏C. 汇编D. C(5): A. 网络 B. 分时C. 批处理D. 实时答案:CBBDD2.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。
在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。
虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。
供选答案:(1): A. 输入和输出 B. 键盘操作C. 管理和控制D. 汇编和执行(2): A. 软件和硬件 B. 主机和外设C. 高级语言和机器语言D. 用户和计算机(3): A. 进程控制块 B. 作业控制块C. 文件控制块D. 设备控制块(4): A. 运行态转换为就绪态 B. 就绪态转换为运行态C. 运行态转换为等待态D. 等待态转换为运行态(5): A. 软盘 B. 硬盘C. CDROMD. 寄存器答案:CDADB3.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D。
A. Spodling技术B. 虚拟存储技术C. 缓冲技术D. 多道程序设计技术4.分时系统追求的目标是 C。
1、程序在独占处理器的情况下运行时:只要程序执行时的环境和初始条件相同,程序重复执行的结果相同,这称之为()。
A.顺序性B.封闭性C.开放性D.可再现性正确答案:D2、程序在独占处理器的情况下运行时,将会体现出顺序性的执行特征,这是指()。
A.程序在封闭环境下运行并独占计算机的所有资源B.程序严格按照源码编辑、源程序编译、目标程序链接和可执行程序运行的过程来执行处理C.处理机的操作,严格按照规定顺序执行D.程序的执行严格按照其代码排列先后次序而顺序执行正确答案:C3、程序在独占处理器的情况下运行时将会体现出封闭性的特征。
关于这里的封闭性的理解或描述,下列不正确的选项是()。
A.程序在封闭环境下运行并独占计算机的所有资源B.程序的执行结果不受外界因素的影响C.程序的执行相对封闭,但受到并发协作进程的制约D.只有当前运行的程序才能改变计算机系统资源的状态正确答案:C4、如果没有进程控制块和进程的概念以及相应的操作系统支撑机制,程序在并发执行的情况下,将会体现出如下除选项()之外的各项特征。
A.间断性(即“执行—暂停执行—执行”的执行活动规律)B.顺序性(指处理机的操作,严格按照规定顺序执行)C.非封闭性(程序运行受到其它并发程序的影响)D.程序并发执行计算结果的不可再现性正确答案:B5、进程是对并发程序的描述机制,是程序的运行过程,由()所组成。
A.程序段和数据段B.程序段、数据段和进程控制块C.进程控制块、本进程区表、系统区表、文件描述符表和文件打开表D.程序上下文和寄存器上下文正确答案:B6、现代操作系统中,()是系统实施内存资源分配和管理的一个独立实体。
A.管程B.程序C.进程D.线程正确答案:C7、与程序相比,进程是一个动态的概念,具有一定的生命周期,并支持多道程序的并发执行。
关于并发的最准确的说法是()。
A.多道程序同时进入内存,并在宏观上(即一段时间内)同时运行B.多道程序同时存放在外存储器上,并形成了作业后备队列C.多道程序同时进入内存,并在微观观上(即一个时刻点上)同时运行D.多道程序共享内存,并分别在多个处理器上同时运行正确答案:A8、()存放了进程标识符、进程运行的当前状态、程序和数据的地址以及关于该程序运行时的CPU环境信息。
--一、填空题1. 进程是一个程序对某个数据集的一次执行过程。
进程从结构上讲,包括程序、数据和PCB三部分。
2. 进程是一个动态的概念,程序是一个静态的概念。
3. 操作系统中,可以并行工作的基本单位是进程,它是由程序、数据集和PCB组成。
4. 进程存在的唯一标志是PCB的存在。
当系统创建一个进程时,系统为其建立一个PCB,当进程被撤销时系统就将其收回。
5. 进程有三种基本状态,即运行状态、就绪状态、阻塞状态。
当进程由(1)变换到(2)或(3)时,就会立即引起重新调度。
6. 在操作系统中,不可中断执行的操作称为原语。
7. 并发进程之间的基本关系是同步或互斥。
其中互斥是指进程之间的一种间接关系。
8. 临界资源是指一段时间只允许一个进程使用的资源,而临界区是指进程中访问临界资源的程序代码。
9. P,V操作原语是在信号量上操作的。
10. 信号量的物理意义是:当信号量的值大于零时,表示可用资源的数量;当信号量值小于零时,其绝对值为等待使用信号量所代表资源的进程的数量。
11. 有n个进程共享同一个临界区,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是1~-(n-1)。
12.如果系统中有n个进程,则在等待(阻塞)队列中进程的个数最多可为个n。
13. 如果信号量的当前值为-5,则表示系统中在该信号量上有5 个等待进程。
14.某程序运行时经常需打印中间结果。
计算时,该进程处于用户态,打印时处于系统态,打印结束时进程处于用户态。
(指系统状态)、15. 在操作系统中引入线程的主要目的是减少程序并发执行时的时空开销,使OS更具有并发性。
16. 如果一个程序能为多个进程同时共享执行,那么它应该以纯码形式编写,即该程序是可重人码程序,这种程序的特点是:在它执行过程中自身不可修改。
17. 中断优先级是由硬件规定的,若要调整中断的响应次序可通过系统调用。
18. 进程初建时处于就绪态,运行时因为时钟中断而处于就绪态,因等待事件或资源而处于阻塞态。
第2章进程管理解答一、单项选择题[解答]1.d。
.2.c。
进程的实体由PCB、程序与数据3部分组成。
3.b。
4.b。
允许3个进程同时进入互斥段的互斥信号量初值设为3。
5.d。
并发进程之间可能存在同步与互斥关系,也可能不存在任何关系。
6.a。
7.c。
由于互斥信号量的初值是1,则极端情况是一个进程访问临界资源而其余N-1个进程处于等待状态,即信号量的值为-(N-1)8.d。
当资源总数为4,并发进程为2,每个进程的最大需求是3时,可能够出现每个进程都占用2个资源而又申请第3个资源的死锁状态。
9.a。
先来先服务、响应比高者优先和均衡调度算法都属于作业调度算法。
10.b。
进程从执行态变成就绪态通常有两种情况:(1)分时操作系统下时间片到;(2)剥夺式进程调度方式下有更高优先级的进程进入就绪状态。
11.b。
12.c。
13.d。
如果存在就绪进程且处理机空闲时,进程调度程序就必然选中一个就绪进程使之投入运行;所以d错误。
14.d。
a~c概念都不完全。
15.d。
a~c都会引进操作系统选择新进程运行,仅d不会。
16.a 17. a 18。
d 19。
d 20。
b 21。
a 22。
d 23。
d 24。
a 25.b 26.c 27。
b 28。
d 29。
c 30。
B二、填空题[解答]1.线性表链接表(或队列) 2.删除剥夺3.因为PCB是进程存在的唯一标志,故填PCB 4.资源竞、进程推进顺序不当5.非剥夺条件逐次请求条件环路条件 6.就绪运行7.进程中访问临界资源的那段程序代码8.当出现死琐的极端情况时,处于等待的进程数为n,故填n9.可用资源的数目,因请求该资源而被阻塞的进程数目10.剥夺式调度总是将优先级高的进程(不包括等待队列上的进程)投入运行,故填“剥夺式”11.P V12.当信号量知小于零时,其绝对值为被阻塞的进程个数,故填413.互斥、同步、条件变量14. —2~2 15.临界区(或互斥段) 16.程序数据 PCB. 17.银行家算法 18.同步 19.运行态进程调度 20.创建消亡21.资源分配独立运行调度 22.临界区 P操作 V操作23.引起进程调度的原因进程调度算法的选择就绪队列的组织.三、问答题1.操作系统中为什么要引入进程的概念?为了实现并发进程间的合作和协调工作,以及保证系统的安全,操作系统在进程管理方面应做哪些工作?[解答]在多道程序环境下,程序的并发执行代替了程序的顺序执行,并发执行破坏了程序的封闭性和可再现性,使得程序和计算不再一一对应。
操作系统进程调度习题1. 介绍本文档旨在提供关于操作系统进程调度的详细信息和一些相关习题,以帮助读者更好地理解该主题。
2. 进程调度概述2.1 进程定义及特点- 定义:进程是计算机中正在执行或等待被执行的程序。
- 特点:并发性、独立性、异步性和动态性。
2.2 调度策略分类与选择因素- 分类:a) 非抢占式(非剥夺)调度策略;b) 抢占式(剥夺)调度策略。
- 常见选择因素:a) CPU利用率;b) 吞吐量;c) 响应时间;3. 先来先服务 (FCFS)描述: 按照作业到达顺序进行处理。
如果一个新任务到达时有其他任务正在运行,则它将排队等待直至前面所有任务完成为止。
4.最短作业优先(SJF)描述: 在就绪队列中根据每个作业所需CPU时间长度排序,并按从小到大依次分配给可用资源辅助其尽快完成.5.轮转法(RR)描述: 将每个进程分配一个时间片,当该时间片用完后,将当前正在执行的进程放到队列末尾,并选择下一个就绪状态的进程进行调度。
6.优先级调度算法(PSA)描述:根据任务的重要性或紧急情况为不同作业赋予不同优先级。
具有最高优先级的作业首次获得CPU资源。
7. 多级反馈队列(MFQ)描述:按照多个等待队列和预设规则对任务进行分类并设置相应权值以实现动态变化处理策略。
8. 习题1) 解释什么是操作系统中的“抢占式”与“非抢占式”调度?2) 至少三种常见选择因素来衡量一种好的调度策略。
...9. 法律名词及注释- 版权(Copyright): 指作者担保其原创文学、艺术、音像制品等享受由国家授权给他人复制使用这些成果时所必须支付报酬费用.- 许可证(License): 是指在特定条件下允许某人从事某项活动而无需承担任何责任.10. 结束语- 本文档涉及附件,请参阅相关文件。
- 本文所涉及的法律名词及注释已在上述章节中提供。
第二、三章进程管理习题一、选择题1.从静态角度上看,进程是有A、B、C三部分组成,其中C是进程存在的唯一标志。
当几个进程共享A时,A应当是可重入代码。
A,B,C:(1)JCB;(2)PCB;(3)DCB;(4)FCB;(5)程序段;(6)数据段;(7)I/O缓冲区。
2.进程的三个基本状态是A、B、C。
由A到B是由进程调度所引起;由B到C是正在执行的进程发生了某事件,使之无法执行而暂停。
A,B,C:(1)挂起;(2)阻塞;(3)就绪;(4)执行。
3.产生死锁的四个必要条件是互斥条件、A、不剥夺条件和B。
A:(1)请求和阻塞条件;(2)请求和释放条件;(3)请求和保持(占有且等待)条件;(4)释放和阻塞条件;(5)释放和请求条件。
B:(1)线性增长条件;(2)环路条件;(3)无序释放条件;(4)有序释放条件;(5)无序请求条件。
4.A是一种只能由P和V操作所改变的整型变量,A可用于实现进程的B和C,B是排它性地访问临界资源。
A:(1)控制变量;(2)锁;(3)整型信号量;(4)记录型号量。
B,C:(1)同步;(2)通信;(3)调度;(4)互斥。
5.对于记录型信号量,在执行一次P操作时,信号量的值应当A;当其值为B时,进程应阻塞。
在执行V操作时,信号量的值应当C;当其值为D时,应唤醒阻塞队列中的进程。
A,C:(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值。
B,D:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0。
6.我们如果为每一个作业只建立一个进程,则为了照顾短作业用户,应采用A,为照顾紧急作业的用户,应采用B,而能使短作业、长作业及交互作业用户都比较满意时,应采用C。
A,B,C:(1)FCFS调度算法;(2)短作业优先调度算法;(3)时间片轮转法;(4)多级反馈队列调度算法;(5)基于优先权的剥夺调度算法。
二、填空题1. 在单用户单任务环境下,用户独占全机,此时机内资源的状态,只能由运行程序的操作加以改变,此时的程序执行具有性和性。
进程部分的习题1. 在公共汽车上,司机进程和售票员进程各司其职。
司机在正常行车中售票员售票,两者之间没有制约关系,可以任意并发。
但是在其他环节,司机和售票员进程之间存在着如下同步关系:1)司机停车后等待售票员关门后才能启动车辆。
2)售票员售完票后,等待司机到站停车,停车后才能打开车门。
var door,stop:semaphore:=0,0beginparbegin司机进程:beginwhile(true){wait(door); //等待售票员发送关门信息启动车辆;正常行车;到站停车;signal(stop);//给售票员发送到站信息}end;售票员进程:beginwhile(true){关车门;signal(door); //给司机发送关门信息售票;wait(stop);//等待司机发送到站信息开车门;上下乘客;}endparendend.2.某寺庙,有小和尚,老和尚若干。
有一水缸,由小和尚提水入缸供老和尚饮用。
水缸可容10桶水,水取自同一井中。
水井径窄,每次中能容下一个桶取水。
水桶总数为3个。
每人一次取缸水仅为1桶,且不可同时进行。
试用记录型信号量给出有关取水、入水的算法描述。
根据题意,定义信号量及其初值如下:(1)水桶为临界资源需互斥使用,定义信号量bucket,因有3个桶,故初值为3;(2)水井一次只能允许下一个桶取水,定义互斥信号量well,初值为1;(3)水缸一次只能允许一个人取水,定义互斥信号量jar,初始值为1;(4)empty和full用于小和尚和老和尚之间的同步制约关系。
因为缸能存10桶水,所以empty初始值为10;开始时缸中没有水,full的初始值为0。
semaphore bucket=3,jar=1,full=0,empty=10,well=1; young_monk(){ /*小和尚入水算法*/while(1){wait(empty);wait (bucket);wait (well);从水井中打水;signal(well);wait (jar);倒入水缸;signal (jar);signal (bucket);signal (full);}}old_monk(){ /*老和尚取水算法*/while(1){wait(full);wait (bucket);wait (jar);从缸中取水;signal (jar);signal (bucket);signal (empty);从桶中倒入饮用;}}3.设有3个进程A、B、C,其中A与B构成一对生产者与消费者(A为生产者,B为消费者),共享一个由n个缓冲区组成的缓冲池;B与C也构成一对生产者与消费者(此时B为生产者,C为消费者),共享另一个由m个缓冲区组成的缓冲池。
用信号量机制协调它们的同步问题。
Semaphore full1 = 0, full2 = 0, empty1 = n, empty2 = m, mutex1 = 1, mutex2 = 1;int in1 = 0, out1 = 0, in2 = 0, out2 = 0;Buffer buffer1[n], buffer2[m];A( ){while(true){to produce an item;wait(empty1);wait(mutex1);把产品放入buffer1[in1];in1 = (in1+1) mod n;signal(mutex1);signal(full1);}}B( ){while(true){wait(full1);wait(mutex1);从buffer1[out1]获得产品;out1 = (out1+1) mod n;signal(mutex1);signal(empty1);………wait(empty2);wait(mutex2);把产品放入buffer2[in2];in2 = (in2+1) mod m;signal(mutex2)signal(full2);}}C( ){while(true){wait(full2);wait(mutex2);从buffer2[out2]获得产品;out2 = (out2+1) mod m;signal(mutex2);signal(empty2);}}4.理发店里有一位理发师,一把理发椅和n把供等候理发顾客坐的椅子。
如果没有顾客,理发师便在理发椅上睡觉。
当一个顾客到来时,他必须先叫醒理发师。
如果理发师正在理发时又有顾客来到,则如果有空椅子可坐,他们就坐下来等;如果没有空椅子,他就离开。
用信号量机制来描述他们的行为。
Semaphore max=n+1, next=1, ready=0, finished=0;barber( ){while(true){wait(ready);给一个顾客理发;signal(finished);signal(next);}}ustomer( ){while(true){wait(max);wait(next);让理发师理发;wait(finished);signal(max);离开;}}5.三个进程P1,P2,P3互斥使用一个包含N(N>0)个单元的缓冲区。
P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。
请用信号量机制实现这3个进程的同步与互斥活动。
Semaphore mutex=1, empty = N, even = 0, odd = 0;P1(){while(true){int n;n = produce();wait(empty)wait(mutex);put()signal(mutex)if n mod 2 == 0elsesignal(odd) }}P2(){while(true){wait(odd);wait(mutex);getodd();signal(mutex);signal(empty);countodd();}}P3(){while(true){wait(even);wait(mutex);geteven();signal(mutex);signal(empty);counteven();}}6.某工厂有两个生产车间和一个装配车间,两个生产车间分别生产A,B两种零件,装配车间的任务是把A,B两种零件组装成产品。
两个生产车间每生产一个零件后都要分别把它们送到装配车间的货架F1,F2上。
F1存放A,F2存放B,F1和F2的容量均为10.装配工人每次从货架上取一个A零件和一个B零件后组装成产品。
请用信号量机制来协调它们的过程。
Semaphore mutex1=1, mutex2=1, full1=0, full2=0, empty1=10, empty2=10;int in1 = in2 = out1 = out2 = 0;Buffer F1[10], F2[10]P1(){while(true){produce an item of A;wait(empty1);wait(mutex1);put the item into F1[in1];in1++;signal(mutex1);signal(full1);}}P2(){while(true){produce an item of B;wait(empty2);wait(mutex2);put the item into F2[in2];in2++;signal(mutex2);signal(full2);}}P3(){while(true){wait(full1);wait(mutex1);get the item into F1[out1];out1++;signal(mutex1);signal(empty1);wait(full2);wait(mutex2);get the item into F2[out2];out2++;signal(mutex2);signal(empty2);组装产品}}7.某高校计算机系开设网络课并安排上机实习,假设机房共有2m台计算机,有2n名学生选该课程,其中m < n,并规定:1) 每两个学生组成一组,各占一台计算机,协同完成上机实习。
2) 只有两个学生到达可以组成一组,并且此时机房有空闲计算机时,机房管理员才让该组学生进入机房。
3) 上机实习由一名教师检查,检查完毕,一组学生同时离开机房。
试用信号量机制实现教师进程teacher(),机房管理员进程guard()和学生进程student_i()之间的同步关系。
Semaphore student= 0, enter = 0,computers= 2m, finished=0, exam = 0student_i(){signal(student);wait(enter);wait(computers);完成工作;signal(finished)wait(exam);检查完毕;signal(computers)离开;}guard( ){int i;for (i=0; i++; i<n){wait(computers);wait(computers);wait(student);wait(student);signal(enter);signal(enter);}}teacher(){int i;for (i=0; i++, i<n){wait(finished);wait(finished);检查两个学生的实习结果;signal(exam);signal(exam);}}8.桌上有一只盘子,每次只能放入一个水果。
爸爸专向盘子里放苹果,妈妈专向盘子里面放橘子,唯一的儿子专吃盘子中的橘子,唯一的女儿专吃盘子中的苹果。
仅当盘子空闲时,爸爸或妈妈才可向盘子里存放一个水果。
仅当盘子中有自己需要的水果时,儿子或女儿才可从盘子里取出一个水果。
把爸爸、妈妈、儿子、女儿看作4个进程,请用信号量机制进行管理,使得4个进程能正确地并发执行。
Semaphore plate=1,apple=0,orange=0Dad(){While(1){To prepare an apple;Wait (plate);To put the apple on the plate;Signal(plate);Signal(apple);}}Mom同dadSon (){While(1){Wait(orange);Wait(plate);To get an orange from the plate; Signal (plate);To eat the orange;}}Daughter同son。