- 1、本文档共134页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实时操作系统同步-互斥和通信
嵌入式实时操作系统及应用开发;主要内容; 并发的进程之间的协作包括如下类型:
进程互斥
多个进程不能同时使用同一个资源,某个进程使用该资源时,其他进程必须等待。保证各个进程不同时进入临界区,有效访问临界资源。
进程同步
多个进程的调用存在时序关系,某些进程的执行必须先于另一些进程。保证进程运行的合理顺。
进程通信
多个进程之间传递消息。
互斥和同步是进程并发的两个要素;
ISR x;进程互斥与同步;考虑一个支持单用户单处理器、多道程序设计系统
将其当作一个共享过程,载入到所有应用程序公用的全局存储区中。这样每个应用程序都能使用这个过程,由于每个应用程序只需使用echo过程的一个副本,从而节省空间
进程间共享主存是非常有用的,它允许进程间有效而紧密的交互,有利于进程的相互通信。但是,共享??可能会带来一些问题; getchar();P1;在单处理器平台上,嵌入式操作系统内核提供的同步、互斥与通信机制主要包括:
信号量(semaphore),用于互斥与同步
事件(组)(event group),用于同步
异步信号(asynchronous signal),用于同步
邮箱(mailbox)、消息队列(message queue),用于消息通信
管道(pipe),提供非结构化数据交换和实现同步 ;忙等待模型
持续检查一个变量,直到它可用为止
睡眠-唤醒模型
通过PV原语操作保证进程间的互斥
消息传递模型
通过消息传送系统实现多进程之间的互斥;第一节信号量;临界资源和临界区;进程P1和P2共享同一打印机资源,其操作流程如下:
p1: entry code?使用打印机?exit code
p2: entry code?使用打印机?exit code
系统打印机即为——临界资源
P1和p2的访问临界资源打印机的代码即为——临界区;;临界区的进入准则
空闲让进:临界资源空闲时,允许进程进入临界区
忙着等待:临界资源正在被访问时,其他需要进入临界区的进程必须等待
有限等待:保证进程在有效的时间内进入临界区,避免“死等”
让权等待:当进程不能进入临界区时,应立即释放处理机,以免其它进程“忙等”;进程互斥进入临界区的实现方法
硬件方法
禁止中断
在进程进入临界区之后,禁止该进程中断
专用机器指令
TS指令,Swap指令
软件方法
信号量和PV操作
;信号量是一个数据结构,其定义如下:
struct semaphore
{
int value;
struct PCB * queue;
}
信号量semaphore包括一个整型值和一个等待队列。信号量只能通过P原语和V原语访问。;什么是信号量;P 原语—— P(S)
S := S - 1;
如果 S =0,则表示有资源,该进程继续执行;
如果 S 0,则表示已无资源,执行原语的进程被置成阻塞状态,并使其在 S 信号量的队列中等待,直至其他进程在 S 上执行 V 操作释放它为止
;P原语;P原语操作原型
void wait (semaphore s) //
{
s.value = s.value – 1;
if (s.value 0)
block(s.queue);//阻塞进程
};V 原语—— V(S)
S := S + 1
如果 S 0,则该进程继续执行
如果 S =0,说明有进程被挂起,则唤醒一阻塞进程,即从S信号量的等待队列首摘下一个PCB,将其置为就绪状态,执行 V(S) 者继续执行
P操作可能会引起进程的阻塞,V操作不会引起本身进程状态的变化,但可能唤醒其他进程,使其从阻塞状态转变到就绪状态;V原语;V原语操作原型
void signal (semaphore s)
{
s.value = s.value + 1;
if (s.value =0)
wakup(s.queue);//唤醒进程
};P原语的作用
申请临界资源,如果该资源正被其他进程使用,则等待。
V原语的作用
释放临界资源,如有其他进程等待该资源,则唤醒。
使用PV原语可以解决进程的互斥和同步;;哲学家就餐问题;
;
;为克服死锁危险,可以再另买5跟筷子 (一个更卫生的解决方案) 或者教会哲学家仅用一跟筷子吃面
另一种方法是,考虑增加一位服务员,他只允许4位哲学家同时坐上餐桌吃
您可能关注的文档
- 安徽汽车职业的技术学院.ppt
- 安徽电气工程职业的技术学院基本部数学教研室.ppt
- 安徽国际京田介绍00.ppt
- 安徽省医疗机构输血岗位的技术培训项目介绍[冯书礼].ppt
- 安徽省农民创业培训信息的技术应用讲座.ppt
- 安徽省教育的技术装备中心.ppt
- 安徽建筑工程学院建筑环境测试的技术5.ppt
- 安庆城市滨水公共活动中心城市的设计.ppt
- 安徽宣城经开区核心人居典范项目赢销企划总纲112p销售推广策划1.ppt
- 安徽省2013年高中课堂教学竞赛说课课件近代中国经济结构的变动—黄山市歙县二中洪梦辉(共19张).ppt
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
最近下载
- 肝囊肿开窗引流术后护理查房.pptx
- 芯源微 -国内涂胶显影设备龙头, 国内涂胶显影设备龙头, 国内涂胶显影设备龙头, 布局化学清洗和 布局化学清洗和先进封装 先进封装 20240625 -西部证券.docx
- 2023-2024年EMS审核知识统考试题及答案汇总.pdf VIP
- 一种标示牌粘贴工具.pdf VIP
- DBJ50_T-157-2022 房屋建筑和市政基础设施工程施工现场从业人员配备标准.docx
- 云南省保山市隆阳区金厂河铜锌铁多金属矿矿床水文地质特征.doc VIP
- 电化学阻抗谱(EIS)原理及谱图分析.pptx
- 中班-科学-前进!磁力车(磁铁同极相斥、异极相吸)-课件(互动版).pptx
- 柳永《八声甘州》优质课件.ppt
- 道德与法治五年级上册第四单元传统美德 源远流长 教学设计.pdf
文档评论(0)