巨龙信息科学技术研究院讲义

上传人:ldj****22 文档编号:48718167 上传时间:2018-07-20 格式:PPT 页数:94 大小:491.50KB
返回 下载 相关 举报
巨龙信息科学技术研究院讲义_第1页
第1页 / 共94页
巨龙信息科学技术研究院讲义_第2页
第2页 / 共94页
巨龙信息科学技术研究院讲义_第3页
第3页 / 共94页
巨龙信息科学技术研究院讲义_第4页
第4页 / 共94页
巨龙信息科学技术研究院讲义_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《巨龙信息科学技术研究院讲义》由会员分享,可在线阅读,更多相关《巨龙信息科学技术研究院讲义(94页珍藏版)》请在金锄头文库上搜索。

1、巨龙信息科学技术研究院 讲义RTOS及相关技术岳俭 一九九九年八月RTOS及相关知识一、嵌入式实时系统基础 二、实时多任务软件开发方法 三、 RTOS特点 四、 RTOS举例 五、高速路由器开发工具选择1.1实时系统l实时系统:对外来事件在限定时间内能 做出反应的系统。l分类:实时控制系统、实时信息处理系 统。1.1实时系统衡量系统的实时性三个指标l响应时间(Response Time): 是计算机识别 一个外部事件到作出响应的时间, l 生存时间(Survival Time): 是数据有效等 待时间, 在这段时间里数据是有效的。l吞吐量(Throughput): 是在一给定时间内, 系统可以

2、处理的事件总数。1.1实时系统实现实时的应用系统的途径l使用硬件的功能l微处理器的中断机制l简单的单线程循环程序l基于实时操作系统的复杂多线程程序。1.2嵌入式应用l嵌入式应用:是一种计算机部件内装于 专用设备/系统的应用。典型应用l过程控制(process control)l通讯设备(Telecommunication)l智能仪器(Intelligent Instrument)l消费产品(Consumer Products)l机器人(Robots)l计算机外设设备(Computer Peripherals)l军事电子设备和现代武器1.2嵌入式应用嵌入式实时系统软件的基本特征l具有高速处理、配

3、置专一、结构紧凑和 坚固可靠等特点的实时系统,相应的软 件系统应是一种别有特色、要求更高的 实时软件。1.3嵌入式实时系统特殊性l实时软件的主要要求 1、实时性 2、有处理异步并发事件的能力 3、快速启动、出错处理和自动复位功能 4、嵌入式实时软件是应用程序和操作系统 两种软件的一体化程序。 5、嵌入式实时软件的开发需要独立的开发 平台1.3嵌入式实时系统特殊性1.4嵌入式实时系统分类l 按确定性来分嵌入式实时系统硬实时 系统对系统响应时间有严格的要求,如果系统响 应时间不能满足,就要引起系统崩溃或致命的错误。软实时 系统对系统响应时间有要求,但是如果系统响应 时间不能满足,不会导致系统出现致

4、命的错误或崩溃 。1.4嵌入式实时系统分类l按软件结构来分嵌入式实时系统 单线程程序(Single-threaded program) (1)循环轮询系统(Polling Loop) (2)有限状态机(Finit State Machine) 事件驱动系统:(Event-Driven system) (1)前后台系统(Foreground/Background)又叫中断驱动 系统 (2)实时多任务系统(Multitasking或Multi-thread Program Model) (3)多处理机系统1.4嵌入式实时系统分类循环轮询系统(Polling Loop)l优点: 对于简单的系统而言,

