1、第一章单选1. 关于操作系统的说法错误的是() A. 单道批处理系统内存中只能有一道作业,仅当该作业完成后,自动将下作业装入内存。 B. 多道批处理系统中用户可以直接干预作业的执行。 C. 实时系统必须能及时响应外部事件的请求,在规定的时间内完成对该事件的处理。 D. 分时系统向用户提供了人机交互的方便性,使多个用户可以通过不同的终端共享主机。 答案: B 解析: 本题考查了操作系统的基本类型。在多道批处理系统中,用户所提交的作
2、业都先存放在外存中并排成一个队列,该队列被称为“后备作业队列”。由操作系统的作业调度程序按一定策略从哪个后备作业队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源,用户是不可以直接干预作业的执行的。2. 操作系统的异步性是指() A. 程序的运行结果、运行次序以及每次运行的时间都不确定。 B. 程序的运行结果不确定。 C. 程序的运行次序不确定。 D. 程序多次运行的时间不确定 答案: A 解析: 本题考查了操作系
3、统的特征。操作系统具有并发、共享、虚拟和异步性特性。操作系统的异步性是指程序的运行结果、运行次序以及每次运行的时间都不确定。3. 不属于实时系统特点的是() A. 多路性 B. 独立性 C. 交互性 D. 调度性 答案: D 解析: 本题考查了实时系统的特点。实时系统的特点有多路性、独立性、及时性、交互性和可靠性。4. 不属于操作系统内核基本功能的是() A. 中断处理 B
4、. 时钟管理 C. 原语操作 D. 文件管理 答案: D 解析: 本题考查了操作系统内核功能。操作系统内核功能包括中断处理、时钟管理、原语操作等支撑功能和进程管理、存储器管理、设备管理等资源管理功能。5. 操作系统提供给应用程序的接口是() A. 中断 B. 时钟 C. 系统调用 D. 库函数 答案: C 解析: 本题
5、考查了系统调用。系统调用是一群预先定义好的模板,它们提供一条管道让应用程序或一般用户能由此得到核心程序的服务。6. 并发是指两个或两个以上的事件在同一()内发生。 A. 时间 B. 时刻 C. 时间间隔 D. 时钟周期 答案: C 解析: 本题考查了并发的定义。并发是指两个或多个事件在同一时间间隔内发生。7. 用户通过键盘或鼠标来中断现行程序属于() A. 人为设置中断 B
6、. 程序性事故 C. 外部事件 D. 硬件故障 答案: C 解析: 本题考查了引起中断的原因。引起中断的原因有人为设置中断;程序性事故;硬件故障;I/O设备;外部事件。用户通过键盘或鼠标来中断现行程序属于外部事件。人为设置中断是在程序中人为设置中断。程序性事故如计算中除号为0等。硬件故障如电源漏电等。8. 大部分计算机有两个时钟源,分别为() A. 实时时钟和OS时钟 B. RTC时钟和硬件时钟 C.
7、 CMOS时钟和系统时钟 D. 软件时钟和OS时钟 答案: A 解析: 本题考查了时钟。大部分PC中有两个时钟源,分别为实时时钟(RTC)和OS时钟。RTC时钟也称为CMOS时钟。9. 当CPU执行系统核心代码时,则称该进程处于()执行。 A. 用户态 B. 系统态 C. 就绪态 D. 阻塞态 答案: B 解析: 本题考查了系统态执行的定义。系统
8、空间是指含有一切系统核心代码的地址空间。当CPU执行系统核心代码时,则称该进程处于系统态执行。用户空间是指用户进程所处的地址空间。当CPU执行用户空间代码时,则称该进程在用户态执行。10. 下列关于批处理系统的说法,错误的是() A. 批处理系统分成单道批处理系统和多道批处理系统。 B. 多道程序系统就是多道批处理系统。 C. 批处理系统不允许多个用户与计算机直接交互。 D. 多道程序系统分成分时系统和多道批处理系统。 答案: B  
9、; 解析: 本题考查了批处理系统。操作系统的发展从时间顺序上经历了从无操作系统到单道批处理系统、多道程序系统(多道批处理系统、分时系统)的发展过程。押题精华中没有保留关于操作系统发展的内容,参考教材P22。11. 操作系统的三种基本类型为批处理系统、分时系统和() A. 多道程序系统 B. 实时系统 C. 微机操作系统 D. 分布式操作系统 答案: B 解析: 本题考查了操作系统的基本类型。操作系统的三种基本类型为批处理系统、分
10、时系统和实时系统。操作系统的发展从时间顺序上经历了从无操作系统到单道批处理系统、多道程序系统(多道批处理系统、分时系统)的发展过程,后来,又出现了微机操作系统、实时操作系统、分布式操作系统等等。12. 关于并发性说法正确的是() A. 并发性是指两个或多个事件在不同时刻发生 B. 并发性是指两个或多个事件在同一时刻发生 C. 并发性是指两个或多个事件在同一时间间隔内发生 D. 并发性是指两个或多个事件在不同时间间隔内发生 答案: C &nbs
11、p; 解析: 本题考查了并发性。操作系统的特征有并发、共享、虚拟和异步性。并发性是指两个或多个事件在同一时间间隔内发生。从宏观上看,并发同并行一样,即两个或多个事件在同一时刻发生。但实际上是,操作系统使两个程序在CPU上快速地轮流交替执行,实现了“并发”的功能。13. 有一种操作系统每次只能从外存装入一个作业进入内存,满足这一特征的是() A. 单道批处理系统 B. 多道批处理系统 C. 分时系统 D. 多道程序系统 答案: A
12、 解析: 本题考查了操作系统的类型。操作系统的类型有批处理系统、分时系统和实时系统。批处理系统分成单道批处理系统、多道批处理系统。单道批处理系统内存中只有一道作业,可以自动成批处理作业,故选项A正确。操作系统从无操作系统发展到单道批处理系统,再发展出多道程序系统,后来出现了实时系统。多道程序系统包括多道批处理系统和实时系统。14. 分时系统的特点不包括() A. 多路性 B. 独立性 C. 交互性 D. 调度性 答案: D 解析
13、: 本题考查了分时系统。分时系统允许多个用户通过终端同时使用计算机,支持多个用户同时驻留内存,每个用户通过终端与主机交互时能得到快速的响应。特点有多路性、独立性、及时性和交互性。15. 下列关于操作系统说法正确的是() A. 多道批处理系统不支持多道程序驻留内存 B. 批处理系统的主要缺点是缺乏交互能力 C. 在分时系统中,用户提交的作业都先存放在外存中 D. 从可靠性的角度来看,实时系统与分时系统的要求差不多 答案: B 解析
14、: 本题考查了操作系统的基本类型。操作系统的三个基本类型为批处理系统、分时系统和实时系统。多道批处理系统支持多道程序驻存内存,用户提交的作业都先存放在外存中并排成“后备作业队列”。多道批处理系统和单道批处理系统总的成为批处理系统,批处理系统的主要缺点是缺乏交互能力。不仅从响应时间还是可靠性角度,实时系统比分时系统的要求更高。16. 多道批处理系统的特点不包括() A. 多道性 B. 无序性 C. 交互性 D. 调度性 答案: C
15、 解析: 本题考查了多道批处理系统。多道批处理系统的特点有多道性、无序性、调度性、复杂性。多道批处理系统的优点是能提高CPU、内存和I/O设备的利用率和系统的吞吐量。多道批处理系统的缺点是系统平均周转时间长,缺乏交互能力。17. 操作系统给程序员提供的接口是() A. 命令接口 B. 图形用户接口 C. 系统调用 D. I/O设备 答案: C 解析: 本题考查了操作系统的功能。操作系统的功能有内存管理、进程管理、文件管理、设备管
16、理和提供用户接口。操作系统向最终用户提供命令接口和图形用户接口,向程序员提供应用程序与操作系统之间的接口,即系统调用。18. 下列关于分时系统说法正确的是() A. 分时系统不一定具有人机交互能力 B. 由于采用了分时技术,用户可以独占计算机资源 C. 分时系统中用户不能直接干扰作业的执行 D. 从响应时间的角度来看,实时系统与分时系统的要求差不多 答案: B 解析: 本题考查了分时系统。分时系统允许多个用户通过终端同时使用计算
17、机,支持多个用户同时驻留内存,每个用户通过终端与主机交互时能得到快速的响应。分时系统的优点是向用户提供了人机交互的方便性,使多个用户可以通过不同的终端共享主机。从响应时间的角度来看,实时系统与分时系统的要求更高。19. 下面属于单体结构的操作系统是() A. THE B. Linux C. Vxworks D. Windows NT 答案: B 解析: 本题考查了操作体系结构模型。属于单体结构模型的有UNIX系统、M
18、S-DOS、Linux、Mac OS X和BSD等系统。20. 操作系统提供的用户接口不包括() A. 命令接口 B. 程序接口 C. 图形用户接口 D. RS232接口 答案: D 解析: 本题考查了用户接口。用户接口包括命令接口、图形用户接口和程序接口。第一章填空+简答1. _是计算机系统的脉搏。 答案: 时钟2. 操作系统是一组控制和管理计算机_和_资源、合理对各类作业进行调度,以及方便用户的程
19、序集合。 答案: 硬件;软件3. _主要用于实时控制和实时信息处理领域。 答案: 实时系统4. _是计算机硬件的第一次扩充。 答案: 操作系统内核5. 操作系统是计算机用户与硬件之间的_。 答案: 接口6. 单道批处理系统的特点有_、_、_。 答案: 自动性;顺序性;单道性7. 分时系统的特点有_、_、_、_。 答案: 多路性;独立性;及时性;交互性8. 简述系统调用与一般函数调用的区别 答案: (1
20、)系统调用运行在系统态,而一般函数运行在用户态;(2)执行过程不同。系统调用执行时,当前进程被中断,由该系统找相应的系统调用子程序,并在系统态下执行,执行结果返回进程;(3)系统调用要进行“中断处理”,比一般函数调用多了一些系统开销。 解析: 9. 说明单道批处理系统、多道批处理系统的特点及优点。 答案: 单道批处理系统特点有自动性、顺序性、单道性,其优点是减少了人工操作等待的时间。多道批处理系统的特点有多道性、无序性、调度性、复杂性,其优点是能提高CPU、内存和I/O设备的利用率和系统的吞吐量。10. 简述中断的处理过程及引起中断的原因
21、。 答案: 计算机在执行过程中,当出现中断时,计算机停止现行程序的运行,转向对这些中断事件的处理,处理结束后再返回现行程序的间断处。引起中断的原因有人为设置中断;程序性事故;硬件故障;I/O设备;外部事件。11. 简述操作系统的功能 答案: (1)进程管理(2)内存管理(3)文件管理(4)设备管理(5)提供用户接口第二章单选1. 指令寄存器存() A. 指令地址 B. 正在执行的指令 C. 操作码 D. 数据 &n
22、bsp; 答案: B 解析: 本题考查了内部寄存器。常见的内部寄存器有程序计数器(PC);指令寄存器(IR);累加器(AC)。程序计数器(PC)存指令地址。指令寄存器(IR)存正在执行的指令。累加器是临时存储体和执行累加操作。2. 不属于程序并发执行的特点是() A. 间断性 B. 失去封闭性 C. 不可再现性 D. 顺序性 答案: D 解析: 本题考查来了程序的执行。程序并发执行的特点有间断性、失去
23、封闭性、不可再现性。程序顺序执行的特点有顺序性、封闭性、可再现性。3. 进行资源分配和独立执行的基本单位是() A. 进程 B. 线程 C. 管程 D. 进程控制块 答案: A 解析: 本题考查了进程。进程是进行资源分配和独立执行的基本单位。线程是进程中的一个实体,是被系统独立调度和分派的基本单位。管程是描述共享资源的数据结构和在数据结构上的共享资源管理程序的集合。4. 不属于进程特征的是() A.
24、并发性 B. 动态性 C. 异步性 D. 多样性 答案: D 解析: 本题考查了进程。进程的特征有并发性、动态性、独立性、异步性和结构特征。5. 操作系统管理进程所使用的数据结构是() A. 进程 B. 线程 C. 管程 D. 进程控制块 答案: D 解析: 本题考查了进程控制块,进程控制块
25、是进程实体的一部分和存在标志,是操作系统管理进程所使用数据结构。进程控制块中记录了操作系统所需要的、用于描述进程情况及控制进程运行所需要的全部信息。6. 在进程控制块的四类信息中,进程状态信息属于() A. 进程标识符信息 B. 处理机状态信息 C. 进程调度信息 D. 进程控制信息 答案: C 解析: 本题考查了进程控制块。一般操作系统中的进程控制块中包含进程标识符信息、处理机状态信息、进程调度信息和进程控制信息。进程标识符信
26、息中进程标识符用于唯一标识一个进程。进程控制块中除了本进程的标识符外,还存放其父进程、子进程的标识符。处理机状态信息包括通用寄存器、指令计数器、程序状态字PSW、用户栈指针。进程调度信息包括进程状态信息、进程优先级和进程调度所需信息。进程控制信息包括程序和数据的地址、进程同步和通信机制、资源清单以及链接指针。7. 进程从执行态进入就绪态的原因可能是() A. 时间片用完 B. 等待的事件已发生 C. 等待某一事件 D. 被选中占有处理机 答案: A &nb
27、sp; 解析: 本题考查了进程状态的转换。进程的3种基本状态分别为就绪态、执行态和阻塞态。就绪态为进程一旦获得CPU就可以投入运行的状态。执行态为进程获得CPU正在运行的状态。阻塞态为进程由于等待资源或某件事件的发生而暂停执行的状态。如果进程在CPU上运行的时间递减为0,系统将该进程的状态由执行态变为就绪态。故选项A正确。等待的时间已发生,进程从阻塞态进入就绪态。等待某一事件,进程处于阻塞态。被选中占有处理机,进程开始在CPU上运行,进程由就绪态进入执行态。8. 进程所请求的一次打印输出完成后,进程的状态会从() A. 执行态变为阻塞态
28、 B. 阻塞态变为就绪态 C. 就绪态变为执行态 D. 阻塞态变为执行态 答案: B 解析: 本题考查了进程状态的转换。进程的3种基本状态分别为就绪态、执行态和阻塞态。当某进程在输入输出时,进程的状态处于阻塞或等待状态。当输入输出完成后,该进程被唤醒,其状态从阻塞变为就绪。进程在执行过程中状态会发生变化,其中不可能发生的变化情况是阻塞态变为执行态。9. 临界区是() A. 一个缓冲区 B. 一段程序 &
29、nbsp; C. 一个同步机制 D. 一种共享资源 答案: B 解析: 本题考查了临界区。临界区是进程中访问临界资源的那段代码。而临界资源是必须以互斥方式访问的共享资源。10. 若记录型信息量的wait(s)和signal(s)操作的信号量s初值为3,当前值为-1,则在s的阻塞队列中处于阻塞态的进程数为() A. 2个 B. 1个 C. 3个 D. 0个 答案: B &nb
30、sp; 解析: 本题考查了记录型信号量机制。记录型信号量<0,此信号量的绝对值等于某资源的等待队列中阻塞进程的数量。11. 下列关于进程和线程说法中,错误的是() A. 线程是进程中的一个实体 B. 进程是进行资源分配和独立执行的基本单位 C. 线程是被系统独立调度和分派的基本单位 D. 不同进程的地址是相互独立的,不同线程的地址也是相互独立的 答案: D 解析: 本题考查了进程和线程。线程是进程中的一个实体
31、,是被系统独立调度和分派的基本单位。进程是进行资源分配和独立执行的基本单位。可以从以下几个角度分析线程与进程之间的关系,资源和调度:进程是拥有资源的基本单位;线程是程序执行的基本单位。地址空间资源:不同进程的地址空间是相互独立的;同一进程中线程共享同一地址空间。通信关系:同一进程中各线程可以直接通过直接读或写全局变量来进行通信,甚至无需操作系统的参与。并发性:多线程之间可以并发执行,同一进程中多个线程也可并发执行。系统开销:线程上下切换更快,开销很小。12. 在进程控制块的四类信息中,进程优先级属于() A. 进程标识符信息 B. 处理机
32、状态信息 C. 进程调度信息 D. 进程控制信息 答案: C 解析: 本题考查了进程控制块。一般操作系统中的进程控制块中包含进程标识符信息、处理机状态信息、进程调度信息和进程控制信息。进程标识符信息中进程标识符用于唯一标识一个进程。进程控制块中除了本进程的标识符外,还存放其父进程、子进程的标识符。处理机状态信息包括通用寄存器、指令计数器、程序状态字PSW、用户栈指针。进程调度信息包括进程状态信息、进程优先级和进程调度所需信息。进程控制信息包括程序和数据的地址、进程同步和通信机制、资源
33、清单以及链接指针。13. 下列不属于进程的基本状态的是() A. 执行态 B. 就绪态 C. 阻塞态 D. 创建态 答案: D 解析: 本题考查了进程的状态。进程的3种基本状态为就绪态、执行态、阻塞态。14. 某进程在运行过程中需要等待从磁盘中读入数据,此时该进程的状态为() A. 从执行态到就绪态 B. 从执行态到阻塞态 C. 从阻塞态到执行态
34、 D. 从就绪态到执行态 答案: B 解析: 本题考查了进程的状态。进程的3种基本状态为就绪态、执行态、阻塞态。如果执行态在运行过程中因为申请某种资源或等待某事件的发生而不能继续占有CPU,暂停该进程的运行,进程转变为阻塞态。15. 程序在运行时独占全机资源,程序运行后其结果不受外界因素的影响。这一特点体现了程序顺序执行的() A. 顺序性 B. 封闭性 C. 可再现性 D. 并发性 &
35、nbsp; 答案: B 解析: 本题考查了程序的顺序执行。程序的顺序执行是指先进入内存的程序先执行,在一个程序执行完之前,不执行其他程序。程序顺序执行的特点有顺序性、封闭性、可再现性。关于封闭性,程序在运行时独占全机资源,各资源的状态(除初始状态)只有本程序才能改变。程序一旦运行,其结果不受外界因素的影响。16. 处理机状态信息不包括() A. 通用寄存器 B. 指令计数器 C. 程序状态字PSW D. 进程优先级 答案: D
36、 解析: 本题考查了进程控制块中的信息。进程控制块中的信息有进程标识符信息、处理机状态信息、进程调度信息、进程控制信息。处理机状态信息包括通用寄存器、指令计数器、程序状态字PSW、用户栈指针。进程调度信息包括进程状态信息、进程优先级和进程调度所需信息。进程控制信息包括程序和数据的地址、进程同步和通信机制、资源清单以及链接指针。17. 进程状态不能由() A. 就绪态变为执行态 B. 执行态变为阻塞态 C. 阻塞态变为就绪态 D. 阻塞态变为执行态  
37、; 答案: D 解析: 本题考查了进程的状态。进程的3种基本状态为就绪态、执行态、阻塞态。进程在创建后到撤销前,其状态可能在3种基本状态之间不断地转变。进程状态不可以直接由阻塞态变为执行态。18. 若记录型信息量的wait(s)和signal(s)操作的信号量s初值为3,当前值为-2,则在s的阻塞队列中处于阻塞态的进程数为() A. 2个 B. 1个 C. 3个 D. 0个 答案: A
38、解析: 本题考查了记录型信号量机制。记录型信号量<0,此信号量的绝对值等于某资源的等待队列中阻塞进程的数量。19. 多道程序环境下,操作系统分配CPU资源的基本单位是() A. 程序 B. 进程 C. 作业 D. 指令 答案: B 解析: 本题考查了进程。进程是进行资源分配和独立执行的基本单位。动态分区分配方式中,系统动态地对内存进行划分,根据进程需要的空间大小分配内存。第二章填空+简答1. 临界区是指访问_的代码。 &n
39、bsp; 答案: 临界资源2. 执行态变为阻塞态的过程称为_。 答案: 阻塞过程3. 用整型变量值来标记资源的使用情况,若整型量>0,表示_,若若整型量0,表示_。 答案: 有可用资源;资源忙4. 进程的3种基本状态分别为_、_、_。 答案: 就绪态、执行态、阻塞态5. 一个指令周期可以划分为_和_。 答案: 取指周期;执行周期6. 临界资源是必须以_方式访问的共享资源。 答案: 互斥7. 进程实体包括正文段、_、_。 &
40、nbsp; 答案: 用户数据段;进程控制块8. 进程同步机制遵循的原则有_、_、_、_。 答案: 空闲让进;忙则等待;有限等待;让权等待9. 管程是什么?引入管程的原因是什么? 答案: 管程是描述共享资源的数据结构和在数据结构上的共享资源管理程序的集合。引入管程的原因是信号量机制的缺陷是每个访问共享资源的进程都必须自备同步操作wait(s)和signal(s)。10. 简述指令的执行过程。 答案: 在每个指令周期的开始,处理器从存储器取出一条指令。取到的指令被放置在处理器的指令寄存器IR中,指令中包括确定处理器
41、将要采取动作的位,处理器解释指令并执行要求的动作。11. 简述进程创建的条件和步骤 答案: (1)进程创建的条件:用户登录;作业调度;提供服务;应用请求。(2)进程创建的步骤:申请PCB;为新进程分配资源;初始化进程控制块;将新进程插入就绪队列。第二章综合1. 系统里有三个进程GET、COPY和PUT,共用两个缓冲区BUF1和BUF2。假设BUF1中最多可放3个,现已放入1个数据,BUF2最多可放5个数据。GET进程负责不断将输入的原始数据送入BUF1,COPY进程负责从BUF1中取出原始数据进行复制,并将复制好的结果数据送到BUF2中,PUT进程负责从BUF2中读
42、取结果数据并输出,请采用记录型信号量机制,实现进程GET、COPY和PUT的同步算法。补充完成下列带标号处空缺的内容。(注:空缺处可能有多行代码)struct semaphore empty1,full1,empty2,full2;/对应BUF1、BUF2空、满的信号量(1)void process GET()while(TRUE) wait(empty1);将数据放入BUF1;(2)void process COPY()(3)将数据从BUF1中取出放入BUF2;(4)void process put()wait(full2);将数据从BUF2中取走;signal(empty2)
43、 答案: (1)empty1=3,full1=1,empty2=5;(2)signal(full1);(3)wait(full1)wait(empty2)(4)signal(full2);signal(empty1); 解析: (1)临界资源。在操作系统中,进程是进行资源分配和独立执行的基本单位(线程可以访问其所在进程内的所有资源,但线程本身并不占有资源或仅仅占有一点必要资源)。但对于某些资源来说,其在同一时间只能被一个进程所占有。这些一次只能被一个进程说占有的资源就是临界资源,临界资源是必须以互斥方式访问的共享资源。例如,打印机。(2)互斥。当一个进
44、程进入临界区使用临界资源时,另一进程必须等待,只有当使用临界资源的进程退出临界区后,这个进程才会解除阻塞状态。(3)同步。进程同步和互斥都是进程之间的制约关系,是为完成某种任务而建立的两个或多个线程,这个线程需要在某些位置上协调他们的工作次序而等待、传递信息所产生的制约关系。比如进程B需要从缓冲区中读取进程A产生的信息。当缓冲区为空时,进程B因为读取不到信息而阻塞,只有当进程A产生消息放入缓冲区时,进程B才会被唤醒。(4)记录型信号量机制。通过设置资源信号量,如full、empty等,通过wait、signal操作来实现进程互斥或同步。wait操作,首先减少信号量,表示有一个进程将占用或等待资
45、源,然后检测资源信号量是否小于0,小则阻塞,大则占有资源进行执行。signal操作和wait操作相反,首先增加信号量,表示占有或等待资源的进程减少1个。然后检测信号量是否小于0,小则唤醒等待资源的其他进程。2. 桌子上有一只盘子,每次只能向其中放入一个水果,妈妈专门向盘子中放入苹果,儿子专等吃盘子中的苹果。只有盘子为空时,妈妈就可以向盘子中放一个苹果,仅盘子里有苹果时,儿子才能进行取苹果。试采用记录型信号量机制实现妈妈和儿子进程的同步。要求:补充完整下列算法程序中能够带标号处空缺的内容。(注:每个空缺部分的代码可能是多行代码)struct semaphore mutex=1,empty=1,a
46、pple=0;void mother()while(true)(1)void son()while(true)(2) 答案: (1)wait(mutex);apple+;empty-;signal(mutex)(2)wait(mutex);apple-;empty+;signal(mutex); 解析: mutex为互斥信号量,用于实现对盘子的互斥访问。empty表示盘子上的空间,初值为1,表示只能放一个水果。3. 设有无穷多个整数缓冲区(即无界缓冲池),A进程从输入设备逐个地读入数据并写入缓冲区,B进程则逐个地从缓冲区取出整数进行打印。
47、其中存放整数的变量为item,缓冲区为buffer,读取过程使用函数getAItem(int*item)来完成,而打印整数使用函数printAItem(int item)来完成。请用记录型信号量机制实现上述两个进程的同步算法。要求:补充完整下列算法程序中能够带标号处空缺的内容。(注:每个空缺部分的代码可能是多行代码)struct semaphore full;int buffer;/缓冲区int in,out;/缓冲区入口指针量和出口指针量 (1) void process A()int item;/存放整数的变量 (2)void process B()
48、int item;/存放整数的变量 (3) 答案: (1)in=0;out=0; full.value=0; (2)while(TRUE) getAItem(int*item);bufferin+=item;signal(full); (3)while(TRUE) wait(full);Item=bufferout+printAItem(int item); 解析: 教材上
49、(P74)关于记录型信号量机制解决进程同步问题,是以两个例子展开的,而且涉及一些C语言的内容,不好在押题精华上呈现,故在这里介绍。(1)首先看题目,捋清楚进程A与B的逻辑关系。A进程从输入设备逐个地读入数据并写入缓冲区,一个缓冲区存放一个变量,利用getAItem(int*item);bufferin+=item实现。释放转有消息的缓冲区,好使进程B开始执行,B进程则逐个地从缓冲区取出整数进行打印,先取再打印,所以先申请资源,从缓冲区取出整数,利用Item=bufferout+;printAItem(int item)实现。其实这就是思路。(2)学过C语言的同学应该很好理解,但也存在即使知道思
50、路,也不知道怎么去写代码。第一步,观察一整段程序的结构。开头都是定义、设初值。所以第一个空应该给定义的变量赋初值,也就是in,out。Buffer为数组。 full.value表示装有消息的缓冲区数,初始为0。第二、三空需要补充的实现进程的代码,思路是分清楚进程的任务,先做什么,再做什么。参考前面分析的内容。实现函数题目已经给出了,不需要改动。其次,用记录型信号量机制实现进程同步,少不了wait操作和signal操作。4. 在生产者-消费问题中,设置一个信号量mutex,初值为1,用于实现临界区的的互斥;信号量empty,初值为n,用来表示缓冲池中的空缓冲区数;信号量full,初值为0,用于表
51、示装有消息的缓冲区数。另设整型变量i和j,初值均为0,i表示空缓冲区的头指针,j表示有产品缓冲区的头指针。请在有序号的空行上填写适当的关于信号量mutex、empty和full的wait、signal操作或缓冲区头指针变化的赋值语句。item buffern;semaphore mutex=1,empty=n,full=0;void process Producer() i=0; while(TRUE)Produce an item in nextp;/生产一个产品wait(empty); (1) buffer(i)=nextp; /将产品放入i指针指向的缓冲区;i=(i+1)mo
52、d(n);signal(mutex); (2)void process Consumer () /消费者进程j=0; while(TRUE)wait(full) (3)nextc=buffer(j)j=(j+1)mod(n)signal(mutex)signal(empty) 答案: (1)wait(mutex);(2)signal(full);(3)wait(mutex); 解析: (1)信号量empty,初值为n,用来表示缓冲池中的空缓冲区数;信号量full,初值为0,用于表示装有消息的缓冲区数。wait操作的
53、顺序不能颠倒,必须先对资源信号量(即empty和full)进行wait操作,然后再对互斥信号量(即mutex)操作。可以理解为,进程必须先确定自己可以对缓冲区操作才能占有缓冲区,否则会出现死锁。比如,先wait(mutex)先锁定缓冲区,然后wait(full),结果发现缓冲区为空,就会自我阻塞。(2)wait操作和signal操作成对出现。第三章单选11. 设某作业在外存后备队列上等待调度的时间为T1,进程在就绪队列上等待进程调度的时间为T2,进程在CPU上执行的时间为T3,进程等待I/O操作完成的时间T4。那么该作业的周转时间为() A. T1 &
54、nbsp; B. T1+T2 C. T1+T2+T3 D. T1+T2+T3+T4 答案: D 解析: 周转时间是指从作业被提交给系统开始,到作业完成为止的这段时间间隔。包括4部分,分别是作业在外存后备队列上等待调度的时间;进程在就绪队列上等待进程调度的时间;进程在CPU上执行的时间;进程等待I/O操作完成的时间。在多道批处理系统中,用户所提交的作业都先存放在外存中并排成一个队列,该队列被称为“后备作业队列”。2. 根据估计运行时间的长短来进行调度的算法是() &nbs
55、p; A. 先来先服务调度算法 B. 短进程优先调度算法 C. 非抢占式优先权调度算法 D. 抢占式优先权调度算法 答案: B 解析: 本题考查了短进程优先调度算法(SPF)。短进程优先调度的算法是从就绪队列中选择预计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行完成,或发生某事件而被阻塞放弃处理机时,再重新调度。3. 关于时间片轮转调度算法说法正确的是() A. 时间片大小不会影响进程的响应时间 &
56、nbsp; B. 在系统允许的最大进程数一定的情况下,时间片的长短与系统要求的响应时间无关 C. 时间片大小一定时,系统进程越多,则响应时间越短 D. 响应时间与进程数和时间片成比例 答案: D 解析: 本题考查了时间片轮转调度算法。假设系统响应时间为T,进程数目为N,时间片为q,则。响应时间与进程数和时间片成比例。当系统允许的最大进程数一定的情况下,时间片的长短取决于系统要求的响应时间,响应时间越短,时间片取值越小。4. 影响时间片设计的因素的是() A
57、. 系统的响应时间 B. 系统的周转时间 C. 系统在单位时间内处理的项目数 D. 进程需要CPU服务的时间 答案: A 解析: 本题考查了时间片轮转调度算法。设计时间片大小首先要考虑其对响应时间的影响和系统对响应时间的要求。5. 根据进程的开始截止时间来进行调度的算法是() A. 先来先服务调度算法 B. 优先权调度算法 C. 最早截止时间优先算法 D. 最低松弛度优先算法 答案: C 解析: 本题考查了最早截止时间优先算法。最早截止时间优先算法是一种实时调度算法。该算法是根据进程的开始截止时间确定进程的优先级,截止时间越早,进程的优先级越高,越优先获得处理机。FCFS(先来先服务调度算法)就是从就绪队列的队首选择最先到达就绪队列的进程,并为其分配CPU。当使用优先权调度算法进行进程调度时,系统将CPU分配给就绪队列中优先权最高的进程。松