当前课程知识点:计算机控制导论 >  第十章 工程实现 >  10.3 任务调度策略 >  10.3 任务调度策略

返回《计算机控制导论》慕课在线视频课程列表

10.3 任务调度策略在线视频

10.3 任务调度策略

阅读材料:

    计算机控制系统——分析、设计与实现技术

    ISBN: 978 703 055 8091


相关阅读:

    教材9.3节

下一节:10.4 可靠性设计模式

返回《计算机控制导论》慕课在线视频列表

10.3 任务调度策略课程教案、知识点、字幕

在设计计算机控制系统软件的时候

除了考虑完成必要的功能之外

还要考虑任务调度

也就是功能之间的协作

与一般的计算机软件相比

计算机控制系统软件具有自身的特点

一个是它对时间有明确的要求

一些任务必须在特定的时间间隔里完成

如果不能够完成的话

系统轻则错误,重则出现故障

这个特点就是计算机控制系统的实时性

另外一个特点是计算机控制系统的任务是由外部触发的

这些外部事件是客观存在的

何时发生、如何发生不能提前预知

因此,具有并发性的特点

计算机控制系统在设计软件的时候

就要根据这两个特点进行适当的任务调度

计算机控制任务的实时性是对(响应)时间的要求

主要分两种情况

一种是硬实时,一种是软实时

硬实时是指相邻两个事件发生有一个期限

这个期限是明确的

如果在这个期限之内任务得不到响应

或者说是没有完成

那么系统就会发生故障

比如说我们的采样(任务)

在前一次没有采样完成的情况下

后一个采样脉冲到达

这个时候,后一次采样就会被丢失

另外一种是软实时

期限是不确定的

相邻的两次任务之间有一个时间间隔

但是这个时间间隔如果不满足的话

对系统不会产生特别严重的影响

这种情况之下

我们可以按软期限、软实时来处理

并发性指的是多个任务同时执行的特点

这种同时执行有可能是在同一个处理器上完成

也可能是在多个相互独立的处理器上完成

后一种情况是真正的并发性执行

前一种情况只是伪并发执行

但是使用处理器进行并发运算的话

系统的成本会上升

所以大多数情况下

我们是在同一个处理器上进行并发调度

在同一个处理器上完成并发性的调度

可以有这样五种调度策略

其中,最后两种是计算机控制系统当中常用的

也就是周期性调度和优先级抢占调度

我们先看一下周期性调度

它是按照固定周期执行特定任务

这个时候

任务是一组顺序的动作

是一种静态的响应

在执行的时候是从第一个动作开始

依次完成

一直到最后一个动作

再返回第一个动作开始循环

我们前面讲过的轮询操作就是一种典型的周期性的任务调度方式

而实际工程当中常采用的中断【则】是基于优先级的一种任务调度策略

它是按照任务的紧迫性和重要性对任务进行响应

对于重要的、硬实时的一些要求

优先得到满足

在采用这种调度策略的时候

需要注意资源共享的问题

我们下面看一下具体的优先级抢占的调度

需要考虑的问题

主要是三个要素

第一个是激励事件的响应模式

第二个是任务的汇合模式

第三个就是共享资源的处理

这里面,事件的到达模式实际上指的就是事件如何发生

任务的汇合模式是指在事件发生之后

什么情况下需要进行响应

而共享资源的控制访问主要是对资源的保护

在计算机控制系统当中

事件的到达模式主要有两种

一种是周期性的事件

另外一种是非周期性的事件

周期性事件对实时性的影响可以按照事件发生的周期来考虑

非周期性事件是一种突发的、不规则的事件

它对实时性的影响是不可测的

但是可以用统计的方法进行估计

因为这种事件很多都是有界的

也就是说相邻两次事件之间

它发生的最小时间间隔,或者是最大时间间隔,是可以估计出来的

或者是说

事件虽然是一个随机发生的事件

但是它的平均速率可以预先确定

后一种情况主要是针对一些软实时的事件

事件到达之后

如何响应任务

如何响应事件执行任务

我们可以根据具体情况来处理

可以在事件到达之后立时进行响应

这是一种同步调用的任务(汇合)方式

也可以在事件到达之后

等待一个特定的握手信息之后

再进行一个异步的调用来响应事件

比如说在I/O操作的时候

外部设备接收到采样命令之后

它还要看一下采样命令是不是得到执行

采样结果是不是已经返回

这样完成一个握手操作之后

才会进行一个采样的任务

另外就是等待回合的模式

需要多个特定事件同时满足之后任务才可以响应

再有就是计时汇合

在事件激励之后

任务并不会马上被调用

而是要等到一个特定的定时完成之后才会去响应

还有一种常用的就是阻行汇合

实际上是一种任务保护模式

在事件响应之后,它会隔断,阻断其他的事件响应

比如说我们(用)的屏蔽中断

最后一个需要考虑的因素就是如何访问共享资源

因为在优先级抢占的调度策略当中

低优先级任务执行过程当中会被高优先级任务打断

但是低优先级任务在执行的时候会对共享资源进行读写

高优先级任务抢到了资源的控制权之后

如果直接读写

有可能会产生错误的结果

所以在优先级抢占的任务调度模式当中

对于共享资源要进行一定的保护

基本原则是使用串行化访问

也就是说

共享资源在被访问的过程当中

不要进行任务调度的切换

