当前位置:首页 >> 政史地 >>

思考与练习题参考答案


第 1 章 操作系统概述 思考与练习题参考答案
1. 选择题
(1) C (2) D (3) C (4) C (5) B (11) A (6) C (7) B (8) C (9) B (10) B

2. 填空题
(1) 硬件 软件 (2) 存储管理 设备管理 (3) 软硬件资源 (4) 批处理操作系统 分时操作系统 实时操作系统

(5) 20ms 时间片轮转调度算法

3. 判断题
(1) × (2) × (3) √ (4) × (5) × (6). √ (7) √ (8)√

4. 问答题
(1) 简述操作系统的概念 答: 操作系统是一组能控制和管理计算机系统的硬件和软件资源, 合理地组织计算机工 作流程并为用户使用计算机提供方便的程序和数据的集合。 (2) 什么是批处理系统?为什么要引入批处理系统? 答:批处理系统指用户的作业成批的处理,作业建立、过渡、完成都自动由系统成批完 成。因为 1958~1964 年,晶体管时代,计算机速度、容量、外设品种和数量等方面和第一代 计算机相比都有了很大发展,计算机速度有几十倍、上百倍的提高,故使手工操作的慢速度 和计算机运算的高速度之间形成一对矛盾。只有设法去掉人工干预,实现作业自动过渡,这 样就出现了成批处理。 (3) 什么叫多道程序?试述多道程序涉及技术的基本思想及特征,为什么对作业进行多 道批处理可以提高系统效率? 答: 多道程序设计技术是在计算机内存中同时存放几道相互独立的程序, 使它们在管理 程序控制下,相互穿插交替运行。当某道程序因某种原因不能继续运行下去时,管理程序就 将另一道程序投入运行, 这样使几道程序在系统内并行工作, 可使中央处理机及外设尽量处 于忙碌状态, 从而大大提高计算机使用效率。 在批处理系统中采用多道程序设计技术形成多 道批处理系统,多个作业成批送入计算机,由作业调度程序自动选择作业运行,这样提高了 系统效率。 (4) 何为分时系统?简述其特点。 答:分时系统采用时间片轮转法,使一台计算机同时为多个终端服务。特点: 多路性。若干个终端连接到计算机上,系统按分时原则为每个用户服务。宏观上多用户 同时工作,共享系统资源。微观上,每个用户作业轮流在 CPU 上运行。 独立性。各用户独立地使用一台终端工作,彼此互不干扰。用户感觉自己在独占使用计 算机。 及时性。 用户的请求能在较短时间内得到响应。 分时系统的响应时间指用户发出终端命 令到系统响应,做出应答所需要的时间。此时间需要在用户能接受的范围之内,通常为 2 至 3 秒。 交互性。在分时系统中,用户能与计算机进行对话,以交互的方式进行工作。用户可联 机对文件进行编辑,对源程序进行编译、链接,对程序进行调试,运行程序等活动。

(5) 分时系统和实时系统有何不同? 答:分时系统控制的主动权在计算机,计算机按一定时间间隔,以固定时间片或不固定 时间片去轮流完成多个提交的任务,只是在用户反应相对较慢时,不感到机器“走开” 。而 实时系统控制的主动权在用户,用户规定什么时间要计算机干什么,计算机不能“走开” 。 分时系统通用性强,交互性强,及时响应性要求一般(通常数量级为秒) ;实时系统往 往是专用的,系统与应用很难分离,常常紧密结合在一起,实时系统并不强调资源利用率, 而更关心及时响应性(通常数量级为毫秒或微秒) 、可靠性等。 (6) 实现多道程序解决哪些问题? 答:首先包括分时使用硬件的硬件设计技术: CPU 和通道分时使用内存、只读存储器 和数据通道等;通道与通道分时使用 CPU、内存、通道的公用控制部分等;同一通道中的 I/O 又分时使用内存、通道等。其次包括共享硬件和软件资源的软件设计技术:包括引入“进 程”“线程”等技术。 (7) 设在内存中有三道程序A、B和C,并按A、B、C的优先次序运行,其在CPU上运行 时间以及I/O时间分别为: A:计算30ms,I/O 40ms,计算10ms B:计算30ms,I/O 50ms,计算10ms C:计算20ms,I/O 40ms,计算20ms 试画出按多道程序运行的时间关系图(调度程序的执行时间忽略不计),完成这三道程序 共花多少时间?比单道运行节省多少时间?(假定运行环境为单CPU,每个程序所用的I/O设 备相同,比如打印机)
A CPU B C A 空闲 B 空闲 C

