实时操作系统 同步、互斥与通信ppt课件.ppt

实时操作系统 同步、互斥与通信ppt课件.ppt

ID:58802941

大小:1.99 MB

页数:134页

时间:2020-10-02

实时操作系统 同步、互斥与通信ppt课件.ppt_第1页
实时操作系统 同步、互斥与通信ppt课件.ppt_第2页
实时操作系统 同步、互斥与通信ppt课件.ppt_第3页
实时操作系统 同步、互斥与通信ppt课件.ppt_第4页
实时操作系统 同步、互斥与通信ppt课件.ppt_第5页
资源描述:

《实时操作系统 同步、互斥与通信ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式实时操作系统及应用开发第六章同步、互斥与通信主要内容概述信号量邮箱和消息队列管道事件并发的进程之间的协作包括如下类型:进程互斥多个进程不能同时使用同一个资源,某个进程使用该资源时,其他进程必须等待。保证各个进程不同时进入临界区,有效访问临界资源。进程同步多个进程的调用存在时序关系,某些进程的执行必须先于另一些进程。保证进程运行的合理顺。进程通信多个进程之间传递消息。互斥和同步是进程并发的两个要素概述ISRxTaskyPOSTPEND任务与ISR之间的同步(单向)TaskxTaskyPOSTPENDP

2、OSTPEND任务与任务之间的同步(双向)任务与任务之间的同步(单向)TaskxTaskyPOSTPEND概述进程互斥与同步考虑下面一个字符回显的的过程voidecho() {chin=getchar(); chout=chin; putchar(chout);}从键盘获得输入,每击一下键,输入字符就保存在变量chin中,然后传送给变量chout,并回送显示器任何程序可以重复地调用此过程,接收用户输入,并在用户的屏幕上显示考虑一个支持单用户单处理器、多道程序设计系统将其当作一个共享过程,载入到所有应用程序

3、公用的全局存储区中。这样每个应用程序都能使用这个过程,由于每个应用程序只需使用echo过程的一个副本,从而节省空间进程间共享主存是非常有用的,它允许进程间有效而紧密的交互,有利于进程的相互通信。但是,共享也可能会带来一些问题voidecho() {chin=getchar(); chout=chin; putchar(chout);}进程互斥与同步getchar()chinchoutputchar()P1P2getchar()XXgetchar()YYYputchar()YYY?echovoidecho(

4、) {chin=getchar(); chout=chin; putchar(chout);}P1voidecho(){chin=getchar();chout=chin; putchar(chout);}调用echo超时,就绪P2调用echo资源正忙阻塞状态调度运行释放echo唤醒获取资源就绪状态调度运行在单处理器平台上,嵌入式操作系统内核提供的同步、互斥与通信机制主要包括:信号量(semaphore),用于互斥与同步事件(组)(eventgroup),用于同步异步信号(asynchronoussign

5、al),用于同步邮箱(mailbox)、消息队列(messagequeue),用于消息通信管道(pipe),提供非结构化数据交换和实现同步概述忙等待模型持续检查一个变量,直到它可用为止睡眠-唤醒模型通过PV原语操作保证进程间的互斥消息传递模型通过消息传送系统实现多进程之间的互斥进程互斥和同步的经典解决机制第一节 信号量信号量的种类及用途信号量的定义互斥信号量二值信号量计数信号量信号量机制的主要数据结构典型的信号量操作临界资源和临界区操作系统把一次仅允许一个进程使用的资源称为临界资源。一个进程中访问临界资

6、源的那段程序称为临界区。进程P1和P2共享同一打印机资源,其操作流程如下:p1:entrycode使用打印机exitcodep2:entrycode使用打印机exitcode系统打印机即为——临界资源P1和p2的访问临界资源打印机的代码即为——临界区临界资源和临界区临界区临界资源进程P1进程P2{{R1=count;R2=count;R1++;R2++;count=R1;count=R2;}}(设count的初始值为5)为互斥地使用临界资源,需保证进程互斥地进入临界区。临界资源和临界区临界区的进入

7、准则空闲让进:临界资源空闲时,允许进程进入临界区忙着等待:临界资源正在被访问时,其他需要进入临界区的进程必须等待有限等待:保证进程在有效的时间内进入临界区,避免“死等”让权等待:当进程不能进入临界区时,应立即释放处理机,以免其它进程“忙等”临界资源和临界区进程互斥进入临界区的实现方法硬件方法禁止中断在进程进入临界区之后,禁止该进程中断专用机器指令TS指令,Swap指令软件方法信号量和PV操作临界资源和临界区信号量是一个数据结构,其定义如下:structsemaphore{intvalue;structPC

8、B*queue;}信号量semaphore包括一个整型值和一个等待队列。信号量只能通过P原语和V原语访问。什么是信号量什么是信号量信号量被定义为一个整形变量,在其上定义了以下三个操作:1、可以被初始化一个非负数2、wait操作(P操作)将信号量的值减1后,若该值为负,则执行wait操作的任务等待3、signal操作(V操作)将信号量的值增1后,若该值为非正,则执行signal操作的任务唤醒P原语——P(S)S:=S-1;如果S

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。