构化设计的原则,随意转移控制。 (3) 程序流程图不易表示数据结构。 (4) 程序流程图的每个符号对应于源程序的一行代码,对于提高大型系统的可理解 性作用甚微。 2.盒图的优点 盒图有这样的一些优点: (1) 由于只能从上边进入盒子然后从下面走出盒子,除此之外没有其它的入口和出 口,所以方框图限制了随意的控制转移,保证了程序有良好的结构。 (2) 方框图是一种强制设计人员和程序员进行结构化思维的工具,一开始就用方框 图来学习程序设计的软件人员不会养成坏的程序设计习惯。因为它除了几种标 准结构的符号之外,不再提供其它描述手段。 (3) 方框图形象直观, 具有良好的可见度, 例如循环的范围、条件语句的范围清晰, 所以容易理解设计意图,为编程、复审和选择测试实例、维护都带来了方便。 (4) 局部数据和全程数据的作用域很容易确定。 (5) 易于表达嵌套结构。 3.PAD 图的优点 PAD 图的主要优点如下: (1)PAD 的一个独特之处在于, 以PAD 为基础, 遵循一个机械的规则就能方便地编 写出程序,这个规则称为走树(Tree walk)。在走树时只要顺着PAD 所呈的树 形结构移动,对参照上文所给出的PAD 成分同PASCAL 结构的对应关系,就可依 次将遇到的PAD 成分翻译成PASCAL 程序,有利于提高软件的生产率。 (2)PAD 图所描绘的程序结构十分清晰。图中最左面的竖线是程序的主线,即第一 层结构。随着程序层次的增加,PAD 图逐渐向右延伸,每增加一个层次,图形 就向右扩展一条竖线。PAD 图中竖线的总条数就是程序的层次数。用PAD 图表 示处理逻辑,易读、易懂、易记。PAD 图是二维树形结构的图形,程序从图中 最左竖线上端的结点开始执行, 自上而下,从左向右顺序执行, 遍历所有结点。 (3)PAD 图的符号支持自顶向下、逐步求精的方法的使用。开始时设计者可以定义 一个抽象程序。随着设计工作的深入而使用def 符号逐步增加细节,直至完成 详细设计。 (4) 使用表示结构化控制结构的PAD 符号所设计出来的程序必然是结构化程序。
论述题3 参考答案 操作系统中有若干进程并发执行, 它们不断申请、使用、释放系统资源,虽然系统的进 程协调、通信机构会对它们进行控制,但也可能出现若干进程都相互等待对方释放资源才能 继续运行,否则就阻塞的情况。此时,若不借助外界因素, 谁也不能释放资源, 谁也不能解 除阻塞状态。根据这样的情况,操作系统中的死锁被定义为系统中两个或者多个进程无限期 地等待永远不会发生的条件,系统处于停滞状态,这就是死锁。 产生死锁的原因主要是: (1) 因为系统资源不足。 (2) 进程运行推进的顺序不合适。 (3) 资源分配不当等。 如果系统资源充足, 进程的资源请求都能够得到满足,死锁出现的可能性就很低, 否则 就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。 产生死锁的四个必要条件: (1) 互斥条件:一个资源每次只能被一个进程使用。 (2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 (3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。 (4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。 这四个条件是死锁的必要条件, 只要系统发生死锁, 这些条件必然成立, 而只要上述条件之 一不满足,就不会发生死锁。 死锁的解除与预防: 理解了死锁的原因, 尤其是产生死锁的四个必要条件,就可以最大可能地避免、预防和 解除死锁。所以, 在系统设计、进程调度等方面注意如何不让这四个必要条件成立, 如何确 |