213多道程序设计 定义: Multiprogramming 多道程序设计是指允许多个程序同时进入 内存并运行 (引入目的是为了提高系统效率) 与并发不完全是一个概念,但效果相似
2.1.3 多道程序设计 定义:Multiprogramming 多道程序设计是指允许多个程序同时进入 内存并运行 (引入目的是为了提高系统效率) 与并发不完全是一个概念,但效果相似
考虑因素: 在多道程序环境下如何向用户提供服务 在并发程序之间如何正确传递消息(通讯) 如何对CPU进行调度,保证每个用户相对 公平地得到CPU (CPU是一个只可调度,不可分配的资源)
考虑因素: • 在多道程序环境下如何向用户提供服务 • 在并发程序之间如何正确传递消息(通讯) • 如何对CPU进行调度,保证每个用户相对 公平地得到CPU (CPU是一个只可调度,不可分配的资源)
如何管理其他资源 当各用户对资源使用上发生冲突时,如何 处理竞争 对CPU只能通过调度来解决竞争问题,而 对于其他资源通过申请一分配—使用一回 收的办法进行管理,当且仅当占有CPU的 时候才可以申请,否则要排队等候
• 如何管理其他资源 当各用户对资源使用上发生冲突时,如何 处理竞争 对CPU只能通过调度来解决竞争问题,而 对于其他资源通过申请—分配—使用—回 收的办法进行管理,当且仅当占有CPU的 时候才可以申请,否则要排队等候
2.14与时向间有关的错误 一个飞机订票系统,两个终端,运行T1、T2进 程 T1 T2: ●●● ●●● Read(x) Read(x if x>=1 then if x>=1 then x:=X-1; x:=X-1; write(x: write(x)
2.1.4 与时间有关的错误 一个飞机订票系统,两个终端,运行T1、T2进 程 T1 : T2: ... ... Read(x); Read(x); if x>=1 then if x>=1 then x:=x-1; x:=x-1; write(x); write(x); ...
复制一个记录 get copy put Cobegin get copy put: Coend
Cobegin get ; copy ; put ; Coend get copy put f s t g 复制一个记录