I/O

0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 图1-1 三道作业并发运行情况

t/ms

答:三道程序共花180ms,比单道(80+90+80)ms=250ms节省了110ms。 (8) 简述Winodws操作系统的发展历史。(略) (9) 简述Linux操作系统的发展历史。(略) (10) 简述UNIX系统操作系统的发展历史。(略)

第 2 章 处理器管理 思考与练习题参考答案
1. 选择题
(1) A (9) D (2) D (10) C (3)B (11) D (4) C (12)A (5)D (13)C (6) D (14) D (7) C (15) B (8) B (16) D

2. 填空题
(1) 数据段 PCB (2) 运行时间短 等待时间长

(3) 并行 并发。 (4) 资源分配 调度 (5) 阻塞 (6) 共享存储区 消息机制 (7) 阻塞 (8) 向前推进。 (9) 后备 (10) 可剥夺 非剥夺

3. 判断题
(1) √ (9) √ (2) × (3) √ (4) × (5) × (6) × (7) × (8) × (10) √ (11) × (12) × (13) × (14) × (15) ×

4. 问答题
(1) 简述进程和程序之间的区别和联系。 答:进程和程序是既有区别又有联系的两个概念。 1) 进程是动态的,程序是静态的。程序是一组有序的指令集合,是一个静态的概念; 进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。离开了程序,进程就失 去了存在的意义, 但同一程序在计算机上的每次运行将构成不同的进程。 程序可看作是电影 的胶片,进程可以看作电影院放电影的过程。 2) 一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。 3) 一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部 电影。 4) 程序可以长期保存,进程只能存在于一段时间。程序是永久存在的,而进程有从被 创建到消亡的生命周期。 (2) 为什么将进程划分成运行、就绪和阻塞三个基本状态? 答: 根据多道程序执行的特点,进程的运行是走走停停的。因此进程的初级状态应该是 执行和等待状态。 处于执行状态的进程占用处理机执行程序, 处于等待状态的进程正在等待 处理机或者等待其它某种事件的发生。但是,当处理机空闲时,并不是所有处于等待状态的 进程都能放到处理机上执行,有的进程即使分配给它处理机,它也不能执行,因为它的执行 的条件没有得到满足。因此,将等待状态的进程分成两部分,一部分是放在处理机上就能立 即执行,这就是就绪的进程;另一部分是仍需等某种事件发生的进程,即使放在处理机上也 不能执行的进程,这就是阻塞进程。 (3) 进程控制块PCB的作用是什么?它主要包含哪些内容? 答: 操作系统管理的进程是多种多样的,要对这些进程实施有效的管理,必须对进程进 行抽象。 为了便于系统控制和描述进程的活动, 在操作系统核心为进程定义了一个进程控制 块PCB。PCB用于描述进程的基本情况以及进程运行和变化的过程,它与进程一一对应。当 系统创建进程时,为进程分配一个PCB;在进程运行过程中,系统通过PCB对进程实施管理 和控制;进程结束时,系统将收回PCB。 PCB中的内容主要包括调度信息和现场信息两大部分。调度信息包括进程名、进程号、 优先级、当前状态、资源信息、程序和数据的位置信息、隶属关系和各种队列指针信息等。 现场信息主要包括程序状态字、时钟寄存器和界限寄存器等描述进程运行情况的信息。 (4) 简述创建进程的大致过程 解 创建一个进程大体分以下几步: 1) 申请一个空白的PCB和唯一的进程标识号pid

