实时操作系统基本概念
来源:互联网 发布:哈德逊河迫降 知乎 编辑:程序博客网 时间:2024/05/24 06:34
实时系统与非实时系统的本质区别就在于实时系统中的任务都有时间限制。
时间限制有两种:一种是任务的周期性,按一定周期启动执行的任务称为周期性任务。而随机启动执行的任务称为非周期性任务。另一种时间限制为时限,即要求任务在规定时间内完成。
实时系统的特点:
总的来说实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。(它强调的是实时性。可靠性和灵活性)
从实时系统的应用特点来看实时操作系统可以分为两种:一般实时操作系统和嵌入式实时操作系统。
一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境。
嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的。嵌入式实时操作系统具有规模小(一般在几k-几十k中)、可固化使用实时性强(在毫秒或微妙数量级上)等特点。(即开发环境与运行环境是不一致的)
实时性要求一般有两层含义:时间上同时发生和过程上同时响应。
要求一:数据识别、数据建立和正确响应必须在规定时间内完成。
要求二:对外部事件处理的实时性,即实时系统必须能进行分布式或并行处理。
实时系统重要参数:
系统响应时间:系统发出处理要求到系统给出应答信号的时间。
生存时间:数据有效等待时间。
中断延迟时间:计算机接收到中断信号到操作系统作出响应,并完成转入中断服务程序的时间。
任务切换时间:任务之间切换而使用的时间。
吞吐量:在一给定时间内,系统可以处理的事件总数。
按外部过程的要求划分实时系统可以分为:软实时系统和硬实时系统。对于软实时系统来说,未能实时完成处理的结果,仅仅是带来了额外的代价,且通常这种代价能够被接受。对于硬实时系统来说,未能实时完成处理是坚决不允许的,它往往导致致命危害。如刹车系统、制导系统。
按系统响应时间划分可以分为:强实时系统(响应时间在100ms、10ms、ms或ms级以下)、一般实时系统(响应时间在s、10s以上)和弱实时系统(响应时间在10s以上或更长,随负载变化)。
按软件结构划分为:轮循系统和事件驱动系统(前后台系统,多任务系统,多处理器系统)。
轮循:initalize()
app1_task()
{
if(condition_1)
action_1();
if(condition_2)
action_2();
......
if(condition_n)
action_n();
}
(CPU开销大,适合较慢速的简单系统)
Nucleus PLUS采用了软件组件的方法。每个组件具有单一而明确的目的,通常由几个C及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。由于采用了软件组件的方法,使Nucleus PLUS 的各个组件非常易于替换和复用。
uITRON是TRON的一个子方案,它具有标准的实时内核,适用于任何小规模的嵌入式系统,日本国内现有很多基于该内核的产品,其中消费电器较多。目前已成为日本事实上的工业标准。
可抢占(preemptive)调度方式:当一个进程在运行时,调度程序可以打断它。另外,在其他一些情形下,如就绪队列中有新进程的优先级高于当前正运行的进程,也可能立即进行调度。
2)用同样的顺序申请多个资源;
3)释放资源时,使用相反的顺序;
4)使用等待超时。
中断一旦被识别,CPU保存部分或全部现场(context)后跳转到中断服务子程序(ISR) ,ISR结束后可返回到:
• 在前/后台系统中,返回到后台程序;
• 对不可剥夺型内核,返回到被中断了的任务;
• 对可剥夺型内核,返回到就绪状态优先级最高的任务。
中断使得CPU可以在事件发生时才进行处理,而不必让CPU不断地查询是否有事件发生。
通过开/关中断可以让CPU响应或不响应中断。
在实时环境应注意不要使关中断时间过长。
- 实时操作系统基本概念
- 实时操作系统基本概念(一)
- 嵌入式实时操作系统的基本概念
- 嵌入式实时操作系统的基本概念
- 第一章嵌入式实时操作系统的基本概念
- 操作系统--基本概念
- 操作系统基本概念
- 操作系统基本概念
- 操作系统基本概念
- 操作系统基本概念
- 操作系统基本概念
- 操作系统基本概念
- 操作系统基本概念
- 操作系统基本概念
- 实时操作系统
- 实时操作系统
- 实时操作系统
- 实时操作系统
- 程序员技术练级攻略
- 五种常见的 PHP 设计模式
- HashMap遍历的两种方式
- GCC 用 C++ 来编译
- ALSA之 snd_kcontrol_new名称中的SOURCE字段
- 实时操作系统基本概念
- HTTP 协议详解
- 推荐一系列优秀的Android开发源码(你再删,你再删)
- GetEnvironmentVariable获取系统变量
- 【android内核分析-输入输出】Android4.0 input touch解析
- DAPM之一概述
- php clean html 可以设置过滤及保留属性
- DAPM之二:audio paths与dapm kcontrol
- vs2008不能创建C#项目的解决方法