5、便于编程和理解 没有中断的机制,程序运行良好,不会出现随 机的问题l缺点: 有限的应用领域(由于不可确定性) 对于大量的I/O服务的应用,不容易实现大的程序不便于调试1.4嵌入式实时系统分类有限状态机(Finit State Machine)l优点: 对于小的系统而言,便于编程和理解 可以快速的执行 只是通过改变输出功能来改变机器的响应l缺点: 有限的应用领域 不能保证确定性 对于大的应用系统,难于调试1.4嵌入式实时系统分类前后台系统(Foreground/Background) 系统的性能:l中断延迟时间(Interrupt latency time)l响应时间(response time

6、)l恢复时间(recovery time)1.4嵌入式实时系统分类实时多任务系统(Multitasking Model) 优点: 将复杂的系统分解为相对独立的多个线程, 达到“分而制之” 的目的,从而降低系统的复杂性。 保证系统的实时性 系统的模块化好,提高系统的可维护性。 缺点: 需要采用一些新的软件软件设计方法 需要增加功能:线程间的协调,同步和通信功能 需要对每一个共享资源互斥 导致线程间的竞争 需要使用RTOS,RTOS要增加系统的开销1.4嵌入式实时系统分类多处理机系统 分类:l紧耦合系统(tightly-coupled system) 多个处理器通过共享内存空间来交换 信息(如:S

7、MP),l松耦合系统(loosely-coupled system) 多个处理器通过通讯线路来连接和交 换信息。1.5嵌入式RTOS及其发展l监控程序(Monitor) l操作系统(Operating System)。1、多道批处理操作系统2、分时操作系统3、实时操作系统。1.5嵌入式RTOS及其发展l多道批量处理系统一般用于计算中心较大的计 算机系统中。由于它的硬件设备比较全,价格 较高,所以此类系统十分注意CPU及其它设备 的充分利用,追求高的吞吐量,不具备实时性 。l分时系统的主要目的是让多个计算机用户能共 享系统的资源,能及时地响应和服务于联机用 户,只具有很弱的实时功能,但与真正的实

8、时 操作系统仍然有明显的区别。1.5嵌入式RTOS及其发展l实时操作系统IEEE实时UNIX分委会要求 1.异步的事件响应 2.切换时间和中断延迟时间确定 3.优先级中断和调度 4.抢占式调度 5.内存锁定 6.连续文件 7.同步1.5嵌入式RTOS及其发展l嵌入式实时操作系统得到飞速的发展, 从支持8位微处理器到16位、32位甚至64 位,从支持单一品种的微处理器芯片到 支持多品种微处理器芯片, 从只有实时内 核到除了内核外还提供其他功能模块如: 高速文件系统,TCP/IP网络系统,GUI系 统等。1.5嵌入式RTOS及其发展l世界各国有四十多家公司,已成功的推 出了200余种可供嵌入式应用

9、的实时操作 系统。 国内常用的操作系统lMicrotec Research公司(MRI)的VRTXlIntegrated System公司(ISI)的pSOSlWind River 公司的VxWorks。RTOS及相关知识一、嵌入式实时系统基础 二、实时多任务软件开发方法 三、 RTOS特点 四、 RTOS举例 五、高速路由器开发工具选择2.1开发步骤1.需求分析(Requirement specification) 2.数据流分析(Data flow analysis) 3.分解任务(Decompostion into tasks) 4. 定义任务间接口(Definiton of task

10、interfaces) 5.任务级的设计 6.模块构筑 7.任务与系统集成 8.系统测试2.2分解任务原则lI/O 依赖性 (Dependency on Input/Output Device)l时间关键性的功能 (Time-critical functions-Hard Deadline)l计算量大的功能(Heavy Computation function )l功能内聚(Functional relations)l时间内聚(Temporal relations)l周期执行的功能(Cyclic executing function)2.3分解任务评估(1). 错误的任务划分l任务使用中挂起/

11、恢复太频繁是由于任务划分过细,任务的当成功能使用。应 该将任务变成子程序使用。l当事件发生时调用子程序任务划分得太粗,应该将子程序划分为任务l得到消息后,又立即检查另外的信息不要使用轮循的方式,应该直接使用事件驱动方 式2.3分解任务评估(2)优先级倒置之一当高优先级的任务向低优先级的任务 发送消息时,如果使用信箱机制,就可 能出现高优先级的任务要等待低优先级 的任务接收消息以后,才能发送消息。 应该使用队列机制就避免这个问题。2.3分解任务评估高优先级任务低优先级任务高优先级任务低优先级任务2.3分解任务评估(3)优先级倒置之二 当低优先级的任务向高优先级的任务 发送消息时,高优先级的任务不