2) 为新进程分配除CPU以外的资源,包括内存空间; 3) 初始化PCB中的数据项,包括标志信息、状态信息、控制信息等; 4) 将新进程的PCB插入系统的就绪队列。 (5) 为何引入线程?线程与进程的关系是什么? 答:在操作系统中引入进程的目的,是为了使多个程序并发执行,以改善资源利用率及 提高系统的吞吐量; 那么, 在操作系统中再引入线程则是为了减少程序并发执行时所付出的 时空开销,使操作系统具有更好的并发性。 线程具有许多传统进程所具有的特征,故又称为轻型进程(Light-Weight Process)或进程 元;而把传统的进程称为重型进程(Heavy-Weight Process),它相当于只有一个线程的任务。 在引入了线程的操作系统中,通常一个进程都有若干个线程,至少需要有一个线程。 (6) 何谓进程通信?试列举几种进程通信方式。 答:进程之间的信息交换,就是进程通信。进程同步与互斥,就实现了进程之间交换信 息,但由于交换的信息量少,可以看作是低级通信。并发执行的进程,有交换信息的各种需 要,除同步与互斥外,还可采用其它的通信方式。介绍几种常用的通信方式:共享存储、消 息传递、共享文件。 (7)进程的三个基本的转换如下图所示,图中1、2、3、4分别代表某种类型状态变迁, 请分别回答:
运行 2 1 就绪 4 阻塞 3

1)什么事件引起各状态之间的变迁? 2)系统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,试判断变迁 3 ——1、2——1、3——2、4——1、3——4 是否存在因果关系? 答: 1) 引起各变迁的事件如下: 变迁 1:正在执行的进程从处理机上退下,导致进程调度程序从就绪状态的进程中选取 一个进程。 变迁 2:正在执行的进程所分配的时间片用完,导致进程从处理机上退到就绪状态;或 者在可抢占优先级的进程调度中, 有更高有先级的进程进入就绪状态, 导致正在执行的进程 从执行状态退到就绪状态。 变迁 3:进程需要等待事件的发生; 变迁 4:进程所等待的某事件发生了(如 I/O 完成) ; 2) 可能发生的因果变迁 3——1:由于处于运行状态的进程转入阻塞状态,进程调度程序根据调度算法,又从 就绪队列中选择一个进程投入运行; 2——1:由于处于运行状态的进程时间片用完,重新转入就绪状态,从而使进程调度程 序又从就绪队列中选择一个进程投入运行; 3——2:此种变化不存在; 4——1:4 的发生与 1 的发生没有必然关系; 3——4:3 的发生和 4 的发生没有必然关系。 (8) 下表给出了4个作业J1、J2、J3、J4的提交时间、运行时间,试分别采用FCFS、SJF

和HRRF调度算法,求出在各种作业调度算法下作业的平均周转时间和平均带权周转时间。
表1 4个作业的提交时间和运行时间表 作业名 J1 J2 J3 J4 提交时间 10:00 10:18 10:48 11:00 运行时间/h 2 1 0.5 0.8

解:采用FCFS作业调度算法时,根据这4个作业提交作业的先后顺序依次运行,每个作 业的周转时间和带权周转时间如表2所示。
表 2 FCFS调度算法性能表 作业名 J1 J2 J3 J4 提交时间 10:00 10:18 10:48 11:00 运行时间/h 2 1 0.5 0.8 开始时间 10:00 12:00 13:00 13:30 完成时间 12:00 13:00 13:30 14:18 周转时间/h 2 2.7 2.7 3.3 带权周转时间 1 2.7 5.4 4.125

作业的平均周转时间 = (2+2.7+2.7+3.3)h/4=2.675h 作业的平均带权周转时间 = (1+2.7+5.4+4.125)/4=3.30625 采用SJF作业调度算法时,每个作业的周转时间和带权周转时间如表3所示。
表3 SJF调度算法性能表 作业名 J1 J2 J3 J4 提交时间 10:00 10:18 10:48 11:00 运行时间/h 2 1 0.5 0.8 开始时间 10:00 13:18 12:00 12:30 完成时间 12:00 14:18 12:30 13:18 周转时间/h 2 4 1.7 2.3 带权周转时间 1 4 3.4 2.875

作业的平均周转时间 = (2+4+1.7+2.3)h/4=2.5h 作业的平均带权周转时间 = (1+4+3.4+2.875)/4=2.81875 采用HRRF作业调度算法时, 每个作业的周转时间和带权周转时间如表4所示。 当时间为 10:00时,仅有作业J1,J1先运行。当作业J1结束后,此时系统中存在3个作业,计算这3 个作业J2、J3、J4的响应比,分别为2.7、3.4、2.25。作业J3的响应比高,作业J3运行。当 作业J3结束后,系统中剩下2个作业,计算这2个作业J2、J4的响应比,分别为3.2、2.875。 作业J2的响应比高,运行作业J2。作业J2运行结束后,运行作业J4。
表 4 HRRF调度算法性能表 作业名 J1 J2 J3 J4 提交时间 10:00 10:18 10:48 11:00 运行时间/h 2 1 0.5 0.8 开始时间 10:00 12:30 12:00 13:30 完成时间 12:00 13:30 12:30 14:18 周转时间/h 2 3.2 1.7 3.3 带权周转时间 1 3.2 3.4 4.125

