1、下列几种关于进程的叙述,()最不符合操作系统对进程的理解。
- A:进程是在多程序环境中的完整程序
- B:进程可以由程序、数据和PCB描述
- C:线程(Thread)是一种特殊的进程
- D:进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单元
解析
进程是一个独立的运行单位,也是操作系统进行资源分配和调度的基本单位,它包括PCB、程序和数据以及执行栈区,仅仅说进程是在多程序环境下的完整程序是不合适的,因为程序是静态的,它以文件形式存放于计算机硬盘内,而进程是动态的。
答案:A
2、若一个进程实体由PCB、共享正文段、数据堆段和数据栈段组成,请指出下列C语言程序中的内容及相关数据结构各位于哪一段中。
Ⅰ. 全局赋值变量()
Ⅱ. 未赋值的局部变量()
Ⅲ. 函数调用实参传递值()
Ⅳ. 用malloc()要求动态分配的存储区()
Ⅴ. 常量值(如1995,“字符串”)()
Ⅵ. 进程的优先级()
- A:PCB
- B:正文段
- C:堆段
- D:栈段
解析
C语言编写的程序在使用内存时一般分为三个段,它们一般是正文段(即代码和赋值数据段)、数据堆段和数据栈段。二进制代码和常量存放在正文段,动态分配的存储区在数据堆段,临时使用的变量在数据栈段。因此,可以确定全局赋值变量在正文段赋值数据段,未赋值的局部变量和实参传递在栈段,动态内存分配在堆段,常量在正文段,进程的优先级只能在PCB内。
答案:B、D、D、C、B、A
3、在以下描述中,()并不是多线程系统的特长。
- A:利用线程并行地执行矩阵算乘法运算
- B:Web服务器利用线程响应HTTP请求
- C:键盘驱动程序为每个正在运行的应用配备一个线程,用以响应该应用的键盘输入
- D:基于GUI的调试程序用不同的线程分别处理用户输入、计算和跟踪等操作
解析
整个系统只有一个键盘,而且键盘输入是人的操作,速度比较慢,完全可以使用一个线程来处理整个系统的键盘输入。
答案:C
4、以下可能导致一个进程从运行态变为就绪态的事件是()。
- A:一次I/O操作结束
- B:运行进程需做I/O操作
- C:运行进程结束
- D:出现了比现在进程优先级更高的进程
解析
进程处于运行态时,它必须以获得所需的资源,在运行结束后就撤销。只有在时间片到或出现了比现在进程优先级更高的进程时才转变成就绪态。
选项A使进程从阻塞态到就绪态;
选项B使进程从运行态到阻塞态;
选项C使进程撤销。
答案:D
5、进程处于()时,它处于非阻塞态。
- A:等待从键盘输入数据
- B:等待协作进程的一个信号
- C:等待操作系统分配CPU时间
- D:等待网络数据进入内存
解析
进程有三种基本状态,处于阻塞态的进程由于某个事件不满足而等待。这样的事件一般是I/O操作,如键盘等,或是因互斥或同步数据引起的等待,如等待信号或等待进入互斥临界区代码段等,等待网络数据进入内存是为了进程同步。而等待CPU调度的进程处于就绪态,只有它是非阻塞态。
答案:C
6、一个进程被唤醒,意味着()。
- A:该进程可以重新竞争CPU
- B:优先级变大
- C:PCB移动到就绪队列之首
- D:进程变为运行态
解析
当一个进程被唤醒时,这个进程就进入了就绪态,等待进程调度而占有CPU运行。进程被唤醒在某种情形下优先级可以增大,但一般不会变为最大,而由固定的算法来计算。也不会在唤醒后位于就绪队列的队首,就绪队列是按照一定的规则赋予其位置的,如先来先服务,或者高优先级优先,或者短进程优先等,更不能直接占有处理器运行。
答案:A
7、 下面关于用于级线程和内核级线程的描述中,错误的是()。
- A:采用轮转调度算法,进程中设置内核级线程和用户级线程的效果完全不同
- B:跨进程的用户级线程调度也不需要内核参与,控制简单
- C:用户级线程可以在任何操作系统中运行
- D:若系统中只有用户级线程,则处理机的调度对象是进程
解析
答案:B
8、下列选项中,降低进程优先级的合理时机是()。
- A:进程时间片用完
- B:进程刚完成I/O操作,进入就绪队列
- C:进程长期处于就绪队列
- D:进程从就绪态转为运行态
解析
A中进程时间片用完,可降低其优先级以让其他进程被调度进入执行状态。
B中进程刚完成I/O,进入就绪队列等待被处理机调度,为了让其尽快处理I/O结果,因此应提高优先级。
C中进程长期处于就绪队列,为不至于产生饥饿现象,也应适当提高优先级。
D中进程的优先级不应该在此时降低,而应在时间片用完后再降低。
答案:A
9、在支持多线程的系统中,进程P创建的若干线程不能共享的是()。
- A:进程P的代码段
- B:进程P中打开的文件
- C:进程P的全局变量
- D:进程P中某线程的栈指针
解析
进程中的线程共享进程内的全部资源,但进程中某线程的栈指针对其他线程是透明的,不能与其他线程共享。
答案:D
10、 下列选项中,会导致进程从执行态变为就绪态的事件是()。
- A:执行P(wait)操作
- B:申请内存失败
- C:启动I/O设备
- D:被高优先级进程抢占
解析
P(wait)操作表示进程请求某一资源,A、B和C都因为请求某一资源会进入阻塞态,而D只是被剥夺了处理机资源,进入就绪态,一旦得到处理机即可运行。