知识点:
1进程概念 2进程控制 3进程间通信 4线程 5进程同步 6CPU调度 7死锁
1.关于五状态进程模型,错误的说法是: D
A 就绪状态的进程,只要系统分配CPU给它,就可以进入运行状态。
B 如果计算机系统只有1个CPU,那么处于运行状态的进程最多只能有1个。
C 可能会出现在内存中的用户进程都在等待状态的可能,
D 设置终止状态的目的在于进程在这个状态会完成最后要执行的代码。
2.下面说法中错误的是: C
A 一个进程正在运行,时间片到了,其状态从运行变成就绪。
B 一个进程正在运行,需要用户从键盘输入一个数据,其状态会从运行变成等待。
C 当CPU空闲时,首先看是否有就绪状态的进程。如果没有,就将CPU分配给一个等待状态的进程。
D 一个正在运行的进程执行了一条除零操作,其状态从运行变成终止。
3.一个进程释放一个打印机可能导致另一个进程 D
A 从就绪状态变为运行状态。
B 从运行状态变为就绪状态。
C 从等待状态变为运行状态
D 从等待状态变为就绪状态
4.一个具有N个CPU的多处理器系统中,处于就绪状态、运行状态、等待状态的进程数量的最大值是 D
A N;1;N
B N*N;N;N*N
C 无具体限制;N;N*N
D 无具体限制;N;无具体限制
5.下面的论述中错误的是 C
A 进程控制块用于记录一个进程的管理信息。
B 一个进程的状态从运行变成就绪的时候,会在进程控制块中记录当前PC寄存器的值作为断点信息保存。
C 一个进程的ID会保存在存储其代码的文件中以防止丢失。
D 维护就绪进程队列的指针存储在这个进程的PCB中。
6.关于调度,下面的说法错误的是: C
A 长期调度会从进程池中将I/〇为主的进程和CPU为主的进程搭配,保证CPU和外设都可以高效利用。
B 把进程从内存中挂起到硬盘上使用的是中期调度
C 短期调度在进程等待的事件发生的时候选择这个进程把它从等待队列中放入就绪队列中。
D 长期调度的执行频率会低于短期调度。
7.下面的系统调用中,哪个是Linux的关于进程控制的系统调用? ABD
A fork
B wait
C createprocess
D exit
8.下面关于进程控制的论述,错误的是: AD
A Linux操作系统中所有的进程都有父进程。
B 在使用fork创建子进程的时候,子进程可以与父进程共享执行代码。
C 为了让子进程执行其他的代码,可以使用exec系统调用给子进程指定其他代码。
D 一个进程可以自己唤醒自己。
9.若一个进程A的代码由两条语句组成:“fork();fork();”,那么在进程A运行过程中,包括A在内,一共创建了几个进程? C
A 2
B 3
C 4
D 5
10.在一个子进程创建的时候,下面关于子进程的话哪一个可能是对的? ABC
A 子进程与父进程并发执行;
B 子进程可以调入新的执行代码;
C 子进程是父进程的副本;
11.下面哪个不是进程间通信的通信机制: D
A 管道通信
B 共享内存
C 消息的发送和接收
D wifi
12.下面的论述正确的是: C
A 采用消息传递机制的时候,消息的长度都是事先规定好的。
B 消息通信中,间接通信是指要指定一个进程专门负责中转消息。
C 进程间通信时从性能上讲,采用异步通信要优于采用同步通信。
D 几种通信机制中,消息传递的方式是最快的。
13.下面关于CPU调度发生时机的论述错误的是: D
A 程从运行状态离开时,会发生调度。
B 当有进程因为执行了除0操作而被迫中止时,会发生调度。
C 当有进程因为时间片到了而从运行状态变成就绪状态时,会发生调度。
D 当有进程从就绪变为运行状态后,会发生调度。
14.下面关于调度,论述正确的是: D
A 如果使用抢占式调度,那么可能一个正在运行的进程,会被剥夺CPU控制权,从运行状态进入等待状态。
B 实时系统中对于硬实时任务的调度可以采用非抢占式调度。
C 在设计调度算法时,CPU的利用率这个指标应该被放在第一位。
D 在交互式应用系统中设计调度算法时需要把响应时间作为重要的衡量指标。
15.下面的论点错误的是: C
A 进程是资源的拥有者。
B 线程是调度的单位。
C 同属于一个进程的多个线程之间在CPU上切换的开销大与多个进程的线程之间在CPU上切换的开销。
D 如果一个进程有多个线程,可以做到一个线程的阻塞不会导致整个进程阻塞。
16.一个进程P创建了两个线程T1和T2,下面的论述中哪个是错的 C
A T1可以共享P打开的文件。
B T2可以共享P的全局变量:
C T2可以共享T1的栈顶指针。
D T1可以共享P的代码段。
17.下面关于调度算法的论述中,正确的是: AC
A FCFS算法是一个非抢占式算法,
B 对于长进程来说,采用SJF算法和采用FCFS算法对其执行效率没有任何影响。
C 对于SJF算法,如果有一个很短的作业,在其他条件相同的情况下,抢占式SJF对其更有利。
D 有一个进程,其功能是从一个有120,0000,000个整型数的文件中读出每个数据,将这些数据进行平方计算后再将结果存储在另一个文件中。FCFS算法对这种进程更有利。
18.下面关于调度算法的论述中,正确的是: B
A 高响应比优先算法比时间片轮转算法更适合交互式应用。
B 在所有非优先级调度算法中都可以为进程加入优先权属性实现对调度算法的改造。
C 在多级队列调度中,批处理进程应该在前台处理。
D 在多级反馈队列调度算法中,长进程会被关照从而占用更多的CPU时间。
19.下面的描述中,错误的是: B
A 即便是相互独立的进程,也有可能因为需要共享资源而导致相互影响进程执行进度。
B 对于竞争条件,如果计算机系统中拥有多个CPU,那么就不会产生。
C 为了避免产生竞争条件,可以采用互斥使用临界区的方式来解决。
D 在解决竞争条件的过程中,我们想出来的办法不应该让进程等待进入临界区的时间无限延长。
20.下面关于临界区的论点哪个是正确的? BC
A 一个进程在临界区中工作时不能被中断。
B 如果一个进程在临界区中执行,其他任何进程都不允许进
C 入临界区。若临界区中没有进程在工作,则若有进程申请进入临界区,就应该让它进入。
D 一个进程可能会无限期等待进入临界区
21.关于信号量,下面的哪种描述是错误的: B
A 信号量上执行的wait和signal操作都是原子操作。
B 信号量的值为正数N的时候,在这个信号量上可以连续执行N+1次wait而不会阻塞执行wait的进程。
C 信号量的值为负数的时候,任何一个进程只要在这个信号量上执行wait操作就会立即被阻塞。
D 信号量的值为负数的时候,其绝对值表示有多少个进程在信号量的进程队列中等待被相关的signal操作唤醒。
22.下面的论述中错误的是: A
A 在计算机系统中有多个CPU的情况下可以用屏蔽中断的方法实现互斥。
B 通常只有操作系统的内核代码才使用屏蔽中断的方式实现互斥。
C 采用TestAndSet或者Swap硬件指令实现互斥的一个最大问题是忙等待。
D 忙等待所产生的问题在只有一个CPU的系统中尤为明显
23.对于生产者消费者问题,下面的哪个描述是错误的: D
A 为了保证生产者不能向满缓冲区中放商品,需要预先知道共享缓冲区的大小。
B 为了保证消费者不能从空缓冲区中取商品,需要同过某种方法对缓冲区中的产品进行计数。
C 缓冲区必须互斥,是因为多个生产者或者多个消费者在操作缓冲区的时候会发生竞争条件。
D 由于缓冲区必须互斥,因此需要单独为其设置一个信号量,初值为0。
24.下面关于死锁的论述,错误的是: C
A 如果系统中只有一个进程,那么就不会产生死锁。
B 资源分配图中有环也不见得有死锁,
C 如果系统中允许拥有资源的进程再去申请新的资源那么就一定有死锁发生。
D 如果系统中没有死锁,且已经拥有资源的进程都不再申请其他资源,那么就不会产生死锁。
25.系统某时刻资源分配图如图所示请判断是否发生死锁: B
A 有死锁。
B 无死锁。
C 不能确定。
26.系统中有两个进程P1和P2,运行过程中需要顺序申请两个独占资源R,全部使用完才释放掉。为保证两个进程可以成功运行完且不会死锁,R最少需要配置()个。 B
A 2
B 3
C 4
27.关于死锁预防,下面论述中错误的是: A
A 采用一次性将进程所需资源分配给进程的方法提升了资源的利用效率。
B CPU在被剥夺之后可以采用一定的方法恢复原来的状态,
C 要想预防死锁,只需要在设计系统时从根本上保证不出现发生死锁的四个必要条件之一就可以。
D 只要能设计出来进程对系统中资源访问的线性顺序,就可以保证系统中不会出现死锁。
28.下面关于死锁避免的论述,错误的是: B
A 如果进程进入非安全状态,死锁也不见得发生,
B 为了保证系统状态是安全的,需要找到现有系统中所有进程的所有安全序列。
C 银行家算法希望通过保证系统一直处于安全状态而避免死锁的发生。
D 银行家算法需要预知进程对资源的最大需求量。
29.下面的论述中,正确的是: B
A 死锁检测算法和用于死锁避免的银行家算法类似,都需要预先获知所有进程对于资源的所有需求。
B 在死锁检测算法结束后,没有被标记的进程就是处于死锁状态的进程。
C 为了恢复到没有死锁的状态,采用抢占进程资源让此进程回滚到占有资源之前的状态是一个系统开销很小的办法。
D 发现死锁之后,终止所有处于死锁的进程,之后需要再次执行死锁检测算法以检查是否还存在死锁。