作业的平均周转时间 = (2+3.2+1.7+3.3)h/4=2.55h 作业的平均带权周转时间 = (1+3.2+3.4+4.125)/4=2.93125 (9) 引起进程调度的主要因素主要有哪些?

答: 1) 一个进程运行完毕; 2) 一个正在运行的进程被阻塞; 3) 在抢占式调度中,一个高优先级的进程被创建; 4) 在抢占式调度中,一个高优先级进程由阻塞被唤醒; 5) 在轮转式调度中,正在运行的进程运行完一个时间片。

第 3 章 进程同步与死锁 思考与练习题参考答案
1. 选择题
(1) C (2) A (9) B (10) C (17) B (18) A (3) C (11) D (4) B, A (5) B,D (12) B (13) A (14) D (6) A (15) D (7) A (16) A (8) B

2. 填空题
(1)环路等待条件。 (2)临界资源。 (3) P、V 等待 (4) 可用资源数目 等待该资源的进程数。 (5) 等待 (6) P V (7) 进程 (8) 安全 不安全 (9) 信箱头 信箱体 (10) 低级 高级

3. 判断题
(1) √ (9) × (2)× (3)√ (10) × (11) √ (4) √ (5) √ (12) × (6) × (7) × (8) √

4. 问答题与计算分析题
(1) 在多道程序系统中程序的执行失去了封闭性和再现性,因此多道程序的执行不需要 这些特性,这种说法是否正确 ? 答:这种说法不正确。可以想象,如果一个程序在多道程序系统中,在相同的输入的情 况下,多次执行所得结果是不同的,有谁还敢使用这个程序?因此,多道程序的执行也需要 封闭性和再现性, 只不过单道程序系统的封闭性和再现性是先天固有的, 多道程序系统的程 序执行要想获得封闭性和再现性, 需通过程序员的精心设计才能得到。 所使用的方法就是同 步和互斥的方法。 (2) 多个进程对信号量S进行了5次 P操作,2次V操作后,现在信号量的值是 -3,与信 号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少? 解: 因为 S 的当前值是-3,因此因为 S 处于阻塞状态的进程有 3 个; 因为每进行一次 P(S)操作,S 的值都减 1,每执行 1 次 V 操作 S 的值加 1,故信号量的 初值为-3+5-2=0; (3) 设公共汽车上,司机和售票员的活动分别为:司机的活动为启动车辆,正常行车,

到站停车;售票员的活动为关车门,售票,开车门。试问:在汽车不断地到站、停车、行驶 过程中, 司机和售票员的活动是同步关系还是互斥关系?并用信号量和P、 V操作实现他们间 的协调操作。 解: 在这个问题中,司机与售票员间是并行操作的,司机和售票员各自的操作是顺序进行 的。因此司机是一个进程,售票员是一个进程,它们之间是合作关系,即同步关系。 根据一般常识,司机和售票员在车上的操作规则如下: ? 售票员操作的规则是只有司机停车后,售票员才能开门让乘客上下车; ? 司机操作的规则是只有售票员关门后,司机才能启动开始行驶汽车。 根据同步规则以及操作流程确定信号量的个数是 2 个,S1 和 S2。 S1 的含义是否关门,其初值为 0,表示开门,其值若为 1 表示关门; S2 的含义是否停车,其初值为 1,表示停车,其值若为 0 表示开车。 司机在的操作:在开车前看是否关门?若没关则等待,这是一个 P(S1)操作;若门关, 则开车。到达一个站点,则停车,这是一个 V (S2) 操作; 售票员的操作:看是否停车?若没停则等待,这是一个 P (S2) 操作;若停则开门,这 是一个 V(S1) 操作。 司机与售票员的协调操作描述如下: int S1=0; int S2=1; main() { cobegin driver(); busman(); coend } driver() { while (1) { P(S1); 启动车辆; 正常行车; 到站停车; V(S2); } } busserver () { while (1) { 关车门; V(S1);

售票; P(S2); 开车门; 上下乘客; } } (4) 在 OS 中引入管程的目的是什么? 答: 在 OS 中引入管程的目的是为了更简便、 更可靠地解决进程之间的同步、 互斥问题。 在未引入管程之间,进程间的同步、互斥问题是由程序员处理的。例如,在临界区的前 后插入 P、V 操作。但是,由程序员处理同步、互斥问题有可能引入种种人为的错误。管程 主要是管理对共享数据的操作和使用, 即把对共享数据互斥使用的控制这一任务从程序员身 上,交由编译程序去处理,这样既方便了编程,又不会产生人为的同步、互斥上的错误。 (5) 一售票厅只能容纳 300 人,当少于 300 人时,可以进入;否则,需在外等候。若将 每一个购票者作为一个进程,请用 P、V 操作编程,并写出信号量的初值。 解: 信号量 S 的初值为 300; int S=300 main() { P1( ); P2( ); …… Pn( ); } P1() { P(S); 进入售票厅; 购票; 退出售票厅; V(S); } …… Pn( ) { P(S); 进入售票厅; 购票; 退出售票厅; V(S); }

