嵌入式系统软件嵌入式系统软件

嵌入式系统软件
杨剑锋
1. 嵌入式操作系统
嵌入式操作系统是个集合,而且是个无限集合
–监控程序Æ常规操作系统
(红外线Æ紫外线)
–一维和多维
嵌入式操作系统常常有实时要求–早期:嵌入式操作系统= 实时操作系统
–近期:
»1)手持计算机和掌上计算机的出现;
»2)CPU速度的提高;
»3)常规操作系统增加实时进程调度的支持,如
POSIX.4
Æ嵌入式操作系统<>实时操作系统 许多嵌入式操作系统的内核是微内核结构 许多嵌入式操作系统都不带磁盘
–根本不支持文件系统
–结构上为了设备驱动而支持文件系统,但不
支持文件系统的文件存储功能
许多嵌入式操作系统不采用存储管理技术,即不支持虚拟存储技术
许多嵌入式操作系统不划分“系统空间”和“用户空间”
–操作系统的“内核”与外围应用程序之间不再
有物理的边界;
皮革涂饰剂–系统中所谓“进程”实际上全都是内核线程»静态连接、系统调用、进程调度/切换–对任何一个应用程序做细微的修改,都得重新生成整个系统,并且“下载”之;
–系统调用的界面太庞大;
–共享变量的访问,需要谨慎对待;
–把通用操作系统上的应用移植过来需考虑“可重入”的问题;
不分系统空间和用户空间<>必须静态连接–如DOS、CP/M的INT21
双面针织机不分系统空间和用户空间<>不能用页面映射技术
–但只用于不同进程之间,而非不同空间之间 即使采用了存储管理,基本上都不采用页面交换技术
重启动技术(watch dog )
2. RTOS
是否实时
–一方面是多大程度上充分发挥硬件潜力,即综合速度快慢的问题;
–另一方面同时也是反映的速度在多大的程度上得到保证的问题
中断延迟(Interrupt Latency)–中断不可嵌套
–LINUX的Bottom Half
–中断可嵌套:优先级中断
»大多微处理器不支持;
»LINUX不支持;
»UNIX支持
–与指令集有关
–DMA操作有关
–保证系统调用的原子性有关 调度延迟(Scheduling Latency)–中断处理程序进程处理
–一般调度算法(Round Robin)不能及时选
BIFEI
–基于优先级调度算法,一般能及时选中»如果目标进程优先级低呢?
–可剥夺调度和不可剥夺调度
»LINUX是属于什么调度?
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→
事件或软中断
Linux 既不是完全的可剥夺,也不是完全的不可剥夺
上下文切换延迟(Context Switch Latency)–大小取决于CPU和操作系统
–采用MMU > 不采用MMU  只要发生调度,就能选中目标进程吗?
–根据时间片的耗用调整优先级
–拉开距离,分等级
对实时进程而言,“应该没有问题”不够。 是否可以不用中断、也不用调度,回到
最简单的“监控程序”?
实时性简介
对于什么是实时系统,POSIX 1003.b作了这样的定义:指系统能够在限定的响应时间内提供所需水平的服务
实时系统根据其对于实时性要求的不同,可以分为软实时和硬实时两种类型
一个计算机系统为了提供对于实时性的支持,它的操作系统必须对于CPU和其他资源进行有效的调度和管理,即实时调度
实时调度分类
各种实时操作系统的实时调度算法从调度策略上可以分为如下三种类别:基于优先级的调度算法(Priority-driven scheduling-PD)、基于CPU使用比例的共享式的调度算法(Share-driven scheduling-SD)、以及基于时间的进程调度算法(Time-driven scheduling-TD)
从调度方式上来讲可以分为:可抢占、不可抢占;从时间片来分:固定时间片、可变时间片
实时性改造
对操作系统实时性的扩展可以从两方面进行:向外扩展和向上扩展
向外扩展是从范围上扩展,让实时系统支持的范围更广,支持的设备更多
向上扩展是扩充操作系统内核,从功能上扩充系统的实时处理
实时多任务OS-RTOS  单片机
–无os
–主程序
RTOS
–资源包装
–API
–可移植(只要1-4%)
实时系统
在实时计算中,系统的正确性不仅仅依赖于计算的逻辑结果而且依赖于结果产生的时间
响应时间限定
可预知
实时操作系统与I/O
实时操作系统还需要有效的中断处理能力来处理异步事件和高效的I/O能力来处理有严格时间限制的数据收发应用。就是:
●系统应该有在事先定义的时间范围内识别和处理离散的事件的能力。
●系统能够处理和存储控制系统所需要的大量的数据。
周期性的系统 非周期性系统 硬实时系统
–灾难后果
中医推拿按摩床
软实时系统
–性能下降
RTOS与分时系统
事件响应时间限定
事件随机到达
系统可确定性
Rtos的历史 1)早早期的监控系统
–系统init
–时钟
–简单的任务调度
2)专用实时OS
–依赖于特定硬件
–移植性不好
3)通用RTOS
嵌入式软件开发平台
RTOS
标准化
可移植
设备独立
RTOS基本struct
实时多任务core
–任务管理:多任务和基于优先级的任务调度
–定时器:系统的实时时钟服务,以及各个定时任务的调入等
–Mem:管理系统的内存资源,如
DRAM,ROM,FLASHRAM等
–资源管理:管理系统的各种资源如系统的各种设备,端口,中断等;
–事件和消息管理:管理各种系统级的事件,如实时
中断响应,各种异常等;任务间同步和通信(信号
地坑量和邮箱等)以及各种系统消息和应用程序之间的
通讯 RTOS的系统调用
90%以上的设备独立
RTOS的任务---分时系统Process
实时带来的问题1-时间
在实时系统中最基本的是系统应该能够提供对时间正确性进行指定的方法
系统提供一种指定时间尺度的方法
通用系统的延时不能满足
问题2-实时系统的结构 实时系统的体系结构必须满足:
无功功率计算●高运算速度
●高速的中断处理
●高的I/O吞吐率
●合理的处理器和I/O设备的拓扑连接
●高速可靠的和有时间约束的通信
●体系结构支持的出错处理,
●体系结构支持的调度
●体系结构支持的操作系统,
●体系结构支持的实时语言特性。
问题3-容错与分布 稳定性
容错
分布式应用
问题4-实时通讯
●逻辑正确
●要有确定的延迟时间
问题5-其他问题
●时间特性的指定和确正,这点与实际系统设计相同。
●实时的调度理论。由于实时系统应用的特殊性以往通用系统中以大吞吐量为目标的调度算法必须改进以适应实时应用的需要。主要要求是满足时间的正确性,然后提供高度动态的,满足在线需求的,适应性的实时调度。
●实时操作系统的设计和实现。在设计上首要目标是提供保证实时性的方法,包括一系列的经典问题的针对实时系统的解决方案。实现上要求操作系统的低开销,而且必须保证内核以及其他关键的可重入性。 ●实时的编程语言和设计方法。在编程语言级完成或提供实时应用所需要的方法。
比如象Ada语言,FORTH语言。
●分布式的实时数据库。
●系统的容错。
●实时时钟的同步。
●实时系统中的人工智能

本文发布于:2024-09-21 13:33:28,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/281235.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   调度   时间   提供   进程
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议