具体执行方法可以有两种

一种是使用临界区

另外一种是使用互斥信号

比如说前面讲到的缓冲

和我们日常实践

和我们日常设计当中常用的一些标志字等等

计算机控制导论课程列表:

课程说明

-关于课程版本

-教材或阅读材料

-名人堂

-关于虚拟实验

-关于考核

-课程学习规范

-课程大纲测试

-线上学习建议

-学习合同

第一章 课程简介

-学习任务

--学习任务

-1.1 什么是计算机控制

--1.1 什么是计算机控制

-1.2 为什么学习计算机控制

--1.2 为什么学习计算机控制

-1.3 怎样学习计算机控制

--1.3 怎样学习计算机控制

-【思政讨论】钱学森:我对系统学认识的历程

-第1周作业

-用户需求调查问卷

第二章 计算机控制基础

-学习任务

--学习任务

-2.1 概述

--2.1 概述

-2.2 典型形式

--2.2.1 操作指导系统

--2.2.2 直接数字控制系统

--2.2.3 监督控制系统

--2.2.4 分布式控制系统

--2.2.5 现场总线控制系统

--2.2.6 网络控制系统

-第2周思维导图

-【思政阅读】马少梅,范建文:回望历史——记录我国自动化仪表的成长与发展

-第2周作业

第三章 信号的采样与重构

-学习任务

--学习任务

-3.1 信号采样

--3.1.1 信息与信号

--3.1.2 采样过程

--3.1.3 采样定理

-3.2 信号重构

--3.2.1 香农重构

--3.2.2 保持法重构

-第3周思维导图

-【思政讨论】连续和离散:从信息科学的观点理解经典

-第3周作业

第四章 系统的数学描述

-学习任务

--学习任务

-4.1 回顾:连续系统的数学描述

--4.1 回顾:连续系统的数学描述

-4.2 离散对象的数学描述

--4.2.1 离散对象的数学描述

--4.2.2 仿真实例:建立离散对象的模型

--4.2.3 仿真实例:获取离散对象的模型

-4.3 系统模型的运算

--4.3.1 系统模型的运算

--4.3.2 仿真实例:基于解析表示

--4.3.3 仿真实例:基于图形表示

-第4周思维导图

-【思政讨论】日记:我参与了第一台智能可编程序调节器的设计

-第4周作业

第五章 系统的性能分析

-学习任务

--学习任务

-5.1 回顾:连续系统的性能分析

--5.1 回顾:连续系统的性能分析

-5.2 离散系统的指令响应

--5.2.1 离散系统的指令响应

--5.2.2 仿真实例:基于LabVIEW的指令响应

-5.3 离散系统的性能描述

--5.3.1 离散系统的性能描述

--5.3.2 稳定性

--5.3.3 鲁棒性

--5.3.4 仿真实例:基于LabVIEW的性能指标计算

-第5周思维导图

-第5周作业

-LabVIEW辅助设计(1)

-【思政讨论】谢旭凯和谢绪恺判据

第六章 模拟化设计方法

-学习任务

--学习任务

-6.1 模拟化设计

--6.1 模拟化设计

-6.2 离散化方法

--6.2.1 离散化方法

--6.2.2 前向差分法

--6.2.3 后向差分法

--6.2.4 双线性变换法

--6.2.5 脉冲响应不变法

--6.2.6 阶跃响应不变法

--6.2.7 零极点匹配法

--6.2.8 仿真实例:离散化方法

-第6周思维导图

-第6周作业

-LabVIEW辅助设计(2)

-【思政讨论】是什么卡了我们的脖子?

第七章 数字化设计方法

-学习任务

--学习任务

-7.1 数字化设计

--7.1.1 什么是数字化设计

--7.1.2 怎样进行数字化设计

-7.2 解析法

--7.2.1 Ragazzini法

--7.2.2 基于LabVIEW的辅助设计

-7.3 试探法

--7.3.1 频域设计法

--7.3.2 仿真实例:基于LabVIEW的频域设计

--7.3.3 根轨迹设计法

--7.3.4 仿真实例:基于LabVIEW的根轨迹设计

-第7周思维导图

-第7周作业

-LabVIEW辅助设计(3)

-【思政讨论】数控系统概述

第八章 从函数到算法

-学习任务

--学习任务

-8.1 可控实现形式

--8.1 可控实现形式

-8.2 数值精度问题

--8.2 数值精度问题

-8.3 计算时延问题

--8.3.1 计算时延

--8.3.2 程序结构的影响

--8.3.3 对采样周期的影响

-第8周思维导图

-第8周作业

第九章 硬件约束

-学习任务

--学习任务

-9.1 硬件约束的抽象化

--9.1 硬件约束的抽象化

-9.2 选择运算平台

--9.2 选择运算平台

-9.3 选择I/O设备接口

--9.3 选择I/O设备接口

-9.4 处理I/O接口数据

--9.4.1 数字滤波

--9.4.2 标度变换

-第9周思维导图

-第9周作业

第十章 工程实现

-学习任务

--学习任务

-10.1 需求分析

--10.1 需求分析

-10.2 架构设计

--10.2 架构设计

-10.3 任务调度策略

--10.3 任务调度策略

-10.4 可靠设计模式

--10.4 可靠性设计模式

-第10周思维导图

-第10周作业

期末考试

-期末考试卷【互评】

10.3 任务调度策略笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。