12、能运行 ,直到低优先级的任务发送消息后才能 运行。没有必要分为两个任务,应该使高优 先级的任务直接调用子程序即可。2.3分解任务评估高优先级任务低优先级任务高优先级任务子程序函数调用2.3分解任务评估死锁和锁住 死锁:两个任务同时相互等待对方的信号,导致 它们永远不能运行。 为了避免死锁,将共享资源统一排序,所 有的任务按序来访问多个资源。 锁住:任务没有机会运行,可能是因为: 它等待的事件没有发生过 它具有太低的优先级RTOS及相关知识一、嵌入式实时系统基础 二、实时多任务软件开发方法 三、 RTOS特点 四、 RTOS举例 五、高速路由器开发工具选择3.1概述l60年代以来,对于UNIX操

13、作系统的研究和发展达到了几乎完美的程度。而商业RTOS正是基于UNIX思想的实时多任务操作系统,只是为了满足嵌入系统的特殊需要,系统对于外部事件的响应速度保证不大于某个特定的时间间隔。3.1概述l商业RTOS利用了计算机科学数十年发展的精美成果,包含了软件理论最精华的部分。这一点从内核技术上看得最为清楚,各个厂商的内核大同小异,通过考察各厂商普遍采用的微内核技术可以很好地看出这一点。3.2操作系统发展l50年代中期到后期开发的操作系统几乎毫无结构可言,在这些整体操作系统(monolithic operation system)中,任何过程可以调用其它任何过程,由于低估了过程相互之间的依赖性和互

14、操作性,产生了一系列问题。3.2操作系统发展l为了解决这些问题,引入了模块化程序设计技术,特别是开发了分层操作系统(layered operation system)(如图5.2.1),这里功能按照层次组织,相互之间作用只能通过邻接层。使用分层方法,大多数层或者全部层在内核模式下执行。3.2操作系统发展l八十年代后期,国外提出了微内核(microkernel) (如图5.2.2)的思想, 即将传统操作系统中的许多共性的东西抽象出来,构成操作系统的公共基础,即微内核,真正具体的操作系统功能则由构造在微内核之外的服务器实现。这是一种机制与策略分离的开放式设计思路。在理论上,这种方法提供了高度的灵活

15、性、模块性和可移植性。3.3微内核特点l微内核(microkernel)的思想是仅仅抽象必须在内核模式中执行的基本的核心操作系统功能,非基本的服务和应用构筑在微内核之上,并且在用户模式中执行。尽管微内核里面和外面的分界随着设计不同而不同,但是共同的特征是,许多传统上是操作系统一部分的服务现在出现在内核模式外部,这些包括设备驱动程序、文件系统、虚拟内存管理程序、窗口系统和安全系统。3.3微内核特点l微内核结构用水平结构代替了传统的垂直的分层结构,操作系统组件放在微内核外部,实现成服务器进程,它们的相互作用变成了对等的,典型地通过微内核传递消息,微内核功能成了消息交换:它验证消息,在组件之间传递它

16、们,并且允许访问硬件。3.3微内核特点微内核组织的优点:l接口一致(Uniform interface):所有进程请求使用统一的接口,进程不需要区分内核模式和用户模式服务,由于这些服务全部通过消息传递提供。3.3微内核特点l扩展性(Extensibility):由于新型硬件设备和新型软件技术不断发展,任何操作系统不可避免地需要修改,微内核结构允许加入新的服务,支持在同一功能区内提供多重服务。使用微内核结构,加入一个新特点仅仅需要修改或者加入被选择的服务,新的或者修改的服务影响限制在系统的一个子集,进一步地,修改不需要建立一个新的内核。3.3微内核特点l移植性(Portability):在微内核结构中,所有与特定处理机的代码仅仅存在微内核中,因此,需要将这个系统移植到新的处理机需要作的变化可以尽可能地少。3.3微内核特点l可靠性(Reliability):软件规模越大,确保可靠性越难。尽管模块化设计帮助我们增强了可靠性,但是微内核结构带来了更多的收益。一个小型微内核可以严格地进行测试,它使用少量的应用程序接口有助于内核模式之

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号