1、习题 3 习题 3 3.1 多道程序可以提高系统效率, 是否在内存中尽可能多的存放多个程序, 为什么 ? 答: 如果内存中可同时运行的程序过多,这些程序之间可能会因为相互等待被其它程 序占用的设备资源(如 I/O 设备) ,反而可能会影响系统效率。当然,处理机的竞争在 作业道数过多的情况下更加激烈,可能会产生两个不利后果。一是影响系统的响应速 度, 二是产生过多的系统开销 (系统本身需要运行必要的程序进行相应的控制和管理) 。 3.2 操作系统通过什么概念来刻画程序的并发执行、资源分配及随机性 ? 答: 进程 3.3 试画出下面 5 条语句的前趋图: S1:x = 5;S2:y = x + 8;S3:z = x + y;S4:a = x + y + z;S5:b = y + a。 答: S1 S2 S3 S4 S5 3.4 从多个程序在单处理机上执行的角度来考察,并发的含义是什么 ? 答: 在时间上来表示,并发执行是一个程序的开始是在另一个程序结束之前 3.5 有下面的 5 条语句,试画出前趋图; S1 :a = x+10;S2 :b = a + 10;S3:c = 4*x;S4:d
2、= b + c;S5:e = d + 5; 并根据Bernstein 条件,证明S2 和S3 是可以并发执行的,而S4 和S5 语句是不能并发执 行的。 答: S2 和S3 是可以并发执行,因为: R(S2)W(S3)=ac= 。 W(S2)R(S3)=bx= 。 W(S2)W(S3)=bc= 。 S4 和S5 语句不能并发执行,因为: W(S4)R(S5)=dd=d。 3.6 在书中给出的有关进程描述中,它们所具有的本质是什么 ? 答: 进程是一个动态的执行过程。 3.7 并发运行因为什么发生结果不可再现性 ? 答: 由于失去了封闭性。 3.8 进程的基本特征是什么 ? 39 答: 动态性、并发性、独立性、异步性和结构性。 3.9 进程的构成中,PCB 是属于系统还是用户的部分,它的作用是什么 ? 答: PCB 属于系统,是系统构建的,其作用是系统根据 PCB 感知进程的存在和通过 PCB 中所包含的各项变量的变化,掌握进程所处的状态以达到控制进程活动的目的。 3.10 为什么说 PCB 是操作系统感知进程存在的唯一标志 ? 答: PCB 包含了有关进程的描述信息、控制信息以及资源信
3、息,是进程动态特征的集中 反映。 3.11 用户进程所执行的程序一定是用户自己编写的应用程序,这句话是否正确 ? 答: 否。 3.12 进程的三个基本状态是什么 ?怎样从进程状态的角度理解进程的“走走停停” 答: 事件发生 如 I/O 完成 进程三状态及转换图 运行运行 就绪就绪 等待事件发生 如等待 I/O 时间片到 调度 阻塞阻塞 进程或进程之间可能由于等待 I/O 操作、竞争资源、以及相互协作等原因产生了“走 走停停”的动态性。 3.13 进程如果正常执行结束,为什么 还要在系统中设置一个完成状态,而不直接 从系统中退出消亡 ? 4 运行 就绪 运行 就绪 3 1 2 阻塞阻塞 完成完成 5 图 1 答: 需要结果输出及系统记帐等善后 3.14 如有下面的进程状态转换 (变迁) 图 1 表示,图中的数字表示一种形式的状态 转换。试验判别下述诸条件是否成立 ?为 什么 ? 1 2;1 3;2 1; 2 4;3 1;3 4; 4 1;4 2;4 3; 5 1;5 4; 其中,条件式 x y 表示:若一进程产生状态转换 x,则导致另一个进程产生状态转换 y (x,y=1,2,3,4,5
4、) 答: 40 1 2; 1 3; 2 1; 2 4; 3 1; 3 4; 4 1; 4 2; 4 3; 5 1; 5 4; 3.15 引入挂起状态的理由是什么,给出一个挂起的时机(任意就绪、阻塞活动状态下) 答: 引入挂起状态的目的就是使一些进程已占用的系统资源让出部分,或全部(PCB 仍 在系统中) ,以供其它进程利用让出的系统资源,提高系统的整体效率。 一个挂起的时机就是所有进程都在等待 I/O,而处理机在空闲时。 3.16 为什么可以出现从各种状态的进程直接进入完成状态 ? 答: 如果父进程终止,或被创建它的进程终止,则表明一个进程可以在任何状态下终 止而进入完成状态。 3.17 操作系统为什么需要考虑处理机的执行模式,通常由用户模式进入系统模式的时 机是什么? 答: 使用两种模式的原因是很显然的, 它可以保护操作系统及相关的各种数据表不受到 用户进程的干涉,这也是操作系统管理和控制计算机系统的重要技术手段。 由用户模式进入系统模式的时机是中断事件的发生。 3.18 解释原语的含义,如果原语是由一段程序构成,为什么说原语是不能并发执行 的 ?不是说系统内多个程序(进程)可以并发
5、执行吗 ? 答: 原语的含义是原子操作不可分割的基本单位。 因为它包含有共享变量。 3.19 给出一个唤醒进程的时机,并说明可以由谁唤醒一个在阻塞态的进程 答: 当存在等待 I/O 的进程在 I/O 完成中断信号到来后被唤醒。唤醒阻塞态进程可以 是同步进程,及系统程序(如中断处理程序) 。 3.20 进程之间的制约关系有几种, 请分别给出每一种制约关系在现实生活中的具体原 由和例子。 答: 有两种:直接和间接制约关系。 直接制约关系:运动会上发令员与记时员的关系。 间接制约关系:对向在一座仅可以通过一辆车的桥上行使(共同竞争一座桥) 。 3.21 引入线程的根本原因是什么 ? 答: 从计算机的效率,多个并发活动减少系统对于并发所带来的时/空开销。 3.22 从调度、资源分配对进程和线程进行比较。 答: 调度; 进程在传统的操作系统中, 既是资源的拥有者, 也是系统调度和分派的单位。 而在引入线程之后,进程仅作为资源的分配单位,线程作为调度和分派的单位。在同一进程 内, 线程的切换不会引起进程的切换; 而由一个进程中的线程切换到另一个进程中的线程时, 才会发生进程切换。 系统资源;在引入线程的操作系统中,线程成为了被调度和分派的基本单位。线程 41 基本不拥有资源,只有一些运行所必须的资源(如程序计数器、一组寄存器和栈) ,但它可 以和进程内其它线程共享进程所拥有的全部资源, 即一个进程的代码段、 数据段以及系统资 源(如打开的文件、I/O 设备等) 。 3.23 用户级线程与内核级线程最主要的区别是什么 ? 答: 有两点: (1)许多系统调用都会引起用户执行流的阻塞。因此,当用户级线程执行一个系 统调用时,不仅这个线程被阻塞,整个进程的所有线程都被阻塞了。 (2)在纯粹的用户级线程策略中,由于内核是按进程作为调度单位的,因此一个 多线程用户应用程序不能利用多处理技术。 内核一次只将一个进程分配给一个处理机, 也就 只能有一个线程可以执行 42
《计算机操作系统教程--核心与设计原理习题3答案》由会员luoxia****01805分享,可在线阅读,更多相关《计算机操作系统教程--核心与设计原理习题3答案》请在金锄头文库上搜索。