(6) 设 A、B 为两个并发进程,它们共享一个临界资源,其执行临界区的算法框图如下 图所示。试判断该算法是否有错?请说明理由。如果有错,请改正。设 S1、S2 的初值为 0, CSA、CSB 为临界区。

A 进程

B 进程

CSA

P(S1)

V(S1)

CSB

P(S2)

V(S2)

图 3-11 第(6)题图

解:该算法有错。 若 A 进程永不要求访问临界资源,则不会执行 V(S1),意味着 B 进程的申请永远得不 到操作临界资源的机会;同理,若 B 进程不要求访问临界资源,则不会执行 V(S2),意味着 A 进程下次也得不到操作临界资源的机会。 所以问题在于本应进行互斥控制而使用的却是同 步控制。实现改正如下: 设置信号 mutex,初值为 1;
A 进程 B 进程

Txh

P(muyex)

P(mutex)

CSA

CSB

V(mutex)

V(mutex)

第(6)题改正图

(7) 消息缓冲通信机制有什么好处?试述消息缓冲通信的过程。 解 消息缓冲通信机制不仅能较好地解决进程间的同步互斥问题,还能交换大量信息, 是理想的进程通信工具, 而且操作系统隐藏了进程通信的实现细节, 即通信过程对用户是透 明的,这样就大大地简化了通信程序编制上的复杂性。 消息缓冲通信的过程如下: 当某个进程需要向另一个进程发送消息时, 便向系统申请一个消息缓冲区, 并把要发送 的数据送到消息缓冲区, 然后把该消息缓冲区插入到接受进程的消息队列中。 接受进程在接 受消息时,只要从本进程的消息队列中摘下该消息缓冲区,即可从中取下所需的信息,然后 把该消息缓冲区交还给系统。 (8) 桌上有一空盘,只允许存放一个水果。爸爸可向盘中放苹果,也可向盘中放桔子。 儿子专等吃盘中的桔子, 女儿专等吃盘中的苹果。 规定当盘中空时一次只能放一只水果供吃 者取用,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。 解 在本题中,应设置三个信号量 S、So、Sa,信号量 S 表示盘子是否为空,其初值为

Txh

1;信号量 So 表示盘中是否有桔子,其初值为 0;信号量 Sa 表示盘中是否有苹果,其初值 为 0。同步描述如下: int S=1; int Sa=0; int So=0; main( ) { cobegin father(); son(); daughter(); coend } father() { while(1) { P(S ); 将水果放入盘中; if (放入的是桔子) V(So); else V(Sa); } } son( ) { while(1) { P(So); 从盘中取出桔子; V(S); 吃桔子; } } daughter( ) { while(1) { P(Sa); 从盘中取出苹果; V(S); 吃苹果; } } (9) 按序分配是防止死锁的一种策略。什么是按序分配?为什么按序分配可以防止死

