1、全国自考操作系统(进程管理)模拟试卷 3 及答案与解析一、单项选择题1 在批处理系统中,周转时间是_。(A)作业运行时间(B)作业等待时间和运行时间之和(C)作业的相对等待时间(D)作业获得时间片的时间2 并发进程指的是_进程。(A)可并行执行(B)可同时执行(C)可先后执行(D)可配合执行3 进程从运行状态变为阻塞状态的原因是_。(A)输入或输出事件发生(B)时间片到(C)输入或输出事件完成(D)某个进程被唤醒4 _不是引起操作系统选择新进程的直接原因。(A)运行进程的时间片用完(B)运行进程出现致命错误(C)运行进程要等待某一事件发生(D)有新进程进入就绪状态5 操作系统中执行频度最高的调
2、度程序是_。(A)高级调度(B)中级调度(C)低级调度(D)多级调度6 在单 CPU 的操作系统中,当前共有 4 个进程,如 UNIX 的核心函数 sched 正在将盘交换区的一个进程调入内存,系统中至少有_个进程处于运行(SRUN)状态。(A)1(B) 2(C) 3(D)47 一个进程被强迫剥夺处理机后,它将处于_。(A)执行态(B)就绪态(C)阻塞态(D)不能确定8 在 UNIX 系统中,一个在盘交换区上处于睡眠的进程,它_。(A)能被调度执行(B)能被换入内存(C)能执行 IO 中断处理程序(D)能接收到信号9 两个并发的父子进程之间可通过它们的_传递信息。(A)全局变量(B)动态变量(
3、C)共享存储区(D)工作区二、填空题10 如果时间片相当大,则时间片轮转调度算法就接近于_。11 进程在其整个生存期间可处于不同的状态,其中最基本的三种状态为_、_、_。12 操作系统是通过_结构对进程进行控制和管理的。13 在单 CPU 的操作系统中,当前共有 4 个进程,其中 1 个进程在核心态下执行,最多有_个进程处于核心态。三、简答题14 作业调度的主要功能是什么?15 进程调度的主要功能是什么?16 UNIX 对进程优先数的处理有哪两种方法?各针对哪一类进程,用在什么情况下?17 叙述 UNIX 进程的对换调度算法。18 用 fork 创建新进程的主要步骤是什么?19 UNIX 进程
4、图像改换的 exec 系列的系统调用的主要工作是什么 ?四、综合题20 编一个 UNIX 平台上的 C 程序。父进程创建一个子进程后,显示子进程标识数并等待子进程终止,父进程在子进程终止后显示子进程的返回状态。子进程通过映像改换,执行命令,将当前目录中 core 文件和以bak 结尾的文件全部删除。如映像改换失败,子进程返回状态值为 2。五、判断题21 一个进程对应于一个程序。( )(A)正确(B)错误22 若无进程处于执行状态,则就绪队列为空。( )(A)正确(B)错误23 在动态优先级调度中,进程执行的时间越少,其优先级越高。( )(A)正确(B)错误24 当用户态进程调用标准 IO 库程
5、序时,就进入了核心态。( )(A)正确(B)错误25 在 UNIX 系统中,进程可以通过调用 sleep 程序强迫放弃处理机。( )(A)正确(B)错误26 UNIX 内核可以用系统调用 fork 创建子进程。( )(A)正确(B)错误全国自考操作系统(进程管理)模拟试卷 3 答案与解析一、单项选择题1 【正确答案】 B【知识模块】 进程管理2 【正确答案】 B【试题解析】 并发是指在某一时间间隔内计算机系统内同时存在着多个程序活动。并发与并行是有区别的。并行是指在同一时刻计算机内有多个进程都在执行,这只有在多 CPU 的系统中才能实现。并发是从宏观上看多个进程的运行活动,这些进程在串行地、交
6、错地运行,由操作系统负责这些进程之间的运行切换,人们从外部宏观上观察,同时有多个进程都在系统中运行。【知识模块】 进程管理3 【正确答案】 A【知识模块】 进程管理4 【正确答案】 D【知识模块】 进程管理5 【正确答案】 C【知识模块】 进程管理6 【正确答案】 B【试题解析】 一个是执行 sched 程序的 0#进程,另一个是被调入内存的进程,因为只有处于 SRUN 状态的进程才会被调入内存,故系统中至少有 2 个进程处于运行态。【知识模块】 进程管理7 【正确答案】 B【试题解析】 一个进程被强迫剥夺处理机,说明它本身在逻辑上是可执行的,故它仍处于就绪状态。【知识模块】 进程管理8 【正
7、确答案】 D【知识模块】 进程管理9 【正确答案】 C【知识模块】 进程管理二、填空题10 【正确答案】 BCBS 算法【知识模块】 进程管理11 【正确答案】 执行(running) 状态、就绪(ready)状态、阻塞状态(或封锁、睡眠状态)【知识模块】 进程管理12 【正确答案】 PCB(进程控制块 )【知识模块】 进程管理13 【正确答案】 4【试题解析】 1 个进程在核心态下执行,其他 3 个不执行的进程也处于核心态,因为即使用户进程在被剥夺处理机后也一定处于核心态。【知识模块】 进程管理三、简答题14 【正确答案】 作业调度的主要功能是:(1)记录系统中各个作业的情况;(2)按照某种
8、调度算法从后备作业队列中挑选作业;(3)为选中的作业分配内存和外设等资源;(4)为选中的作业建立相应的进程;(5)作业结束后进行善后处理工作。【知识模块】 进程管理15 【正确答案】 进程调度的主要功能是:(1)保存当前运行进程的现场;(2)在就绪进程中选择一个在内存且进程优先级最高的进程,以使其占用处理机;(3)为选中的进程恢复现场。【知识模块】 进程管理16 【正确答案】 UNIX 对进程优先数的处理有优先数的计算和优先数的设置两种方法。对用户态的进程,内核程序在适当时机用公式计算进程的优先数。正在核心态运行的进程,只有当它因等待系统资源等原因进入睡眠状态时,系统才根据等待事件的轻重缓急程
9、度分配给其一个相应的优先数。只有当它被唤醒之后,才以设置的优先数参与竞争处理机,并在核心态下继续运行下去。【知识模块】 进程管理17 【正确答案】 进程映像的换入算法是找出在盘交换区的就绪进程(SLOAD 为 0),按它们在外存驻留时间 p_time 从长到短的次序逐个将它们换人内存,直至全部调入或内存无足够空闲区为止。有的系统在调入进程的次序上除了考虑进程在交换区驻留时间外,还要考虑进程的大小和优先数的因素;进程优先数小,尺寸小的也优先换人内存。在换入过程中如发现内存无足够的空间,则要将内存中的进程换出,以便为要换入的进程腾出空间。进程映像的换出算法是考虑换出处于睡眠或被跟踪的进程,最后是在
10、内存驻留时间最长的进程,包括就绪状态的进程,但 p_flag 中包含 SSYS 或 SLOCK 位的进程不能换出。考虑换出最后一类进程时,要求换入进程在盘交换区驻留时间大于一定的时间,如 3 秒,换出进程在内存驻留时间大于一定的时间,如 2 秒。【知识模块】 进程管理18 【正确答案】 用 fork 创建新进程的主要步骤如下。(1)为新进程分配唯一的进程标识数。接着为新进程分配进程控制块的空间,在进程表中加入新项。(2)为新进程分配进程各部分映像所需的内存空间,包括程序、数据和用户栈。如新进程共享已存在内存空间,就建立适当的链接信息。(3)初始化进程控制块,如进程标识数、父进程标识数、程序计数
11、器、系统栈指针、进程的状态等,根据进程的性质或默认值初始化进程的控制信息。进程的运行状态一般初始化为就绪状态。(4)子进程复制父进程扩充控制块。(5)子进程复制父进程的数据区、核心栈和用户栈。【知识模块】 进程管理19 【正确答案】 exec 的调用进程用一个可执行文件中的程序和数据取代当前正在运行的程序和数据,从而使主调进程的映像改换成新的映像,从而完成新的任务。【知识模块】 进程管理四、综合题20 【正确答案】 在程序清单 14-1 的映像改换语句行中,由于要执行的命令参数中含有 Shell 元字符,就要使 exec 通过标准 Shen 来执行,其中参数-c 指明要把下一个参数按整个命令行
12、看待。程序清单 14-1:fork c#includestdi0h#includestlib h#includeunistdhmain()int pid,status=0 ;if(pid=fork()printf(“Child process Id=dn“,pid);wait(status);printf(“Status=dn“ ,status);elseexecl(“binsh“,“sh“ , “-c“,“binrm core*bak“,(char*)0);printf(“图像改换失败!n“);exit(2);。【知识模块】 进程管理五、判断题21 【正确答案】 B【试题解析】 “进程”与“
13、程序”是不同概念,程序是静态的概念,进程是动态的概念。一个程序在执行时可以创建多个进程,每一进程也可创建多个子进程。【知识模块】 进程管理22 【正确答案】 A【知识模块】 进程管理23 【正确答案】 A【知识模块】 进程管理24 【正确答案】 B【试题解析】 标准 IO 库主要通过用户态空间的自动缓冲机构以及数据类型转化和格式化的 IO,向程序员提供效率高、功能强和可移植的文件访问或字符串处理功能。标准 IO 库是由用户或软件开发商用普通程序的目标代码生成的,运行在用户态。完成一次标准 IO 库程序调用的功能不一定需要核心的支持,只有相关的库程序需要进行系统调用时,才会进入核心态。【知识模块】 进程管理25 【正确答案】 B【试题解析】 调用 sleep 程序的进程是自愿放弃处理机的。【知识模块】 进程管理26 【正确答案】 B【试题解析】 fork 是系统调用,只能由进程在用户态下调用。即使内核中也有与系统调用同名的函数,但也是不相同的。【知识模块】 进程管理