- 7
- 0
- 约8.11千字
- 约 24页
- 2019-09-29 发布于湖北
- 举报
嵌入式Linux操作系统第6章 进程间通信 * 第1章 嵌入式Linux操作系统简介 第2章 Linux操作系统使用与系统配置 第3章 嵌入式Linux编程环境 第4章 存储管理 第5章 操作系统进程 第6章 进程间通信 第7章 中断与系统调用 第8章 文件管理 第9章 设备管理 第10章 嵌入式Linux的构建 课程安排: * 第6章 进程间通信 6.1 什么是进程间通信 6.2 互斥与同步 6.3 信号量 6.4 共享内存 6.5 消息队列 6.6 管道 思考题 本章课程: * 6.1 什么是进程间通信 进程间通信(IPC)就是为了解决这些问题而提出的特有机制,它们为多任务系统提供了不同进程的通信机制,同时也提供了对于临界资源和共享资源的保护。 进程间通信的主要目的是实现同一计算机系统内部的相互协作的进程之间的数据共享与信息交换,由于这些进程处于同一软件和硬件环境下,利用操作系统提供的编程接口,用户可以方便地在程序中实现这种通信;应用程序间通信的主要目的是实现不同计算机系统中的相互协作的应用程序之间的数据共享与信息交换,由于应用程序分别运行在不同计算机系统中,它们之间要通过网络之间的协议才能实现数据共享与信息交换。 * 6.1 什么是进程间通信 程序和进程 最初Unix IPC包括:管道、FIFO、信号; System V IPC包括:System V消息队列、 System V信号灯、System V共享内存区; Posix IPC包括: Posix消息队列、Posix信号灯、Posix共享内存区。 进程间通信,主要有两种方式:虚拟内存系统中的进程间通信和Falt 内存系统中的进程间通信。 UCOS是比较典型的Falt 内存系统,它不支持虚拟内存机制,也没有用户空间和内核空间的区别,实际上它就类似Linux的内核空间,不同任务间可以相互访问,没有不同进程间内存保护机制。所以可以完全利用Linux系统中的同一进程中不同线程的通信机制。由于所有的任务与中断都共享同一地址空间,所以同步机制也与任务间通信在同一空间中实现,是这两种机制的相互替换成为可能。 Windows作为一种复杂的多任务系统,也提供了多种进程间通信方式,包括:文件映射、共享内存、匿名管道、命名管道、邮件槽、剪贴板、动态数据交换(DDE)、对象连接与嵌入(OLE)、动态连接库(DLL)、远程过程调用(RPC)、NetBios函数、Sockets、WM_COPYDATA消息。 * 6.2 互斥与同步 互斥与同步是进程间通信中非常重要的一对概念,也是相交进程之间的两种主要关系。在嵌入式操作系统开发中经常会遇到同步、互斥的问题,如果处理得不好,程序就会出现很多意想不到的结果。而在多处理器之间、ISR与ISR之间、ISR与任务之间、任务与任务之间都可能需要互斥与同步。例如不同任务优先级的抢占,中断处理等。 互斥和同步是两个紧密相关而又容易混淆的概念。所谓互斥,是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。两个互斥的进程,只能等到前一个进程运行完后,下一个进程才能运行。所谓同步,是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。 同步是一种更为复杂的互斥,而互斥是一种特殊的同步。 原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位。原子操作主要用于实现资源计数,很多引用计数(refcnt)就是通过原子操作实现的。 * 6.2 互斥与同步 原子类型定义如下: typedef struct { volatile int counter; } atomic_t; 有关原子操作: #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) #define atomic_add(i, v) (void) atomic_add_return(i, v) #define atomic_inc(v) (void) atomic_add_return(1, v) #define atomic_sub(i, v) (void) atomic_sub_return(i, v) #define atomic_dec(v) (void) atomic_sub_return(1, v) #define atomic_inc_and_test(v) (atomic_add_return(1, v) == 0) #def
您可能关注的文档
- 第6章 固定资产.ppt
- 第6章 网络安全.ppt
- 第5章食品香料香精化学.ppt
- 第6-1章膜分离技术.ppt
- 第6章(3)水利建设项目财务评价.ppt
- 第6章(3)水利建设项目财务评价分解.ppt
- 第6章-信息系统安全与保密技术-改.ppt
- 第6直线的倾斜角与斜率、直线的方程.ppt
- 第6章-商品检验与质量监督.ppt
- 第5课文明的冲撞与融合(2).ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 人教版生物学选择性必修3全册教学课件.pptx
- 桑黄编制说明.doc VIP
- 2025年重庆市中考物理试卷真题(含答案解析).docx
- 数学试卷【新高考I卷】【山东卷】【高考真题】山东省2025年山东省普通高等学校招生全国统一考试(新I卷)(6.7-6.9).docx VIP
- 《上下五千年(六)》青少年教育文学丛书.pdf VIP
- 高考评价体系下基于核心素养素养2020年高考化学后期复习策略讲座.ppt VIP
- 《海上风电场工程风电机组基础设计规范》.pdf VIP
- 数学试卷答案【新高考I卷】【山东卷】【高考真题】山东省2025年山东省普通高等学校招生全国统一考试(新I卷)(6.7-6.9).docx VIP
- 复变函数1省公开课金奖全国赛课一等奖微课获奖课件.pptx VIP
- 316L 不锈钢收缩率实验报告.docx VIP
原创力文档

文档评论(0)