锁? 解 按序分配是适应于动态分配的一种分配方法。 为了避免产生死锁, 系统将所有资源进行 编号,并规定进程请求资源时,严格按照设备编号的大小,比如由小到大的顺序进程申请。 如果某进程第n号资源没有获得,则进程不能请求第j(j>n)号资源。(系统也可以规定由 大到小的请求次序。) 因为按序分配可以破坏环路等待条件,因此可以防止死锁。 (10) 有四个进程(P1,P2,P3和P4)和三类资源(R1,R2和R3)在T0时刻的资源分配情况如表 3-9所示,(1)检查此刻的系统状态是否安全。(2)若在T0时刻之后, 进程P3发出资源请求(1,0, 1),即P3申请一个单位的R1和一个单位的R3,系统能否将资源分配给P3呢?
表3-9 T0时刻的资源分配表 资源 进程 P1 P2 P3 P4 Max R1 R2 R3 3 6 3 4 2 1 1 2 2 3 4 2 Allocation R1 R2 R3 1 5 2 0 0 1 1 0 0 1 1 2 Need R1 R2 R3 2 1 1 4 2 0 0 2 2 2 1 3 0 1 2 Available R1 R2 R3

解:(1)从表1分析可知,可用资源数能满足进程P2,当P2运行结束后,释放它所占有的 资源,使可用资源数目变为(6,2,3)。此刻,可用资源可满足其他任一进程,若将可用资 源分配给进程P1,P1结束后,可用资源数变为(7,2,3)。再将可用资源分配给进程P3,P3 结束后,可用资源数变为(9,3,4)。最后将可用资源分配给进程P4,P4结束后,可用资源数 变为(9,3,6)。因此,系统在T0时刻是安全的。 (2)由于P3请求资源数(1,0,1)小于可用资源数(1,1,2),因此现有资源能满足P3的 要求。系统先假定为P3分配资源,则可用资源数变为(0,1,1)。修改相关数据,如表2 所 示。
表 资源 进程 P1 P2 P3 P4 Max R1 R2 R3 3 6 3 4 2 1 1 2 2 3 4 2 P3申请资源后的资源分配表 Allocation R1 R2 R3 1 5 3 0 0 1 1 0 0 1 2 2 Need R1 R2 R3 2 1 0 4 2 0 0 2 2 2 0 2 0 1 1 Available R1 R2 R3

此刻,可用资源数(0,1,1)无法满足任一个进程的需要,故系统进入不安全状态, 因此,系统不能为P3分配资源。 (11) 利用管程解决生产者与消费者问题。 解: 下面以 Hansen 方法解决生产者和消费者问题。
monitor boundbuffer { char buffer[N]; int nextin,nextout; /* 定义管程,其名称为 boundbuffer */ /* 缓冲区有 N 个空间 */ /* 缓冲区指针,将缓冲区的 N 个空间看作环形 */

int count; condition notfull,notempty; void append(char *x) { buffer[nextin]=*x; nextin=(nextin+1) % N; count++; csignal(notempty); } void take(char * x) {

/* 产品的数目 */ /* 同步条件变量 */ /* 管程中的过程 */ /* 缓冲区满,等待缓冲区空的信号 */ /* 将产品放入缓冲区中 */ /* 调整入队指针 */ /* 产品个数加 1 */ /* 向消费者进程发信号,有产品可供消费 */

if (count==N) cwait(notfull);

if (count==0) then cwait(notempty); /* 没有产品,需要等待 */ *x=buffer[nextout]; nextout=(nextout+1) % N; count--; csignal(notfull); /* 取产品 */ /* 修改队尾指针 */ /* 产品个数减 1 */ /* 向生产者进程发信号,有空闲区了 */ /* 管程初始化程序 */

} monitor_main( ) { } } void { producer(int i) char x; while(1) { produce(x); append(&x); } } void consumer(int i) { char x; while (1) { take(&x); consume(x); } } main( ) { cobegin Producer(1);?;producer(M); Consumer(1);?;consumer(K); coend } /* M 个生产者 /* K 个消费者 */ */ /* 主程序 */ /* 取产品 */ /* 消费产品 */ /* 生产产品 */ /* 放入缓冲区 */ /* 管程定义结束 */ /* 生产者进程 */ nextin=0;nextout=0;count=0;

第 4 章 存储管理 思考与练习题参考答案

1. 选择题
(1) A (2) A (3) D (4) B (5) C (6) A (7) A (8) A (9) C (10) C

