摘要:
第一章 概 述主要内容:软件?软件的特点?软件的分类?计算机软件的发展软件危机?表现?原因?克服的方法?软件工程?七条基本原理?软件过程?软件的生命周期?软件过程模型?软件开发方法软件工具与软件开发环境要求 :(1)识记:软件、软件的特点?软件工程?(2)领会:软件危机的出现,表现?原因?克服的方法,软件生命周期各阶段任务,软件工程方法学及常见软件过程模型。1.1 软件定义: 软件 == 程序 + 数据 + 文档 1.数据:程序加工处理的对象。包括数据的表示、组织与存储。数据 == 初始化数据 + 测试数据2.文档(document) :开发、使用和维护程序所需的图文资料 。文档 == 开发文 阅读全文
摘要:
加强版理发师问题2.理发师问题:一个理发店有一个入口和一个出口。理发店内有一个可站5 位顾客的站席区、4 个单人沙发、3 个理发师及其专用理发工具、一个收银台。新来的顾客坐在沙发上等待;没有空沙发时,可在站席区等待;站席区满时,只能在入口外等待。理发师可从事理发、收银和休息三种活动。理发店的活动满足下列条件:1)休息的理发师是坐地自己专用的理发椅上,不会占用顾客的沙发;2)处理休息状态的理发师可为在沙发上等待时间最长的顾客理发;3)理发时间长短由理发师决定;4)在站席区等待时间最长的顾客可坐到空闲的理发上;5)任何时刻最多只能有一个理发师在收银。试用信号量机制或管程机制实现理发师进程和顾客进程 阅读全文
摘要:
理发师问题: 理发店理有一位理发师、一把理发椅和n把供等候理发的顾客坐的椅子 如果没有顾客,理发师便在理发椅上睡觉 一个顾客到来时,它必须叫醒理发师 如果理发师正在理发时又有顾客来到,则如果有空椅子可坐,就坐下来等待,否则就离开。 解法: 引入3个信号量和一个控制变量: 1)控制变量waiting用来记录等候理发的顾客数,初值均为0; 2)信号量customers用来记录等候理发的顾客数,并用作阻塞理发师进程,初值为0; 3)信号量barbers用来记录正在等候顾客的理发师数,并用作阻塞顾客进程,初值为0; 4)信号量mutex用于互斥,初值为1. var waiting : integer; 阅读全文