实时操作系统的相关概念

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

监控程序(Monitor) 操作系统(Operating System)。 1、多道批处理操作系统 2、分时操作系统 3、实时操作系统。
多道批量处理系统一般用于计算中心较大的计算 机系统中。由于它的硬件设备比较全,价格较高, 所以此类系统十分注意CPU及其它设备的充分利 用,追求高的吞吐量,不具备实时性。

宿主机
目标机
按确定性来分嵌入式实时系统
硬实时
系统对系统响应时间有严格的要求,如果系统响应时 间不能满足,就要引起系统崩溃或致命的错误。
软实时
系统对系统响应时间有要求,但是如果系统响应时间 不能满足,不会导致系统出现致命的错误或崩溃。
按软件结构来分嵌入式实时系统
单线程程序(Single-threaded program)
商业RTOS利用了计算机科学数十年发展的精美成 果,包含了软件理论最精华的部分。这一点从内 核技术上看得最为清楚,各个厂商的内核大同小 异,通过考察各厂商普遍采用的微内核技术可以 很好地看出这一点。
50年代中期到后期开发的操作系统几乎毫无结 构可言,在这些整体操作系统(monolithic operation system)中,任何过程可以调用其它任何过程,由 于低估了过程相互之间的依赖性和互操作性,产 生了一系列问题。
所有进程请求使用统一的接口,进程不 需要区分内核模式和用户模式服务,由于这 些服务全部通过消息传递提供。
扩展性(Extensibility):
由于新型硬件设备和新型软件技术不断发展,任何操作系统不可 避免地需要修改,微内核结构允许加入新的服务,支持在同一功能区 内提供多重服务。使用微内核结构,加入一个新特点仅仅需要修改或 者加入被选择的服务,新的或者修改的服务影响限制在系统的一个子 集,进一步地,修改不需要建立一个新的内核。
·需要对每一个共享资源互斥
·导致线程间的竞争
·需要使用RTOS,RTOS要增加系统的开销
多处理机系统
分类: 紧耦合系统(tightly-coupled system)
多个处理器通过共享内存空间来交换信 息(如:SMP), 松耦合系统(loosely-coupled system)
多个处理器通过通讯线路来连接和交换 信息。
分布系统支持(Distributed system support): 微内核适合于由分布操作系统控制的群集系统。当一
个消息从客户发到服务器进程,该消息必须包含请求服务 的标识符。当一个分布系统(如群集系统)被配置为所有 的进程和服务有唯一的标识符,那么似乎在内核模式下存 在单一的系统映象,一个进程能够在不知道目标服务驻留 在哪台机器情况下发送消息。
实时多任务系统(Multitasking Model) • 优点:
• 将复杂的系统分解为相对独立的多个线程, 达到“分而制之”的 目的,从而降低系统的复杂性。
• 保证系统的实时性 • 系统的模块化好,提高系统的可维护性。
• 缺点:
·需要采用一些新的软件软件设计方法
·需要增加功能:线程间的协调,同步和通信功能
(1)循环轮询系统(Polling Loop) (2)有限状态机(Finit State Machine)
事件驱动系统:(Event-Driven system)
(1)前后台系统(Foreground/Background)又叫中断驱动系统 ( 2 ) 实 时 多 任 务 系 统 (Multitasking 或 Multi-thread Program
为了解决这些问题,引入了模块化程序设计技术, 特 别 是 开 发 了 分 层 操 作 系 统 ( layered operation system)(如图5.2.1),这里功能按照层次组织, 相互之间作用只能通过邻接层。使用分层方法, 大多数层或者全部层在内核模式下执行。
八十年代后期,国外提出了微内核(microkernel) (如图 5.2.2)的思想, 即将传统操作系统中的许多共性的东西抽 象出来,构成操作系统的公共基础,即微内核,真正具体 的操作系统功能则由构造在微内核之外的服务器实现。这 是一种机制与策略分离的开放式设计思路。在理论上,这 种方法提供了高度的灵活性、模块性和可移植性。
嵌入式实时系统软件的基本特征
具有高速处理、配置专一、结构紧凑和坚固 可靠等特点的实时系统,相应的软件系统应 是一种别有特色、要求更高的实时软件。
实时软件的主要要求 1、实时性 2、有处理异步并发事件的能力 3、快速启动、出错处理和自动复位功能 4、嵌入式实时软件是应用程序和操作系统两
种软件的一体化程序。 5、嵌入式实时软件的开发需要独立的开发平
微内核(microkernel)的思想是仅仅抽象必须在内核模式中 执行的基本的核心操作系统功能,非基本的服务和应用构 筑在微内核之上,并且在用户模式中执行。尽管微内核里 面和外面的分界随着设计不同而不同,但是共同的特征是, 许多传统上是操作系统一部分的服务现在出现在内核模式 外部,这些包括设备驱动程序、文件系统、虚拟内存管理 程序、窗口系统和安全系统。
送消息时,如果使用信箱机制,就可能出现 高优先级的任务要等待低优先级的任务接收 消息以后,才能发送消息。应该使用队列机 制就避免这个问题。
高优先 级任务
高优先 级任务
低优先 级任务
低优先 级任务
(3)优先级倒置之二 当低优先级的任务向高优先级的任务发
送消息时,高优先级的任务不能运行,直到 低优先级的任务发送消息后才能运行。
没有必要分为两个任务,应该使高优先级 的任务直接调用子程序即可。
高优先 级任务
高优先 级任务
低优先 级任务
调用
子程序 函数
死锁和锁住
死锁:两个任务同时相互等待对方的信号,导致
它们永远不能运行。
为了避免死锁,将共享资源统一排序,所
有的
任务按序来访问多个资源。
锁住:任务没有机会运行,可能是因为:
它等待的事件没有发生过
嵌入式应用:是一种计算机部件内装于专用 设备/系统的应用。
典型应用
过程控制(process control) 通讯设备(Telecommunication) 智能仪器(Intelligent Instrument) 消费产品(Consumer Products) 机器人(Robots) 计算机外设设备(Computer Peripherals) 军事电子设备和现代武器
I/O 依赖性 (Dependency on Input/Output Device) 时 间 关 键 性 的 功 能 (Time-critical functions-Hard
Deadline) 计算量大的功能(Heavy Computation function) 功能内聚(Functional relations) 时间内聚(Temporal relations) 周期执行的功能(Cyclic executing function)
国内常用的操作系统
Microtec Research公司(MRI)的VRTX Integrated System公司(ISI)的pSOS Wind River 公司的VxWorks。
一、嵌入式实时系统基础 二、实时多任务软件开发方法 三、 RTOS特点 四、 RTOS举例 五、高速路由器开发工具选择
面向对象操作系统(Object-oriented operating system):
微内核结构非常适合面向对象操作系统的要求,一个面向对象的 方法有助于一个微内核的设计和操作系统的模块化扩充。将微内核结 构和面向对象操作系统原理结合起来的例子是组件的使用,组件是清 楚定义了接口的对象,它们能够互连起来以预制建筑块的方式形成软 件,使用组件之间的接口实现组件之间的全部相互作用。
分时系统的主要目的是让多个计算机用户能共享 系统的资源,能及时地响应和服务于联机用户, 只具有很弱的实时功能,但与真的实时操作系 统仍然有明显的区别。
实时操作系统IEEE实时UNIX分委会要求 1.异步的事件响应 2.切换时间和中断延迟时间确定 3.优先级中断和调度 4.抢占式调度 5.内存锁定 6.连续文件 7.同步
它具有太低的优先级
一、嵌入式实时系统基础 二、实时多任务软件开发方法 三、 RTOS特点 四、 RTOS举例 五、高速路由器开发工具选择
60年代以来,对于UNIX操作系统的研究和发展达 到 了 几 乎 完 美 的 程 度 。 而 商 业 RTOS 正 是 基 于 UNIX思想的实时多任务操作系统,只是为了满足 嵌入系统的特殊需要,系统对于外部事件的响应 速度保证不大于某个特定的时间间隔。
Model) (3)多处理机系统
优点:
循环轮询系统(Polling Loop)
·对于简单的系统而言,便于编程和理解
·没有中断的机制,程序运行良好,不会出现随机的问题
缺点:
·有限的应用领域(由于不可确定性)
·对于大量的I/O服务的应用,不容易实现
·大的程序不便于调试
有限状态机(Finit State Machine)
生存时间(Survival Time): 是数据有效等待 时间, 在这段时间里数据是有效的。
吞吐量(Throughput): 是在一给定时间内, 系 统可以处理的事件总数。
实现实时的应用系统的途径
使用硬件的功能 微处理器的中断机制 简单的单线程循环程序 基于实时操作系统的复杂多线程程序。
微内核结构用水平结构代替了传统的垂直的分层结构,操 作系统组件放在微内核外部,实现成服务器进程,它们的 相互作用变成了对等的,典型地通过微内核传递消息,微 内核功能成了消息交换:它验证消息,在组件之间传递它 们,并且允许访问硬件。
微内核组织的优点:
接口一致(Uniform interface):
优点:
·对于小的系统而言,便于编程和理解 ·可以快速的执行 ·只是通过改变输出功能来改变机器的响应
缺点:
·有限的应用领域 ·不能保证确定性 ·对于大的应用系统,难于调试
前后台系统(Foreground/Background)
系统的性能:
中断延迟时间(Interrupt latency time) 响应时间(response time) 恢复时间(recovery time)
(1). 错误的任务划分 任务使用中挂起/恢复太频繁
是由于任务划分过细,任务的当成功能使用。应该将 任务变成子程序使用。 当事件发生时调用子程序
任务划分得太粗,应该将子程序划分为任务
得到消息后,又立即检查另外的信息 不要使用轮循的方式,应该直接使用事件驱动方式
(2)优先级倒置之一 当高优先级的任务向低优先级的任务发
一、嵌入式实时系统基础 二、实时多任务软件开发方法 三、 RTOS特点 四、 RTOS举例 五、高速路由器开发工具选择
实时系统:对外来事件在限定时间内能做出 反应的系统。
分类:实时控制系统、实时信息处理系统。
衡量系统的实时性三个指标
响应时间(Response Time): 是计算机识别一 个外部事件到作出响应的时间,
移植性(Portability):
在微内核结构中,所有与特定处理机的 代码仅仅存在微内核中,因此,需要将这个 系统移植到新的处理机需要作的变化可以尽 可能地少。
可靠性(Reliability):
软件规模越大,确保可靠性越难。尽管模块化设计帮助我们增强 了可靠性,但是微内核结构带来了更多的收益。一个小型微内核可以 严格地进行测试,它使用少量的应用程序接口有助于内核模式之外的 操作系统服务代码提高质量。系统只需要掌握一个有限数量的 (API),程序员之间的相互交互也有限,因而对于系统其它组件的 影响最小。
嵌入式实时操作系统得到飞速的发展,从支 持8位微处理器到16位、32位甚至64位,从 支持单一品种的微处理器芯片到支持多品种 微处理器芯片, 从只有实时内核到除了内核 外还提供其他功能模块如:高速文件系统, TCP/IP网络系统,GUI系统等。
世界各国有四十多家公司,已成功的推出了 200余种可供嵌入式应用的实时操作系统。
1.需求分析(Requirement specification) 2.数据流分析(Data flow analysis) 3.分解任务(Decompostion into tasks) 4. 定义任务间接口(Definiton of task interfaces) 5.任务级的设计 6.模块构筑 7.任务与系统集成 8.系统测试
相关文档
最新文档