2. 填空题
(1) 地址重定位(或:地址映射) (2) 静态重定位、动态重定位 (3) 解决在主存容量较小的存储空间中运行较大程序的矛盾(或:为了扩充内存) (4) 存储容量扩充的存储系统 (5) 页面置换 (6) 缺页次数 (7) 程序执行之前,程序执行过程中 (8) 内部碎片,外部碎片 (9) 时间局部性、空间局部性 (10) 段表,页表

3. 问答题
(11)算法: FIFO, 块数 3: 9, 块数 4: 10, LRU, 10, 8, OPT 7 6

第 5 章 设备管理 思考与练习题参考答案
1. 选择题
(1) A (2) C (3) A (4) C (5) B (6) D (7) A (8) C (9) D (10) A

2. 填空题
(1) 字符设备、块设备 (2) 硬件缓冲、软件缓冲 (3) 管理输入输出操作

(4) 静态分配 (5) 虚拟设备 (6) SPOOLing (7) 块 (8) 设备控制表、控制器控制表 (9) 通道命令字 (10) 字符设备、块设备、网络设备

3. 问答题
(15) FCFS:565 SSTF:162 SCAN:125 C-SCAN:169

第 6 章 文件管理 思考与练习题参考答案
1. 选择题
(1) A (2) B (3) D (4) D (5) B (6) A (7) D (8) A (9) A (10) D

2. 填空题
(1) 创建 (2) 流式文件、记录式文件 (3) 主键 (4) 链接结构(串联结构) (5) 可变分区存储管理方法 (6) 流式文件(无结构文件) (7) 成组链接法 (8) 相对路径 (9) 主控文件表 MFT (10) 虚拟文件系统 VFS

2. 问答题
(13) 答:1569=512× 3+33 要访问字节的逻辑记录号为 3,对应的物理磁盘块号为 80 故应访问第 80 号磁盘块 (15) 解:扇区总数:10*100*16=16000

位示图的位数:16000/8=2000 字节 则位示图需要占 2000 字节的空间


相关文章:
思考与练习题参考答案
思考与练习题参考答案_政史地_高中教育_教育专区。第 1 章 操作系统概述 思考与练习题参考答案 1. 选择题 (1) C (2) D (3) C (4) C (5) B (11...
思考与练习参考答案
思考与练习 1 1.1 什么是测量?什么是电子测量? 答: 测量是为确定被测对象的量值而进行的实验过程。 在这个过程中, 人们借助专门的设备, 把被测量与标准的...
现代实用汉语修辞思考与练习参考答案
《现代实用汉语修辞》思考与练习参考答案 现代实用汉语修辞》兵团电大开放教育学院课程责任教师 尚仁俊 本“参考答案”是为学员提供的参考性质的答案。为节省文字计。...
习题和思考题答案
习题和思考题答案_计算机硬件及网络_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 习题和思考题答案_计算机硬件及网络_IT/计算机_专业资料。单片机原理...
思考与练习题
思考与练习题参考答案 51页 7下载券 思考与练习题4 2页 2下载券 思考与练习...主题一活动 5 思考题 1.您是怎样理解信息技术与课程整合的内涵、目标、途径与...
统计学复习思考题与练习题参考答案doc
统计学复习思考题与练习题参考答案doc_专业资料。1 第一章复习思考题与练习题:一、 思考题 1. 统计的基本任务是什么? 2. 统计研究的基本方法有哪些? 3. ...
思考练习题答案
专英思考练习题答案 10页 免费 思考练习题9参考答案 16页 免费 思考题 暂无评价...思考练习题 1 1. 试计算连续功率均为 1W 的两光源,分别发射 λ=0.5000?m...
思考与练习题
思考与练习题参考答案 51页 7下载券 思考与练习题4 2页 2下载券 思考与练习题5 3页 2下载券 思考与练习题12 2页 2下载券 第八章思考与练习题答案 1页 ...
第5章 假设检验思考与练习参考答案
第5 章 假设检验 思考与练习参考答案 思考与练习参考答案一、最佳选择题 1. 样本均数比较作 t 检验时,分别取以下检验水准,以( E )所取Ⅱ类错误最小。 A....
习题参考答案(不含思考题与编程题)
习题参考答案(不含思考题与编程题)_从业资格考试_资格考试/认证_教育专区。《C 语言程序设计》习题参考答案 _高潮版(不含思考和编程题)习题 2 二、选择题 1....
更多相关标签: