电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

深圳职业技术学院windowsce嵌入式系统开发课程课件进程的同步与互斥

24页
  • 卖家[上传人]:E****
  • 文档编号:91056679
  • 上传时间:2019-06-21
  • 文档格式:PPT
  • 文档大小:145.50KB
  • / 24 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、项目5:多线程-PDA下多任务实现 (2),本节课程主要知识点 Windows CE5.0进程的同步与互斥 Windows CE5.0进程间通信,重点和难点,重点 进程的同步与互斥 难点 进程的通信,Windows CE5.0进程的同步与互斥,进程的同步,进程相互之间是异步运行的。 协同工作的几个进程需要在某些确定的点上协调它们的工作。 一个进程达到了这些点后,除非另一进程已经完成了某些操作,否则就不得不停下来以等待另一伙伴进程为它提供消息,在未获得消息之前,该进程处于等待状态,获得消息后被唤醒进入就绪态。 这就是进程间的同步。,生活中的实例,汽车司机和售票员就是两个进程。 汽车司机负责开车、进站、开车门、关车门及出站。 售票员负责售票、进出站后观察车门,给司机发关车门的消息。 正常状态下,各自活动。司机开车,售票员售票。 在进出站时双方要进行同步。,进程的互斥,系统中的很多资源是共享资源。有些资源每时刻只允许由一个进程使用,同时请求该资源的进程就需要竞争使用这些资源,进程的这种关系为进程的互斥。,生活中的实例,共享资源每时每刻只允许一个人使用,这样的例子在生活中多的很吧? 图书馆的座

      2、位,公用电话 同学们自己找找看?,临界资源critical resource,临界资源 一次仅允许一个进程使用的资源。 很多物理设备都属于临界资源。例如:纸带或卡片输入机、打印机、磁带机等。 除了物理设备外,许多变量、数据、表格、队列等也可以由若干个进程共享使用,但每时刻仅允许一个进程使用,这些资源也属于临界资源。,临界区critical section,临界区 针对同一临界资源进行操作的程序段,也称为或互斥段。 任一共享进程一旦对临界资源开始操作,则在该操作结束之前,其它进程就不能对该临界资源进行处理。也就是说,执行这些操作的程序段必须是互斥执行的。,Windows CE5.0的同步机制,为解决进程之间的同步或因为争夺资源而引起的互斥问题,Windows CE5.0提供了以下运行于核心态的机制: 信号量 事件 互斥体 运行于用户态的机制: 临界区 互锁函数,信号量Semaphore,信号量 一个具有整型值的变量。 在它之上定义三个操作: 信号量初始化。初值是一个正整数n,n的值也表明该资源的数量。 P操作。P操作使信号量减1。如果值变成负数,则执行P操作的进程被阻塞。 V操作。V操作

      3、使信号量值加1,如果值不是正数,则被P操作阻塞的进程被解除阻塞。,信号量的主要函数,CreateSemphore 创建信号量 ReleaseSemphore 释放信号量 WaitForSingleObject WaitForMultipleObjects 申请信号量,事件Event,事件 事件就是一个标志,不具备其它信息。 在一个进程中将事件设置为通知状态,则所有等待该事件的进程将进入就绪状态。 没有进程发送该事件的通知信号,则所有等待该事件的进程均处于阻塞状态。 事件在进程的同步与互斥中用的最多。,事件的相关函数,SetEvent 置事件为有信号状态 ResetEvent 置事件为无信号状态 PulseEvent 将事件对象置为有信号状态,然后立即置为无信号状态 OpenEvent 打开已经创建的事件对象,一般用于不同进程内的线程同步 WaitForSingleObject 等待事件发生 WaitForMultipleObjects,互斥体Mutex (Mutual Exclusion),互斥体 CMutex类 的一个对象,在只允许一个进程互斥访问临界资源时使用。 利用互斥体可以让不

      4、同进程中的线程互斥访问一个共享资源。,互斥体的相关函数,CreateMutex() 创建互斥体 OpenMutex() 打开互斥体 ReleaseMutex() 释放互斥体,临界区Critical Section,临界区 是应用程序定义的一个数据结构,用来把一段代码标记为临界区。 临界区可以保证在临界区内所有被访问的资源不被其他进程访问,直到当前进程执行完临界区的代码为止。,临界区的相关函数,IntializeCriticalSection 初始化临界区 EnterCriticalSection 进入临界区 LeaveCriticalSection 离开临界区 DeleteCriticalSection 删除临界区,Windows CE5.0进程间通信,进程间通信,进程通信是指进程之间可直接以较高的效率传递较多数据的信息交换方式。 在进程间传递大量信息需要操作系统提供相应的机制。 WindowsCE5.0提供的进程间通信机制包括共享内存、消息传递和管道。,共享内存,共享内存 在相互通信的进程间设有公共内存,一组进程向该公共内存中写,另一组进程从公共内存中读,通过这种方式实现两组进程间的信息交换。 共享内存的物理意义是,同一块物理内存被映射到相互通信的各进程的地址空间内。 共享内存是最快的进程间通信方式。,消息,消息是在进程之间的一种通信机制。 消息没有定义格式,所有的消息都是字节流,没有特定的含义。 从应用观点看,根据应用定义的消息格式,消息可被解释成特定的含义 系统允许一个应用程序或驱动程序创建自己的消息队列,消息队列既可以作为在进程之间传递数据的工具,也可以作为进程之间同步工具。 只占用很小的内存。,消息的相关函数,CreateMsgQueue 创建一个消息队列 WriteMsgQueue 写入消息到消息队列 ReadMsgQueue 从消息队列读出消息 CloseMsgQueue 关闭消息队列缓冲区 OpenMsgQueue 打开其它进程中创建 的消息队列。,管道Pipe,管道 也称共享文件方式,基于文件系统,利用一个打开的共享文件连接两个相互通信的进程,文件作为缓冲传输介质。,

      《深圳职业技术学院windowsce嵌入式系统开发课程课件进程的同步与互斥》由会员E****分享,可在线阅读,更多相关《深圳职业技术学院windowsce嵌入式系统开发课程课件进程的同步与互斥》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.