【重学计算机】操作系统D6章:并发程序设计
2019-04-17 20:54
204 查看
1. 并发程序的基本概念
- 程序顺序性 内部顺序性:CPU严格按照顺序执行指令
- 外部顺序性:程序员设计程序时往往用顺序设计的思想
-
程序执行的顺序性
-
无关的并发进程:一组并发进程,在不同变量集上运行
-
进程互斥:争夺某一个资源
-
临界资源:一次只能被一个进程使用的资源(互斥共享变量)
-
一次至多允许一个进程停留在相关临界区
2. 并发程序控制和问题
- 临界区管理实现: 思路:判断锁和获取锁要作为原子操作,不然会死锁或时间错误
- 实现: 原子指令:测试并建立锁指令、对换指令(忙式等待,效率不高)
- 中断控制:进出临界区时开关中断,这样临界区执行时就不会被中断,自然实现了原子性 这个时操作系统的原语,是操作系统解决这个问题的办法
- 不建议用户程序使用,因为无法保证程序员设计出短小精悍的原语
-
信号量:低级通信方式
-
概念:两个进程分别等待对方占有的资源
-
破坏上述四个条件之一即可
算法:warshall闭包
相关文章推荐
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(3)
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(1)――基本概念
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(2) ――任务控制 分类: vxWorks 2014-03-12 09:43 481人阅读 评论(0) 收藏
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(2) ――任务控制
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(2) ――任务控制
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(2) ――任务控制
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(1)――基本概念
- 计算机操作系统-页面置换模拟程序设计
- 基于嵌入式操作系统VxWorks的多任务并发程序设计――中断与任务
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(3) ――任务调度
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(3)――任务调度
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(2) ――任务控制
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(4)――任务间通信A
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(4)――任务间通信B
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(4)――任务间通信A
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(2) ――任务控制
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(5)――中断与任务
- 基于嵌入式操作系统VxWorks 的多任务并发程序设计(5)
- 基于嵌入式操作系统VxWorks 的多任务并发程序设计(6)
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(6)――综合实例