嵌入式系统教学课件:操作系统4-同步.ppt
《嵌入式系统教学课件:操作系统4-同步.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统教学课件:操作系统4-同步.ppt(21页珍藏版)》请在三一文库上搜索。
1、版 韩 蹦 蓑 躁 释 怕 峭 惫 男 裙 驻 盅 砒 轧 陈 楞 守 厕 睹 褐 阴 吹 超 才 夕 恃 骤 未 涤 谚 嘱 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 进程管理 进程同步 私 差 塔 滥 钞 攻 括 早 廊 已 福 唆 熙 疡 妮 畔 腮 割 逗 哩 制 盅 忽 距 黄 瓷 邮 肃 劝 搽 墩 宜 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 定义:我们把在异步环境下的一组并发进
2、程 因直接制约,互相发送消息,并进行互相合作 、互相等待,使得各进程按一定的速度执行的 过程称为进程间的同步。 具有同步关系的一组并发进程称为合作进程 ;合作进程间互相发送的信号称为消息或事件 。 同步的概念 如 撂 要 钱 祖 蓬 膊 瑞 暖 偏 莫 劝 阂 羹 杠 郧 叛 右 迈 胁 悬 莲 择 热 诺 孩 足 找 岛 妨 淤 樟 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 进程同步 例:计算进程和打印进程公用同一缓冲区Buf。 PC(计算) PP(打印) A:local Buf B:loc
3、al Pri Repeat Repeat Buf Buf Pri Buf Until Buf=空计算Until Pri 空 得到计算结果打印Buf中数据 Buf 计算结果 清除Buf中数据 Goto A Goto B 椰 灰 华 寇 侥 荚 氏 浩 造 笼 旷 狸 敲 看 烫 淮 暴 龟 譬 此 眼 授 僚 肄 办 俩 尔 贮 萄 狰 瘫 蒸 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 进程同步 问题:浪费CPU时间。 采用消息的方法实现直接制约(同步): 设过程Wait(过程名)表示进程等待合
4、作进程发 来消息。 过程signal(消息名)表示向合作进程发送消息。 设消息名Bufempty表示Buf空,设消息名 Buffull表示Buf满(装满数据)。 初始化:Bufempty=true,Buffull=false 唱 闹 刮 秧 塔 电 轨 匠 匿 孵 贝 抱 春 播 党 踢 岁 爬 咏 酪 众 蜡 械 亡 锋 馈 祝 殷 彩 咙 狸 饰 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 进程同步 Pc Pp A:wait(Bufempty) B:wait(Buffull) 计算 打印Bu
5、f中的数据 Buf 计算结果 清除Buf中的数据 Bufempty false Buffull false Signal(Buffull) signal(Bufempty) Goto A Goto B 和 菜 骸 即 歼 涨 萧 滚 虐 仪 武 肃 赃 皇 沂 床 狰 勇 痘 杀 赖 丝 呈 嘲 酚 练 怨 陶 夏 炮 挑 津 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 进程同步 私用(有)信号量 把各进程间发送的消息作为信号量看待, 这种信号量只与制约进程和被制约进程有关 ,但不与整组并发进程
6、有关,这种信号量称 为私用信号量(Private Semaphore)。 与私用信号量相对应,我们称进程互斥时 使用的信号量为公用信号量。 沛 买 磅 凸 赔 滓 懊 峭 谦 嚎 绑 会 缚 齐 停 掠 绎 狭 壮 都 媳 檀 喊 湃 夕 摆 桑 疫 玛 梳 晋 男 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 进程同步 用P、V原语操作实现进程的直接制约(同步) 例子:设进程和通过缓冲区队列传送数据(如 图3.13), PA为发送进程,PB为接收进程;PA发 送数据时调用发送过程deposit(
7、data),PB接收 数据时调用过程remove(data)。且数据的发送 与接收过程满足如下条件: 1)在PA至少送一块数据入一个缓冲区之前, PB不可能从缓冲区中取出数据(假定数据块长 等于缓冲区长度)。 禾 瞬 嵌 媚 蛀 酿 定 捆 席 纵 梆 责 撰 映 磐 逐 食 朱 昧 阎 戚 蛇 蘑 媚 举 颖 诛 那 骑 竿 浇 严 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 进程同步 2)PA往缓冲队列发送数据时,至少有一 个缓冲区是空的; 3)由PA发送的数据块在缓冲队列中按先 进先出(F
8、IFO)方式排列。 PA Buff1 buff2 buff3 . Buffn PB 纵 伏 蹿 撬 缴 绰 范 近 裳 漾 请 宇 嗽 馆 德 构 携 暑 蜒 鸿 吧 岩 坍 缚 姆 杨 麦 源 下 鹤 均 键 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 进程同步 我们按如下三步描述过程deposit(data)和 remove (data) 1)设Buf-empty为进程PA的私用信号量,表 示缓冲区是否有空;Buf-full为进程PB的私用 信号量,表示缓冲区是否有数可取; 2)Buf-em
9、pty的初始值为n (n为缓冲队列的 缓冲区个数),Buf-full的初始值为0; 格 钮 菩 但 骇 辕 章 丛 谨 吊 钠 哮 固 碧 灌 咯 大 今 前 牺 冲 破 骤 荷 逛 故 先 码 槽 歇 锣 易 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 嵌 入 式 系 统 教 学 课 件 : 操 作 系 统 4 - 同 步 进程同步 3) 算法描述如下: PA: deposit(data) Begin local x; P(Buf-empty); 按FIFO方式选择一个空缓冲区 Buf(x); Buf(x) data; Buf(x)置满标记; V(Buf-full
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 教学 课件 操作系统 同步
链接地址:https://www.31doc.com/p-5829464.html