计算机控制第3章.ppt
《计算机控制第3章.ppt》由会员分享,可在线阅读,更多相关《计算机控制第3章.ppt(68页珍藏版)》请在一课资料网上搜索。
1、第3章实时多任务系统 3 1概要在控制系统中 一个实时应用 Application 通常包括若干控制流 为了有效地运行有多个控制流的复杂的应用 应该将应用分解为若干个与控制流相对应的任务 task 加以处理 现代控制系统广泛使用实时操作系统 RealTimeKernel 的基本功能为主线 介绍实时多任务系统的基本问题 包括以下内容 实时系统中的多任务调度 实时系统中的基本问题 如同步与互斥 优先级反转等等 分布式控制系统中的实时通信 此外 本章也介绍两种不使用实时操作系统的多任务方法 前台 后台系统和循环调度系统 它们由于简单可靠 至今仍在控制系统中广泛使用 3 2 实时系统和实时操作系统1
2、实时系统实时计算机系统的定义是 能够在确定的时间内运行其功能并对外部的异步事件作出响应的计算机系统 应注意到 确定的时间 是对实时系统的最根本的要求 实时系统处理的正确性不仅取决于处理结果的逻辑上的正确性 更取决于获得该结果所需的时间 例如 一个在大多数情况下能在20us作出响应 但是偶然需要100us响应时间的系统 它的实时性能要劣于一个能在任何情况下以500us作出响应的系统 高性能的实时系统 其硬件结构应该具有高的计算速度 高速中断处理和高的I O通过能力 但是应该认识到 实时 和 快速 是两个不同的概念 计算机系统处理速度的快慢 主要取决于它的硬件系统 尤其是所采用的处理器的性能 对一
3、个特定的计算机系统 它的处理速度无论怎样高 如果采用的是普通操作系统 就没有实时性可言 在现代控制系统中 实时操作系统是实时系统的核心 在控制系统中广泛采用实时计算机组成应用系统 实时系统通常运行两类典型的工作 一类是在预期的时间限制内 确认和响应外部的事件 另一类处理和储存大量的来自被控系统的数据 对于第1类工作 任务响应时间 中断等待时间和中断处理能力是最重要的 将它称为中断型的 第2类是计算型的工作 要求很好的处理速度和吞吐能力 在实际应用中 经常遇到的是兼具两种要求的中断 计算混合型的实时系统 不同的实时应用 对任务响应时间 中断等待时间 计算和吞吐能力是有不同的要求 限定时间 dea
4、dline 是指一个任务不被处理的最长时间 根据对限定时间的不同要求 实时系统可以分为硬实时系统 强实时系统和弱实时系统 而在一般的实时应用中 往往既包含强实时性任务也包含弱实时性任务 弱实时 softrealtime 系统的基本特征是 要求的响应时间和处理时间既短又要确定 如果超出限定时间 所产生的结果就不可用 硬实时 hardrealtime 系统 如果超出限定时间 就会造成灾难性后果 例如一个核电站 它对数据采集和处理的要求就高的多 必须密切地 连续地监测和控制电站设备的各项功能 以防止核事故或者突然的停电或关机 响应时间稍有超出 就可能造成灾难性后果 或者对安全生产或发电成本有很大影响
5、 从总体性能来说强实时和硬实时更注重峰值 I O 负载下的性能 在单处理器的嵌入式应用中 可以s要求 通常是在设备控制级实现 对前端计算机 IOC 的实时要求通常低于设备控制器 而操作员接口计算机 OPI 则往往是弱实时或者非实时的 它们运行通用的桌面操作系统 2 实时操作系统操作系统是计算机运行以及所有资源的管理者 包括任务管理 任务间的信息传递 I O设备管理 内存管理和文件系统的管理等等 从外部来看 操作系统提供了与使用者 程序及硬件的接口 操作系统与计算机I O硬件设备的接口是设备驱动器 应用程序与操作系统之间的接口是系统调用 通用计算机系统中运行的桌面操作系统 Windows和UNI
6、X Linux 控制系统主要使用实时操作系统 大多数实时操作系统的结构依照UNIX操作系统的风格 所以它们又称为 类UNIX 操作系统 3 3微内核现代的实时操作系统的内核 kernel 通常采用客户 服务者方式 或称为微内核 microkernel 方式 微内核通常只保留任务调度和任务间通讯等几项功能 它依据客户 报务者模型概念 把所有其他的操作系统功能都变成一个个用户态的服务器 而用户任务则被当做客户 客户要用到操作系统时 其实就是通过微内核与服务器通讯而已 微内核验证消息的有效性 在客户和服务器之间传递它们并核准对硬件的存取 这样 微内核仅仅成为传递消息的工具 微内核将与CPU有关的硬件
7、细节都包含在很小的内核里 其他部分与硬件无关 这样 整个操作系统就很容易移植 如果要扩展功能 仅只是增加相应的服务器而已 在微内核方式下 各个服务器都是独立的用户态任务 有自己的内存保护空间 以标准的方式通讯 一个服务器出错 不会导致整个系统崩溃 此外 微内核操作系统的各种服务器可以分别在不同的处理机上运行 适合分布式系统 计算机系统里的所有活动 被分解为一个个任务 task 运行 简单地说 任务就是装入计算机内正在运行的程序 程序是由指令和数据集所组成的可运行文件 而任务则是运行中的程序 它包括程序和与这个程序有关的数据及计算机资源等 每个任务都占有自己的地址空间 包括堆栈区 代码区和数据区
8、 UNIX操作系统与实时操作系统的核心区别是它们任务调度方式的不同 UNIX公平地对待所有的任务 采用轮转调度等方法来调度任务 实时操作系统采用基于优先级的抢先方式来调度任务 调度器可以打断正在运行的任务 让优先级更高的任务优先运行 从而保证对高优级的事件在确定的时间里作出响应 3 4内核态和用户态操作系统内核的任务 服务器 称为内核任务 它们运行在内核态 又称内核空间 内核作为计算机系统资源的管理者 必须对CPU具有超过一般用户的控制权 内核任务工作在CPU的管态 SupervisorState 可以访问所有资源 执行所有CPU指令 工作在用户态 用户空间 的服务器和应用任务无法执行CPU的
9、特权指令 它们对系统资源的访问以及对系统其他部分的影响是受到限制的 它们只能通过执行系统调用来访问系统资源 在不特别指明情况下 本章把应用任务简称为任务 3 5实时执行器不包括文件管理功能的实时操作系统称为实时执行器 RealTimeExecutive RTEX 或实时内核 RealTimeKernel 事实上 实时执行器在控制系统得到更广泛的应用 在本章以下的内容 如不特别指出 谈到实时操作系统 即是指实时执行器 实时操作系统的多任务方式也带来了一系列需要解决的问题 例如任务之间的同步和互斥 生产和消费 死锁 饥饿和优先级反转问题 3 6 运行多任务的简单系统对于较为简单的控制应用 并不一定
10、需要实时操作系统的管理 方法之一是采用前台 后台方式运行多个控制流 这种方法适合用来实现功能比较简单的应用 但是不具有实时性 另一个行之有效的 简单的实时控制的方法称为循环调度方式 它适用于控制周期性任务 1 前台 后台系统控制系统中 最简单的运行多个控制流的方法是前台 后台 foreground background 方式 又称为超循环方式 前台 后台系统包含一个称为 后台 的无限循环程序 在C语言程序中就是main 它顺序地调用各个应用模块 运行所设计的操作 例如I O操作 同时 中断服务程序 ISR 用来处理异步事件 称为 前台 程序 显然前台的ISR是抢先后台程序运行的 前台 后台系统
11、是一种事件驱动 event driven 的系统 在通常的程序设计中 要求中断处理尽快完成 以免影响其他中断处理或者任务的执行 ISR在取得中断设备传来的数据和状态信息之后就应该立即退出 将处理工作交由一般任务来完成 而在前台 后台系统中 为了及时处理异步事件 必须在ISR中完成全部处理 这样 中断服务程序就比通常的中断处理占用较长的时间 可编程逻辑控制器 PLC 是使用前台 后台方式的典型例子 PLC的前台用来处理网络通信和时钟管理等异步事件 而所有I O操作都在后台以 扫描 方式顺序运行 前台 后台方式无法满足实时性要求 首先 由中断服务程序而引入到后台处理的信息 并不能立即得到处理 必须
12、等到后台循环轮到之后才得到处理 这样 异步事件在最坏情况下的响应时间 取决于运行一轮后台循环所需要的时间 以PLC为例 由前台通信取得的对某个I O通道的开头命令 如果恰好发生在该通道刚被扫描之后 最坏情况 则后台必须循环整整一轮之后才能再次查询到并执行这个I O开头命令 而且由于前台异步事件的插入 后台扫描循环一周所需的时间是不能准确预测的 其次 后台扫描循环一周所需的时间还会随着新加入的应用模块 I O操作 而增加 仍以PLC为例 如果扫描器 处理机 最初只处理1个32通道的I O模块 后来新增加一个16通道的I O模块 则所用的循环扫描时间就会增加许多 以上这些因素 造成前台 后台方式不
13、能在预定的时间内响应异步事件 因而它不具有实时性 前台 后台方式简单可靠而且易于实现 无需实时操作系统支持 采用前台 后台方式的PLC虽然不够实时 但只要所扫描的I O模块不是特别多 至多装满一个机箱 却也足够 快 响应时间在10 100ms量级 可以满足许多场合的控制需要 加之PLC的编程极为简单 称为ladlogic 因此在工业控制领域得到广泛应用 2 循环调度系统对于周期性的 顺序执行的若干任务 可以采用循环执行 CyclicExecutive 的方法来运行 又称为时间线 Timeline 方法 它将各个不同频率的任务按静态设计好的顺序排列 由定时器中断产生的定时节拍 tick 所驱动
14、定时节拍的频率是各个任务运行频率的最小公倍数 任务在分割的时间片中运行 一个任务运行结束之后 另一个任务开始运行 设计循环执行系统 要保证每个时间片内任务运行的总时间小于时间片长度 在上述例子中 即是要求Ca Cb Ca Cc 如果不能满足这个要求 就需要把执行时间过长的任务分割为较短的子任务来设计 循环执行方法的不足之处首先是它只能用于调度周期性任务 其次 它通常只有采用查询的方式 如果要在其中加入I O事件驱动 外部中断驱动 则系统设计就比较复杂 加入中断处理的主要困难在于如何将中断服务程序ISR的数据可靠传递给任务 一个方法是分别为ISR和任务开设互相分隔的缓冲区 ISR的数据写入自己的
15、缓冲区 在进入定时器节拍中断时 屏蔽所有中断 将ISR缓冲区的数据拷贝到任务缓冲区 然后开中断 进行任务调度 这种方法的缺点是 通过中断所取得的I O数据 不能立即传递给任务 会有一段延迟 循环执行方法中 往往只有一个任务能保证强实时性 在一个时间片里 只有第一个任务是准确地被时钟节拍中断所启动 后续的任务可能因前一个任务运行时间的不确定性 例如 存在与数据有关的循环 而出现时间晃动 由于循环执行方法的任务调度模块与应用模块之间存在强耦合 当应用模块需要改动时 任务调度模块也必须改动 事实上一旦设计完成 很难进行扩充或改动 例如 初始设计A B和C个任务的周期分别为250ms 50ms和100
16、ms 则主循环T 100ms 次循环 时间片 25ms 如果将B任务运行周期改为40ms 则主循环T 200ms 次循环 5ms 前后两个设计的差别十分之大 循环执行方法是一种时间驱动 time driven 的方法 尽管有以上缺点 但这个方法简单 可靠性高 运行开销小而又具有实时性 而且由于任务之间共享数据 很容易保证任务间数据交换的完整性 因此这种方法很长时间里一直被用于空中交通管制 空间飞船和飞机 例如波音777 等生命安全级 safety critical 高的可靠控制系统中 3 7 实时多任务系统处理多任务的理想方法之一是采用紧耦合多处理机 multi processor 系统 让每
17、个处理机各处理一个任务 这种方法真正做到了在同一时刻运行多个任务 称为并行处理 这种处理复杂应用的紧耦合多处理机系统 在分布式控制系统中应用并不普遍 不是本章研究的内容 分布式控制系统中的各个节点普遍使用单处理机系统 单处理机系统在实时操作系统调度的下 可以使若干任务并发地运行 构成所谓多任务 multitasking 系统 事实上 无论是大型的分布式系统还是小型的嵌入式系统 实时控制系统大多数是以这种方式运行的 并发处理 concurrentprocessing 是指在一段时间里调度若干任务 同时 运行 其实具体到任何时刻 系统中只能有一个任务在运行 因为只有一个处理机 并发处理被看作是一种
18、伪并行机制 一 任务及任务切换1 任务在操作系统管理下 复杂的应用被分解为若干任务 task 每个任务执行一项特定的工作 如前所说 任务就是运行中的程序 每个任务所对应的程序通常是一个顺序执行的无限循环 自以为占用全部CPU资源 而事实上对于单处理机系统 任何时刻只可能有一个任务在运行 诸多任务是在操作系统的调度下交错地 并发地 运行 一个任务可以处在以下三种状态之一运行 Running 态 任务正在运行 在任何时刻 只可能有一个任务处在运行态 在待命态排队的任务 可以受调度器的派遣 dispatch 而进入运行态 待命 Ready 态 任务准备好可以运行 但目前还未运行 需要得到调度器的派遣
19、才能进入运行态 处在待命态的任务 以某种规则排队等待进入运行态 处在运行态的任务可以由于各种原因 与调度方式和调度策略有关 被调度器重新安排到待命队列去排队 阻塞 Blocked 态 正在运行的任务可能因为作系统调用等待一个外部事件任务而阻塞 此时只有被外部事件产生的中断所唤醒 激活 才能从阻塞态进入待命态 任务也可能在请求一个资源时需要等待而被阻塞 例如一个想使用打印机的任务 发须等待其他任务使用完打印机之后才能继续工作 2 任务周境切换每个任务除了包含程序和相应的数据之外 还有一个用来描述该任务的数据结构 称之为任务控制块 TCB TCB中包括了任务的当前状态 优先级 要等待的事件或资源
20、任务程序代码的起始地址 初始堆栈指针等信息 调度器在唤醒一个任务时 要用到任务控制块 为了保持系统的一致性 任务不能直接对自己的TCB寻址 只能通过系统调用加以修改 TCB中的大部分内容构成任务的周境 context 任务的周境就是指当一个运行中的任务被阻塞 或重新运行 时 所要保存 或恢复 的所有状态信息 例如当前程序计数器值 堆栈指针以及各个通用寄存器的内容等等 任务的周境的内容 一方面取决于所使用的CPU的类型和指令集 另一方面也取决于实时操作系统及编译器对它的定义 任务切换 taskswitch 是指一个任务停止运行 而另一个任务开始运行 当发生任务切换时 当前运行任务的周境被存入自己
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机控制
一课资料网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。



国家标准安全标准化6710.ppt
推销学论文.doc
工商管理:第七章.pdf
考试单词全记牢.xls

![MLSPGO8Q0C2L%`J2QI2M]C3.png](https://www.ekdoc.com/FileUpload/ueditor_s/upload/2020-5/8/6372452921073120799898817.png)


