当前位置:
文档之家› 2016年考研核心题型—【计算机操作系统】【第2章 进程管理】
2016年考研核心题型—【计算机操作系统】【第2章 进程管理】
3. 在支持多线程的系统中,进程 P 创建的若干个线程不能共享的是( )。 A.进程 P 的代码段 B.进程 P 中打开的文件 C.进程 P 的全局变量 D.进程 P 中某线程的栈指针 【2011 年统考——第 25 题】 【考查内容】进程中的线程共享资源。 【解析】属于同一个进程的多个线程可以共享进程地址空间、全局变量以及进程的代 码段等。但是线程的局部变量、寄存器值、栈等信息不能被其他线程所共享。故而,D 答 案正确。 【参考答案】D 4. 有两个并发执行的进程 P1 和 P2,共享初值为 1 的变量 x。P1 对 x 加 1,P2 对 x 减 1。加 1 和 减 1 操作的指令序列分别如下所示。 //加 1 操作 //减 1 操作 load R1, x //取 x 到寄存器 R1 中 load R2,x inc R1 dec R2 store x, R1 //将 R1 的内容存入 x store x, R2 两个操作完成后,x 的值( )。 A. 可能为-1 或 3 B. 只能为 1 C. 可能为 0、1 或 2 D. 可能为-1、0、1 或 2 【2011 年统考——第 32 题】
【2013 年——广东工业大学】 【考查内容】进程创建原语。 【解析】原语是指若干条机器指令构成的并用以完成特定功能的一段程序,这段程序 构成了“原子操作”过程,在执行期间是不可分割的。要么全都完成,要么全都不做。许多系 统调用就是原语。 显然,A 答案把原语描述为一条指令,是不正确的。 【参考答案】A
【2010 年统考——第 方资料,必追究法律责任
13
2016 年考研核心考点命题思路解密
操作系统部分
梦享团队主编
【解析】 进程处于临界区, 正在执行访问临界资源的代码, 仍然可能引起处理机调度。 比如临界资源为我们常见的打印机等慢速设备。 为了提高系统的性能, 可进行处理机调度。 故而,选择 C 答案。 【参考答案】C 3. 若一个用户进程通过 read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的 叙述中, 正确的是( )。 Ⅰ.若该文件的数据不在内存,则该进程进入睡 眠等待状态 Ⅱ.请求 read 系统调用会导致 CPU 从用户态切换到核心态 Ⅲ.read 系统调用的参数应包含文件的名称 A. 仅Ⅰ、Ⅱ B. 仅Ⅰ、Ⅲ C. 仅Ⅱ、Ⅲ D. Ⅰ、Ⅱ和Ⅲ 【2012 年统考——第 28 题】 【考查内容】read 系统调用。 【解析】对于 I,当要访问的数据在磁盘上而为调入内存,产生缺页中断,进程由运行 态转入阻塞态。当所请求的数据都调入内存以后,进程被唤醒,继续执行。 对于Ⅱ,我们常说 I/O 操作会用到系统调用,同理,read 系统调用通过内陷使得 CPU 从用户态转入核心态执行,获得操作系统提供的服务。 对于Ⅲ,read 要求用户提供文件描述符 fd、缓冲区首地址 buff、传送的字节数 n 三个 参数,而不使用文件名作为参数。read 通过这三个参数,完成一个功能:从文件描述符 fd 中读入 n 个字节,并把这些字节传送到以 buff 为首地址的缓冲区内。 Open 系统调用用于打开文件,使用参数为文件的路径名和文件名。 【参考答案】A 下列关于进程和线程的叙述中,正确的是( )。 A. 不管系统是否支持线程,进程都是资源分配的基本单位 B. 线程是资源分配的基本单位,进程是调度的基本单位 C. 系统级线程和用户级线程的切换都需要内核的支持 D. 同一进程中的各个线程拥有各自不同的地址空间 【2012 年统考——第 31 题】 【考查内容】线程与进程的区别与联系。 【解析】不管操作系统是否引入线程,进程都是资源分配的基本单位。不同的是,在 引入线程的操作系统中,线程取代进程成为独立调度的基本单位。所以,A 正确。 用户级线程运行在用户空间,操作系统无法感知,用户线程间的切换不需要内核的支 持。故而,C 选项错误。同一个进程的各个线程可以共享进程的地址空间,所以 D 答案错 误。 【参考答案】A 4.
16.2 同步与互斥
本考点主要包括:1、进程同步的基本概念;2、实现临界区互斥的基本办法;3、信号
我方慎重声明,各盈利机构若采用我方资料,必追究法律责任
16
2016 年考研核心考点命题思路解密
操作系统部分
梦享团队主编
量机制和管程;4、经典同步问题。本考点是操作系统的核心内容之一,408 统考每年都会 出一道大题,自主命题高校也喜欢对该考点进行考查 PV 算法。本考点有三个命题点:1、 资源的信号量表示方法;2、临界区和临界资源的访问;3、PV 算法(本章重点,操作系统 重点考查内容) 。本考点中,PV 算法一直是很多同学比较头痛的问题,为此梦享团队提出 一种新的解 PV 算法的“PV 五部曲”,请同学们务必掌握。 1. 设与某资源关联的信号量初值为 3, 当前值为 1。 若 M 表示该资源的可用个数, N 表 示等待该资源的进程数,则 M、N 分别是( )。 A. 0、1 B. 1、0 C. 1、2 D. 2、0 【2010 年统考——第 29 题】 【考查内容】资源的信号量表示方法。 【解析】与资源相关的信号量的初值为 3,表示初始状态下资源可用数目为 3。信号量 当前值为 1,表示有若干进程总共执行了两次 P 操作,系统可用资源数目为 1,当前系统并 没有进程因为等待该资源而阻塞。故而,该资源可用个数 M 为 1,等待资源的进程数 N 为 0,选择 B 答案。 【参考答案】B 2. 进程 P0 和 P1 的共享变量定义及其初值为: boolean flag[2]; int turn=0; flag[0]=FALSE; flag[1]=FALSE; 若进程 P0 和 P1 访问临界资源的类 C 伪代码实现如下: void P0() { while(TRUE) { flag[0]=TRUE; turn=1; while(flag[1]&&(turn==1)); 临界区 ; flag[0]=FALSE; } } }
我方慎重声明,各盈利机构若采用我方资料,必追究法律责任
15
2016 年考研核心考点命题思路解密
7.
操作系统部分
梦享团队主编
在下列叙述中,不正确的是( )。 A. 进程被撤销时,只需要释放其 PCB 就可以了,因为 PCB 是进程存在的唯一标志 B. 进程的互斥和同步能用 PV 原语来实现 C. 用户程序中执行系统调用命令时,处理机的状态字将发生改变 D. 设备独立性是指用户在编程时,所使用的设备与实际设备无关 【2013 年——广东工业大学】 【考查内容】进程控制块 PCB、原语、系统调用和设备独立性。本题综合性很强,很 具有代表性。 【解析】 进程由程序、 数据和 PCB 三个部分组成。 其中, PCB 是进程存在的唯一标识, 系统是根据 PCB 来感知进程的存在的。PCB 包括进程标示符、处理机状态信息、进程调度 信息以及其他进程控制信息(如资源清单、链接指针等)。 撤销进程不仅要释放 PCB 结构,也要释放它所占有的所有资源;而且,当一个祖先进 程撤消某个子进程时,还需要审查该子进程是否还有自己的子孙进程,若有的话,还需撤 消某个子进程的 PCB 结构和释放它们所占有的资源。 【参考答案】A 8. 下面关于进程创建原语的叙述中,错误的是( A. 原语是一条指令,该指令完成一个指定的功能 B. 原语是一组机器指令组成的程序段 C. 原语在执行过程中要屏蔽中断 D. 原语工作在系统核心态 )。
操作系统部分
梦享团队主编
则并发执行进程 P0 和 P1 时产生的情形是( )。 A. 不能保证进程互斥进入临界区,会出现 “ 饥饿 ” 现象 B. 不能保证进程互斥进入临界区,不会出现 “ 饥 饿 ” 现 象 C. 能保证进程互斥进入临界区,会出现“ 饥饿 ” 现象 D. 能保证进程互斥进入临界区,不会出现 “ 饥饿 ” 现象 【2010 年统考——第 27 题】 【考查内容】Peterson 算法。 【解析】为了防止两个进程进入临界区无限期等待,Peterson 算法添加了信号量 turn, 用来指示不允许进入临界区的进程编号。 每个进程在先设置自己标志后, 在设置 turn 标志, 表示不允许另一个进程进入。与此同时,检测另一个进程状态标志和不允许进入标志,保 证同时要求进入临界区的两个进程只能有一个进入临界区。 Peterson 算法的优点是,利用 flag 标志解决了临界资源互斥访问的问题,并利用 turn 来解决 “饥饿”现象。故而,能保证进程互斥进入临界区,不会出现“饥饿现象”。很显然, 本题选择 D 答案。 【参考答案】D
1 运行 3 2 就绪 4 阻塞
图 16.1 A. B. C. D. 就绪进程被调度 运行进程执行了 P 操作 发生了阻塞进程等待的事件 运行进程时间片到了 【2010 年——中山大学】 【考查内容】引起进程状态转换的典型事件(原因)。 【解析】进程从就绪状态转入运行态,是因为进程调度程序选中该进程调度执行,分 配给它处理机(对应于图中的弧线 1)。 在采用时间片轮转算法来进行进程调度的系统中,当运行进程时间片到了,该进程由 运行状态转入就绪状态。相应地,进程调度算法从就绪队列的队头摘下一个进程,将 CPU 分配给该进程(对应于图中的弧线 2)。 正在运行的进程执行了 P 操作,将自己阻塞起来,等待某一事件的发生,进程的状态 也相应地从运行态转入阻塞态(对应于图中的弧线 3)。 当阻塞进程等待的事件发生,如 I/O 完成等,此时进程被唤醒,从阻塞态转入就绪态, 等待处理机的调度执行(对应于图中的饿弧线 4)。 【参考答案】C
我方慎重声明,各盈利机构若采用我方资料,必追究法律责任
14
2016 年考研核心考点命题思路解密
5.
操作系统部分
梦享团队主编
一个进程的读磁盘操作完成后,操作系统针对该进程必做的是( )。 A. 修改进程状态为就绪态 B. 降低进程优先级 C. 为进程分配用户内存空间 D. 增加进程的时间片大小 【2014 年统考——第 26 题】 【考查内容】进程状态的转换。 【解析】磁盘是我们常见的外设之一,读磁盘操作属于我们常见的 I/O 操作类型。进 程在申请磁盘 I/O 操作时,因为要等待自己 I/O 操作完成才会利用到处理机,所以可以调用 阻塞原语将自己阻塞起来,让出 CPU 给其他进程使用。 磁盘 I/O 操作完成之后,进程由阻塞状态转换成就绪状态,等待 CPU 调度执行。 【参考答案】A 6. 某系统的进程状态转换如图 16.1 所示,图中 1、2、3、4 分别表示引起状态转换的不同 原因,原因 4 表示( )。