




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 嵌入式系统软件嵌入式系统软件 杨剑锋杨剑锋 1 1 嵌入式操作系统嵌入式操作系统 嵌入式操作系统是个集合嵌入式操作系统是个集合 而且是个无限而且是个无限 集合集合 监控程序监控程序 常规操作系统常规操作系统 红外线红外线 紫外线紫外线 一维和多维一维和多维 嵌入式操作系统常常有实时要求嵌入式操作系统常常有实时要求 早期早期 嵌入式操作系统嵌入式操作系统 实时操作系统实时操作系统 近期近期 1 1 手持计算机和掌上计算机的出现手持计算机和掌上计算机的出现 2 2 CPUCPU速度的提高速度的提高 3 3 常规操作系统增加实时进程调度的支持常规操作系统增加实时进程调度的支持 如如 POSIX 4POSIX 4 嵌入式操作系统嵌入式操作系统 实时操作系统实时操作系统 许多嵌入式操作系统的内核是微内核结构许多嵌入式操作系统的内核是微内核结构 许多嵌入式操作系统都不带磁盘许多嵌入式操作系统都不带磁盘 根本不支持文件系统根本不支持文件系统 结构上为了设备驱动而支持文件系统 但不结构上为了设备驱动而支持文件系统 但不 支持文件系统的文件存储功能支持文件系统的文件存储功能 许多嵌入式操作系统不采用存储管理技许多嵌入式操作系统不采用存储管理技 术术 即不支持虚拟存储技术即不支持虚拟存储技术 许多嵌入式操作系统不划分许多嵌入式操作系统不划分 系统空间系统空间 和和 用户空间用户空间 操作系统的操作系统的 内核内核 与外围应用程序之间不再与外围应用程序之间不再 有物理的边界有物理的边界 系统中所谓系统中所谓 进程进程 实际上全都是内核线程实际上全都是内核线程 静态连接 系统调用 进程调度静态连接 系统调用 进程调度 切换切换 对任何一个应用程序做细微的修改 都得重对任何一个应用程序做细微的修改 都得重 新生成整个系统 并且新生成整个系统 并且 下载下载 之 之 系统调用的界面太庞大 系统调用的界面太庞大 共享变量的访问 需要谨慎对待 共享变量的访问 需要谨慎对待 把通用操作系统上的应用移植过来需考虑把通用操作系统上的应用移植过来需考虑 可重入可重入 的问题 的问题 2 不分系统空间和用户空间不分系统空间和用户空间 必须静态连接必须静态连接 如如DOSDOS CP MCP M的的INT21INT21 不分系统空间和用户空间不分系统空间和用户空间 不能用页面映不能用页面映 射技术射技术 但只用于不同进程之间 而非不同空间之间但只用于不同进程之间 而非不同空间之间 即使采用了存储管理 基本上都不采用页即使采用了存储管理 基本上都不采用页 面交换技术面交换技术 重启动技术 重启动技术 watch dogwatch dog 2 2 RTOSRTOS 是否实时是否实时 一方面是多大程度上充分发挥硬件潜力 即一方面是多大程度上充分发挥硬件潜力 即 综合速度快慢的问题 综合速度快慢的问题 另一方面同时也是反映的速度在多大的程度另一方面同时也是反映的速度在多大的程度 上得到保证的问题上得到保证的问题 中断延迟 中断延迟 Interrupt LatencyInterrupt Latency 中断不可嵌套中断不可嵌套 LINUXLINUX的的Bottom HalfBottom Half 中断可嵌套 优先级中断中断可嵌套 优先级中断 大多微处理器不支持 大多微处理器不支持 LINUXLINUX不支持 不支持 UNIXUNIX支持支持 与指令集有关与指令集有关 DMADMA操作有关操作有关 保证系统调用的原子性有关保证系统调用的原子性有关 调度延迟 调度延迟 Scheduling LatencyScheduling Latency 中断处理程序中断处理程序进程处理进程处理 一般调度算法 一般调度算法 Round RobinRound Robin 不能及时选不能及时选 中中 基于优先级调度算法 一般能及时选中基于优先级调度算法 一般能及时选中 如果目标进程优先级低呢 如果目标进程优先级低呢 可剥夺调度和不可剥夺调度可剥夺调度和不可剥夺调度 LINUXLINUX是属于什么调度 是属于什么调度 事件或软中断 Linux既不是完全的可剥夺 也不是完全的不可剥夺 上下文切换延迟 上下文切换延迟 Context Switch LatencyContext Switch Latency 大小取决于大小取决于CPUCPU和操作系统和操作系统 采用采用MMU MMU 不采用不采用MMUMMU 只要发生调度 就能选中目标进程吗 只要发生调度 就能选中目标进程吗 根据时间片的耗用调整优先级根据时间片的耗用调整优先级 拉开距离 分等级拉开距离 分等级 对实时进程而言 对实时进程而言 应该没有问题应该没有问题 不够 不够 是否可以不用中断 也不用调度 回到是否可以不用中断 也不用调度 回到 最简单的最简单的 监控程序监控程序 3 实时性实时性实时性实时性简介简介 对于什么是实时系统 对于什么是实时系统 POSIX 1003 bPOSIX 1003 b作了这作了这 样的定义 指系统能够在限定的响应时间样的定义 指系统能够在限定的响应时间 内提供所需水平的服务内提供所需水平的服务 实时系统根据其对于实时性要求的不同 实时系统根据其对于实时性要求的不同 可以分为软实时和硬实时两种类型可以分为软实时和硬实时两种类型 一个计算机系统为了提供对于实时性的支一个计算机系统为了提供对于实时性的支 持 它的操作系统必须对于持 它的操作系统必须对于CPUCPU和其他资源和其他资源 进行有效的调度和管理 即实时调度进行有效的调度和管理 即实时调度 实时调度分类实时调度分类 各种实时操作系统的实时调度算法从调度策略各种实时操作系统的实时调度算法从调度策略 上可以分为如下三种类别 基于优先级的调度上可以分为如下三种类别 基于优先级的调度 算法 算法 PriorityPriority driven schedulingdriven scheduling PDPD 基于基于 CPUCPU使用比例的共享式的调度算法 使用比例的共享式的调度算法 ShareShare driven schedulingdriven scheduling SDSD 以及基于时间的进程以及基于时间的进程 调度算法 调度算法 TimeTime driven schedulingdriven scheduling TDTD 从调度方式上来讲可以分为 可抢占 不可抢从调度方式上来讲可以分为 可抢占 不可抢 占 从时间片来分 固定时间片 可变时间片占 从时间片来分 固定时间片 可变时间片 实时性改造实时性改造实时性改造实时性改造 对操作系统实时性的扩展可以从两方面对操作系统实时性的扩展可以从两方面 进行进行 向外扩展和向上扩展向外扩展和向上扩展 向外扩展是从范围上扩展 让实时系统向外扩展是从范围上扩展 让实时系统 支持的范围更广 支持的设备更多支持的范围更广 支持的设备更多 向上扩展是扩充操作系统内核 从功能向上扩展是扩充操作系统内核 从功能 上扩充系统的实时处理上扩充系统的实时处理 实时多任务实时多任务OSOS RTOSRTOS 单片机单片机 无无osos 主程序主程序 RTOSRTOS 资源包装资源包装 APIAPI 可移植 只要可移植 只要1 1 4 4 实时系统实时系统 在实时计算中 系统的正确性不仅仅依在实时计算中 系统的正确性不仅仅依 赖于计算的逻辑结果而且依赖于结果产赖于计算的逻辑结果而且依赖于结果产 生的时间生的时间 响应时间限定响应时间限定 可预知可预知 实时操作系统与实时操作系统与I OI O 实时操作系统还需要有效的中断处理能实时操作系统还需要有效的中断处理能 力来处理异步事件和高效的力来处理异步事件和高效的I OI O能力来处能力来处 理有严格时间限制的数据收发应用 就理有严格时间限制的数据收发应用 就 是是 系统应该有在事先定义的时间范围内系统应该有在事先定义的时间范围内 识别和处理离散的事件的能力 识别和处理离散的事件的能力 系统能够处理和存储控制系统所需要系统能够处理和存储控制系统所需要 的大量的数据 的大量的数据 4 周期性的系统周期性的系统 非周期性系统非周期性系统 硬实时系统硬实时系统 灾难后果灾难后果 软实时系统软实时系统 性能下降性能下降 RTOSRTOS与分时系统与分时系统 事件响应时间限定事件响应时间限定 事件随机到达事件随机到达 系统可确定性系统可确定性 RtosRtos的历史的历史 1 1 早早期的监控系统 早早期的监控系统 系统系统initinit 时钟时钟 简单的任务调度简单的任务调度 2 2 专用实时 专用实时OSOS 依赖于特定硬件依赖于特定硬件 移植性不好移植性不好 3 3 通用 通用RTOSRTOS 嵌入式软件开发平台嵌入式软件开发平台 RTOSRTOS 标准化标准化 可移植可移植 设备独立设备独立 RTOSRTOS基本基本structstruct 实时多任务实时多任务corecore 任务管理任务管理 多任务和基于优先级的任务调度多任务和基于优先级的任务调度 定时器定时器 系统的实时时钟服务 以及各个定时任务的系统的实时时钟服务 以及各个定时任务的 调入等调入等 MemMem 管理系统的内存资源 如管理系统的内存资源 如 DRAM ROM FLASHRAMDRAM ROM FLASHRAM等等 资源管理资源管理 管理系统的各种资源如系统的各种设备 管理系统的各种资源如系统的各种设备 端口 中断等 端口 中断等 事件和消息管理 管理各种系统级的事件 如实时事件和消息管理 管理各种系统级的事件 如实时 中断响应 各种异常等 任务间同步和通信 信号中断响应 各种异常等 任务间同步和通信 信号 量和邮箱等 以及各种系统消息和应用程序之间的量和邮箱等 以及各种系统消息和应用程序之间的 通讯通讯 RTOSRTOS的系统调用的系统调用 90 90 以上的设备独立以上的设备独立 RTOSRTOS的任务 分时系统的任务 分时系统ProcessProcess 5 实时带来的问题实时带来的问题1 1 时间时间 在实时系统中最基本的是系统应该能够在实时系统中最基本的是系统应该能够 提供对时间正确性进行指定的方法提供对时间正确性进行指定的方法 系统提供一种指定时间尺度的方法系统提供一种指定时间尺度的方法 通用系统的延时不能满足通用系统的延时不能满足 问题问题2 2 实时系统的结构 实时系统的结构 实时系统的体系结构必须满足 实时系统的体系结构必须满足 高运算速度高运算速度 高速的中断处理高速的中断处理 高的高的I OI O吞吐率吞吐率 合理的处理器和合理的处理器和I OI O设备的拓扑连接设备的拓扑连接 高速可靠的和有时间约束的通信高速可靠的和有时间约束的通信 体系结构支持的出错处理 体系结构支持的出错处理 体系结构支持的调度体系结构支持的调度 体系结构支持的操作系统 体系结构支持的操作系统 体系结构支持的实时语言特性 体系结构支持的实时语言特性 问题问题3 3 容错与分布 容错与分布 稳定性稳定性 容错容错 分布式应用分布式应用 问题问题4 4 实时通讯 实时通讯 逻辑正确逻辑正确 要有确定的延迟时间要有确定的延迟时间 问题问题5 5 其他问题 其他问题 时间特性的指定和确正 这点与实际系统设时间特性的指定和确正 这点与实际系统设 计相同 计相同 实时的调度理论 由于实时系统应用的特殊实时的调度理论 由于实时系统应用的特殊 性以往通用系统中以大吞吐量为目标的调度算性以往通用系统中以大吞吐量为目标的调度算 法必须改进以适应实时应用的需要 主要要求法必须改进以适应实时应用的需要 主要要求 是满足时间的正确性 然后提供高度动态的 是满足时间的正确性 然后提供高度动态的 满足在线需求的 适应性的实时调度 满足在线需求的 适应性的实时调度 实时操作系统的设计和实现 在设计上首要实时操作系统的设计和实现 在设计上首要 目标是提供保证实时性的方法 包括一系列的目标是提供保证实时性的方法 包括一系列的 经典问题的针对实时系统的解决方案 实现上经典问题的针对实时系统的解决方案 实现上 要求操作系统的低开销 而且必须保证内核以要求操作系统的低开销 而且必须保证内核以 及其他关键的可重入性 及其他关键的可重入性 实时的编程语言和设计方法 在编程实时的编程语言和设计方法 在编程 语言级完成或提供实时应用所需要的方语言级完成或提供实时应用所需要的方 法 法 比如象比如象AdaAda语言 语言 FORTHFORTH语言 语言 分布式的实时数据库 分布式的实时数据库 系统的容错 系统的容错 实时时钟的同步 实时时钟的同步 实时系统中的人工智能实时系统中的人工智能 6 与与通用计算机区别通用计算机区别 通用 通用 方便用户管理计算机资源方便用户管理计算机资源 追求系统资源最大利用率追求系统资源最大利用率 RTOSRTOS 调度的实时性调度的实时性 响应时间可确定性响应时间可确定性 高可靠性高可靠性 性能衡量标准性能衡量标准 对传统的通用系统对传统的通用系统 大的系统吞吐量大的系统吞吐量 合理的响应速度合理的响应速度 对每个系统用户相对公平的进行计算资源的分配对每个系统用户相对公平的进行计算资源的分配 实时系统实时系统 实时的数据吞吐取代了以吞吐量为目标的标准 实时的数据吞吐取代了以吞吐量为目标的标准 对硬实时应用的优先响应取代了对每个用户的恰当对硬实时应用的优先响应取代了对每个用户的恰当 的反应速度 的反应速度 系统的计算资源和其他外设资源必须优先满足实时系统的计算资源和其他外设资源必须优先满足实时 应用的要求应用的要求 RTOSRTOS的衡量指标的衡量指标 系统响应时间系统响应时间 System response time System response time 系统系统 发出处理要求到系统给出应答信号的时间发出处理要求到系统给出应答信号的时间 任务切换时间任务切换时间 ContextContext switching time switching time 任务之任务之 间切换而使用的时间间切换而使用的时间 中断延迟中断延迟 Interrupt latency time Interrupt latency time 是计算机是计算机 接收到中断信号到操作系统作出响应 并完成接收到中断信号到操作系统作出响应 并完成 换道转入中断服务程序的时间换道转入中断服务程序的时间 RTOSRTOS的任务调度机制的任务调度机制 决定了多任务能力与实时性决定了多任务能力与实时性 通用模式 通用模式 调度策略 优先级调度 时间片轮转调度调度策略 优先级调度 时间片轮转调度 调度方式 抢占式 不可抢占式 选择可抢调度方式 抢占式 不可抢占式 选择可抢 占式占式 时间片 定长时间片与变长时间片时间片 定长时间片与变长时间片 RTOSRTOS一般使用抢占式任务调度一般使用抢占式任务调度 时间限定的任务调度算法时间限定的任务调度算法 速度单调算法速度单调算法 工作由定期任务组织工作由定期任务组织 任务时间定长度任务时间定长度 使用频率高的优先级高使用频率高的优先级高 时限驱动算法时限驱动算法 工作定期与不定期工作定期与不定期 执行时长随着时间变化执行时长随着时间变化 下一个要安排执行的任务是时限最早的任务下一个要安排执行的任务是时限最早的任务 MMUMMU 实模式实模式 保护模式保护模式 MemMem管理管理 7 最小最小memmem开销开销 PricePrice 256K RAM256K RAM 4M4M 32M RAM32M RAM 中断禁止时间中断禁止时间 用户态 用户态 中断态中断态 中断延时时间中断延时时间 确认中断确认中断 中断服务第一语句执行中断服务第一语句执行 三部分三部分 Microprocessor Microprocessor 的硬件延时的硬件延时 RTOSRTOS由中断将权利交给相关代码的时间由中断将权利交给相关代码的时间 中断禁止时间中断禁止时间 可中断式内核可中断式内核 中断发生时 即使运行核心服务也保证中断发生时 即使运行核心服务也保证 一定时间内响应一定时间内响应 缩短中断延时时间缩短中断延时时间 任务切换时间任务切换时间 控制权取回控制权取回 交给另外一任务交给另外一任务 两个主要评价实时性的指标 两个主要评价实时性的指标 最大中断禁止时间最大中断禁止时间 任务切换时间任务切换时间 8 任务任务 分时系统以进程 线程 为基本单位分时系统以进程 线程 为基本单位 RTOSRTOS以任务为基本单位以任务为基本单位 组成 组成 任务控制块任务控制块 程序区程序区 数据区数据区 堆栈区堆栈区 系统堆栈系统堆栈 用户堆栈用户堆栈 任务的状态任务的状态 运行运行 就绪就绪 挂起挂起 休眠休眠 任务的同步与通讯任务的同步与通讯 消息消息 事件事件 信号量信号量 信箱信箱 共享内存共享内存 消息消息 系统公用数据交换区系统公用数据交换区 私有消息缓冲区私有消息缓冲区 公用消息缓冲池公用消息缓冲池 消息机制消息机制 创建创建 删除删除 接受消息接受消息 发送消息发送消息 广播消息广播消息 紧急消息紧急消息 消息可以是定长与不定长消息可以是定长与不定长 事件事件 应用于同步 通讯数据量不大应用于同步 通讯数据量不大 接受事件接受事件 发送事件发送事件 RTOSRTOS一般有一般有1515 3232个事件个事件 信号量信号量 创建创建 删除删除 P P操作操作 V V操作操作 RTOSRTOS需要解决优先级倒置问题需要解决优先级倒置问题 9 优先级倒置问题优先级倒置问题 条件条件 高优先级任务高优先级任务H H 低优先级任务低优先级任务L L 中优先级任务中优先级任务MM 共享内存共享内存Y Y 写操作写操作 信号量信号量S S 互斥互斥 步骤步骤 1 1 L L取得取得S S P P操作 但是未做操作 但是未做V V操作操作 2 2 H H中断 中断 H H运行态运行态 3 3 H H写写Y Y 但是但是Y Y的的S S被占用被占用 4 4 L L重新取得控制权重新取得控制权 5 5 MM出现 取得控制权出现 取得控制权 结果 结果 MM比比H H优先优先 如果不断的如果不断的MM出现 出现 H H不能执行不能执行 解决方法解决方法 1 1 采用非抢占式任务管理 采用非抢占式任务管理 2 2 优先级继承 优先级继承 L L抢回控制权后 暂时继承抢回控制权后 暂时继承H H的优先级的优先级 priority inheritancepriority inheritance 设设S S为正占用着某项共享资源的进程为正占用着某项共享资源的进程P P以及所以及所 有正在等待占用这个资源的进程的集合 有正在等待占用这个资源的进程的集合 找出这个集合中的优先级最高者 其优先级找出这个集合中的优先级最高者 其优先级 为为P P 把进程把进程P P的优先级设置成的优先级设置成P P 优先级封顶 优先级封顶 priority ceilingpriority ceiling 设设S S为所有可能竞争使用某项共享资源的进程的集为所有可能竞争使用某项共享资源的进程的集 合 事先为这个集合规定一个优先级上限合 事先为这个集合规定一个优先级上限p p 使得使得 这个集合中所有进程的优先级都小于这个集合中所有进程的优先级都小于p p 注意注意p p 并不并不 一定是整个系统中的最好优先级 一定是整个系统中的最好优先级 在创建保护该项资源的信号量或互斥量时 将在创建保护该项资源的信号量或互斥量时 将p p 作作 为一个参数 为一个参数 每当有进程通过这个信号量或互斥量取得共享资源每当有进程通过这个信号量或互斥量取得共享资源 时 就将此进程的优先级暂时提高到时 就将此进程的优先级暂时提高到p p 一直到释一直到释 放该项资源的时候才恢复其原有的优先级 放该项资源的时候才恢复其原有的优先级 可以看出 操作系统的可以看出 操作系统的 实时实时 与否 并不仅与否 并不仅 仅取决于速度问题 甚至更多的是反应速仅取决于速度问题 甚至更多的是反应速 度和处理时间的度和处理时间的可预测性可预测性问题 问题 实时操作系统和通用操作系统实时操作系统和通用操作系统 区别区别 对于通用操作系统 总体的效率是更高对于通用操作系统 总体的效率是更高 的目标 必要时宁可牺牲个别进程的反的目标 必要时宁可牺牲个别进程的反 应速度来达到总体效率的提高 而实时应速度来达到总体效率的提高 而实时 操作系统却反过来 必要时宁可牺牲总操作系统却反过来 必要时宁可牺牲总 体效率也要保证个别进程的反应速度 体效率也要保证个别进程的反应速度 对于通用操作系统 公正性更为重要 对于通用操作系统 公正性更为重要 必要时宁可必要时宁可 劫富济贫劫富济贫 而实时操作系统 而实时操作系统 高优先级进程的运行更为重要 必要时高优先级进程的运行更为重要 必要时 宁可宁可 劫贫济富劫贫济富 10 对于通用操作系统 性能的分析是统计对于通用操作系统 性能的分析是统计 分析 平均值分析 而实时操作系统性分析 平均值分析 而实时操作系统性 能分析则是能分析则是 最坏情况最坏情况 分析 分析 通用操作系统充分利用通用操作系统充分利用CPUCPU处理能力 处理能力 而实时操作系统有意让而实时操作系统有意让CPUCPU处理能力供处理能力供 过于求 以确保反应速度和任务的完成 过于求 以确保反应速度和任务的完成 3 3 微内核与单内核微内核与单内核 分层模拟分层模拟 通用计算机需要通用计算机需要 大而全大而全 的内核的内核 你不需要 别人可能需要你不需要 别人可能需要 当局限于某个具体领域时 做些当局限于某个具体领域时 做些 裁减裁减 嵌入式系统的用户群以及对功能的要求嵌入式系统的用户群以及对功能的要求 是相对封闭的是相对封闭的 商业上考虑 大而全也不合适商业上考虑 大而全也不合适 裁减裁减 或或 系统生成系统生成 没有根本上解决问题没有根本上解决问题 将内核中的部分内容移到内核外面 作将内核中的部分内容移到内核外面 作 为服务进程运行 为服务进程运行 代表 代表 MACHMACH 把内核中的部分内容移到外面 但不作把内核中的部分内容移到外面 但不作 为独立的进程运行 而是作为让应用程为独立的进程运行 而是作为让应用程 序调用的库函数存在 序调用的库函数存在 fopenfopen与与openopen socketsocket 在微内核中保留哪些东西 在微内核中保留哪些东西 进程管理进程管理 存储管理存储管理 进程间通信进程间通信 中断响应框架中断响应框架 微内核的优先级倒置问题微内核的优先级倒置问题 有有A A B B两个应用程序 两个应用程序 A A的优先级比的优先级比B B高 但高 但 是是A A在睡眠 而在睡眠 而B B在运行 在运行 B B需要进行文件操作 发请求给文件服务进程 需要进行文件操作 发请求给文件服务进程 自己进入睡眠 等待文件操作完成自己进入睡眠 等待文件操作完成 本来在睡眠的文件服务进程接受到本来在睡眠的文件服务进程接受到B B的请求后的请求后 开始为开始为B B服务 服务 此时此时A A因某外部事件而变成就绪 因某外部事件而变成就绪 发生调度时 发生调度时 A A与文件服务进程都是就绪状态 与文件服务进程都是就绪状态 文件服务进程由于优先级高而更为优先 可是文件服务进程由于优先级高而更为优先 可是 文件服务进程代表的是文件服务进程代表的是B B 因此发生优先级倒因此发生优先级倒 置 置 以上问题的解决办法是采用以上问题的解决办法是采用 客户驱动优先客户驱动优先 级级 但是对于 但是对于LINUXLINUX等操作系统 由于是等操作系统 由于是 不可剥夺的 因此天生不可解决 不可剥夺的 因此天生不可解决 11 A B C A B C C C正在运行正在运行 C C需要文件操作 发请求给文件服务进程 需要文件操作 发请求给文件服务进程 进入睡眠 等待文件操作完成 进入睡眠 等待文件操作完成 文件服务进程开始为文件服务进程开始为C C服务 并将优先级服务 并将优先级 设成与设成与C C相同 相同 此时此时A A被外部时间唤醒 也需要文件操作 被外部时间唤醒 也需要文件操作 发请求 进入睡眠 发请求 进入睡眠 A A的请求在文件服务进程的等待队列中 的请求在文件服务进程的等待队列中 发生优先级倒置 发生优先级倒置 B B由于外部事件变成就绪由于外部事件变成就绪 由于由于B C BB C B会被调度 会被调度 对于对于C C是合理的 但是对于是合理的 但是对于A A 太不公平 太不公平 如果还有如果还有B1B1 B2B2 B3B3 B4B4 噢 噢 微内核的优点微内核的优点 小而且简单 容易理解 容易维护小而且简单 容易理解 容易维护 各模块可以独立开发各模块可以独立开发 系统配置灵活方便系统配置灵活方便 微内核的缺点微内核的缺点 效率降低效率降低 安全降低安全降低 MinuxMinux的作者的作者Andy Andy TanenbaumTanenbaum Only Only because the brainbecause the brain dead nature of the Intel dead nature of the Intel CPUs makes that difficult to do otherwiseCPUs makes that difficult to do otherwise 单一内核的努力 单一内核的努力 可安装模块可安装模块 4 4 常用的商品嵌入式操作系统常用的商品嵌入式操作系统 L Licenseicense CECE的源代码的源代码 12 VxWorksVxWorks 美国美国WindRiverWindRiver 统一空间统一空间 函数接口多 函数接口多 30003000多 多 是是UNIXUNIX的远房变种 但区别也很大的远房变种 但区别也很大 为不带为不带MMUMMU的处理器设计的 当然允许可选的处理器设计的 当然允许可选 可剥夺调度可剥夺调度 采用优先级继承方法解决倒置问题采用优先级继承方法解决倒置问题 支持消息 信号 管道等进程间通信支持消息 信号 管道等进程间通信 支持支持POSIXPOSIX 网络支持很全面网络支持很全面 新版本 新版本 VxWorksVxWorks AE AE 分离空间分离空间 QNXQNX 加拿大加拿大QNX Software SystemQNX Software System公司公司 类似于类似于MACHMACH 进程管理 文件系统管理 设备管理 网络管进程管理 文件系统管理 设备管理 网络管 理都在内核之外理都在内核之外 符合符合POSIXPOSIX 采用消息作为进程间通信采用消息作为进程间通信 可剥夺可剥夺 GUIGUI类似于类似于X WINDOWSX WINDOWS 支持网络和分布式计算支持网络和分布式计算 pSOSpSOS 原美国原美国Integrated SystemIntegrated System公司产品 现被公司产品 现被 WindRiverWindRiver收购收购 接近单一内核的微内核系统接近单一内核的微内核系统 文件系统移到内核外文件系统移到内核外 采用优先级继承和优先级封顶技术采用优先级继承和优先级封顶技术 存储管理可以根据需要舍取存储管理可以根据需要舍取 消息和事件作为进程间通信消息和事件作为进程间通信 设备驱动留在内核中设备驱动留在内核中 S Socketocket提供网络接口提供网络接口 Windows CEWindows CE MicrosoftMicrosoft公司的产品公司的产品 微内核 可剥夺微内核 可剥夺 采用页式存储管理 页面换入技术 可以锁定 采用页式存储管理 页面换入技术 可以锁定 内核映像既可以在内核映像既可以在ROMROM中 也可以在中 也可以在RAMRAM中中 运行运行 动态连接动态连接DLLDLL 中断处理分中断处理分ISRISR与与ISTIST 不支持嵌套不支持嵌套 设备驱动也分两层设备驱动也分两层 WinsockWinsock提供网络接口提供网络接口 GUIGUI丰富丰富 5 5 开源的嵌入式操作系统开源的嵌入式操作系统 公开源码公开源码 不是商品不是商品 C OSC OS 13 MACHMACH Carnegie Mellon UniversityCarnegie Mellon University RTRT MACHMACH RTLINUXRTLINUX New Mexico TechNew Mexico Tech的的Victor Victor YodaikenYodaiken等人等人 研制研制 变种 变种 RTAIRTAI ADEOSADEOS KURTKURT L Linuxinux的变种 的变种 Kansas UniversityKansas University 时钟精度提高时钟精度提高 增加一些系统调用增加一些系统调用 增加针对硬实时进程的调度策略增加针对硬实时进程的调度策略 ARMARM LINUXLINUX Preempt LinuxPreempt Linux Robert M LoveRobert M Love 针对针对LINUXLINUX的不可剥夺调度的不可剥夺调度 20012001年年RMLRML补丁补丁 TimeSysTimeSys LinuxLinux 美国公司 原致力于美国公司 原致力于MACH MACH 现转向现转向linuxlinux 14 6 6 因特网时代应用模型的演变因特网时代应用模型的演变因特网时代应用模型的演变因特网时代应用模型的演变 程序作为动态构件自动加载运行 而不程序作为动态构件自动加载运行 而不 需要由用户去逐个启动 需要由用户去逐个启动 构件支持脚本语言控制 多个构件可以构件支持脚本语言控制 多个构件可以 相互操作 交换信息 相互操作 交换信息 以浏览器为交互式操作界面 既便于有以浏览器为交互式操作界面 既便于有 户掌握 又为程序开发提供了统一标准 户掌握 又为程序开发提供了统一标准 网络化资源管理 程序自动下载运行 网络化资源管理 程序自动下载运行 不需要用户介入 不需要用户介入 因特网时代应用模型的演变因特网时代应用模型的演变因特网时代应用模型的演变因特网时代应用模型的演变 来自不同软件开发商的软件模块动态组织起来运行 灵活内核技术灵活内核技术灵活内核技术灵活内核技术浏览器成为统一的用户界面浏览器成为统一的用户界面浏览器成为统一的用户界面浏览器成为统一的用户界面 操作系统对操作系统对操作系统对操作系统对XMLXML的支持的支持的支持的支持 XMLXML文本描述语言的广泛使用将是因特文本描述语言的广泛使用将是因特 网时代操作系统的另一明显标志网时代操作系统的另一明显标志 XMLXML的每个标签 的每个标签 tagtag 都可以由用户定都可以由用户定 义义 XMLXML兼顾了对于人的可读性和计算机的兼顾了对于人的可读性和计算机的 处理效率处理效率 XMLXML已经成了因特网信息交换的标准 已经成了因特网信息交换的标准 未来的操作系统内核会对未来的操作系统内核会对XMLXML进行最有进行最有 效的支持效的支持 因特网时代操作系统技术的发因特网时代操作系统技术的发 展展 15 硬件设备即插即用硬件设备即插即用硬件设备即插即用硬件设备即插即用 因特网时代要求硬件设备能即插即用因特网时代要求硬件设备能即插即用 解决方案只能是在驱动程序对象中加入非执行的描述信息 解决方案只能是在驱动程序对象中加入非执行的描述信息 这种描述信息就是通常所说的元数据 这种描述信息就是通常所说的元数据 metadatametadata 它可以它可以 告诉告诉 访问者它有哪些特性和功能 访问者它有哪些特性和功能 元数据可以是元数据可以是XMLXML形式 二进制或两者兼有 我们知道对形式 二进制或两者兼有 我们知道对 象加上元数据就是构件 象加上元数据就是构件 操作系统可以根据构件中的元数据生成中间件 这种在内操作系统可以根据构件中的元数据生成中间件 这种在内 核里动态生成的中间件是连接驱动构件与用户程序的核里动态生成的中间件是连接驱动构件与用户程序的 桥桥 梁梁 而这而这 桥梁桥梁 是内核根据硬件设备的元数据动态生成的 此是内核根据硬件设备的元数据动态生成的 此 时的新型操作系统仍然是时的新型操作系统仍然是 以不变应万变以不变应万变 体系结构由固定变为灵活体系结构由固定变为灵活体系结构由固定变为灵活体系结构由固定变为灵活 操作系统体系结构大致分为两种 大内核操作系统体系结构大致分为两种 大内核 Monolithic KernelMonolithic Kernel 和微内核 和微内核 Micro KernelMicro Kernel 大内核操作系统将图形 设备驱动 文件系统等大内核操作系统将图形 设备驱动 文件系统等 全部功能在操作系统内核中实现 运行在内核状全部功能在操作系统内核中实现 运行在内核状 态 同一地址空间 优点是减少进程间通信和状态 同一地址空间 优点是减少进程间通信和状 态切换的系统开销 获得较好的运行效率 缺点态切换的系统开销 获得较好的运行效率 缺点 是内核庞大 占用资源多 剪裁不易 并且一旦是内核庞大 占用资源多 剪裁不易 并且一旦 个别驱动程序运行出错 就会导致整个系统崩溃 个别驱动程序运行出错 就会导致整个系统崩溃 稳定性 安全性不好 稳定性 安全性不好 微内核在内核中只实现那些必须由内核实现的基微内核在内核中只实现那些必须由内核实现的基 本功能 而将图形 文件系统 设备驱动 通讯本功能 而将图形 文件系统 设备驱动 通讯 等功能放在内核之外 作为系统服务来提供相应等功能放在内核之外 作为系统服务来提供相应 的功能 这些程序在用户状态下运行 这样做的的功能 这些程序在用户状态下运行 这样做的 优点是有一个精炼的内核 便于剪裁 移植 优点是有一个精炼的内核 便于剪裁 移植 服务器服务器服务器服务器 中间件中间件中间件中间件 用户用户用户用户 编程模型编程模型编程模型编程模型操作系统与虚拟机操作系统与虚拟机操作系统与虚拟机操作系统与虚拟机 操作系统可以作为虚拟机 直接提供中操作系统可以作为虚拟机 直接提供中 间件的运行环境间件的运行环境 操作系统可以对应用程序构件进行各种操作系统可以对应用程序构件进行各种 各样的控制 使得封装好的构件能够适各样的控制 使得封装好的构件能够适 应不同的运行环境和用户要求应不同的运行环境和用户要求 操作系统利用中间件技术支持和控制应操作系统利用中间件技术支持和控制应 用程序的运行环境 就形成了因特网时用程序的运行环境 就形成了因特网时 代操作系统的关键技术代操作系统的关键技术 基于中间件技术的嵌入式操作系基于中间件技术的嵌入式操作系基于中间件技术的嵌入式操作系基于中间件技术的嵌入式操作系 统统统统 操作系统的实现采用构件技术 提供构件运行的虚拟机环操作系统的实现采用构件技术 提供构件运行的虚拟机环 境 支持动态加载构件境 支持动态加载构件 构件的互操作性定义了编程语言无关 可扩展 跨平台的构件的互操作性定义了编程语言无关 可扩展 跨平台的 二进制标准 构件之间的相互作用通过一组称作接口二进制标准 构件之间的相互作用通过一组称作接口 interface interface 的功能实现的功能实现 提供接口描述语言提供接口描述语言CDLCDL 为服务器中新功能的实现提供了为服务器中新功能的实现提供了 方便 如脚本语言调用构件对象函数等方便 如脚本语言调用构件对象函数等 运行环境 虚拟机 可以在操作系统上自动生成中间件运行环境 虚拟机 可以在操作系统上自动生成中间件 代理构件 提供构件定位 调用 管理 中间件自动 代理构件 提供构件定位 调用 管理 中间件自动 生成 构件通信生成 构件通信 进程内 跨进程 跨网络等不同运行环进程内 跨进程 跨网络等不同运行环 境境 等机制等机制 件技术保证了软件互操作性 版本升级独立性和运行环境件技术保证了软件互操作性 版本升级独立性和运行环境 透明性 提供了提高系统安全 软件协同开发 软件容错 透明性 提供了提高系统安全 软件协同开发 软件容错 可靠性 软件复用 软件升级的有效手段可靠性 软件复用 软件升级的有效手段 基于中间件技术的操作系统的技基于中间件技术的操作系统的技基于中间件技术的操作系统的技基于中间件技术的操作系统的技 术优势术优势术优势术优势 提供系统的安全保护机制提供系统的安全保护机制 硬件设备的即插即用硬件设备的即插即用 稳定 健壮的系统特性稳定 健壮的系统特性 灵活内核操作系统体系结构灵活内核操作系统体系结构 16 7 7 嵌入式嵌入式LinuxLinux 一 嵌入式一 嵌入式LinuxLinux的的定义定义 嵌入式嵌入式Linux Linux EmbededEmbeded Linux Linux 是指对是指对 LinuxLinux经过小型化裁剪后 能够固化在容经过小型化裁剪后 能够固化在容 量只有几十万字节或几十亿字节的存储量只有几十万字节或几十亿字节的存储 器芯片或单片机中 应用于特定嵌入式器芯片或单片机中 应用于特定嵌入式 场合的专用场合的专用LinuxLinux操作系统操作系统 嵌入式嵌入式LinuxLinux的优势的优势 LinuxLinux系统是层次结构且内核完全开放系统是层次结构且内核完全开放 强大的网络支持功能强大的网络支持功能 LinuxLinux具备一整套工具链 容易自行建立具备一整套工具链 容易自行建立 嵌入式系统的开发环境和交叉运行环境 嵌入式系统的开发环境和交叉运行环境 并且可以跨越嵌入式系统开发中仿真工并且可以跨越嵌入式系统开发中仿真工 具的障碍具的障碍 LinuxLinux具有广泛的硬件支持特性具有广泛的硬件支持特性 嵌入式嵌入式嵌入式嵌入式LinuxLinux的特点的特点的特点的特点 专用嵌入式实时操作系统 嵌入式 Linux 操作系统 版权费 每生产一件产品需交纳一份 版权费 免费 购买费用 数十万元 RMB 免费 技术支持 由开发商独家提供有限的技 术支持 全世界的自由软件开发者提供支 持 网络特性 另加数十万元 RMB 购买 免费且性能优异 软件移值 难 因为是封闭系统 易 代码开放 有许多应用软件支 持 应用产品开发周期 长 因为可参考的代码有限 短 新产品上市迅速 因为有许多 公开的代码可以参考和移植 实时性能 好 须改进 可用 PT Linux 等模块弥 补 稳定性 较好 较好 但在高性能系统中须改进 主流嵌入式主流嵌入式主流嵌入式主流嵌入式LinuxLinux系统系统系统系统 ClinuxClinux EmbedixEmbedix RTLinuxRTLinux RTAI RTAI MontaMonta Vista Linux Vista Linux LinuxLinux的实时性的实时性 一般的通用一般的通用linuxlinux已经具备一定的实时性已经具备一定的实时性 但无法满足硬实时的要求但无法满足硬实时的要求 运行于运行于linuxlinux内核空间的进程 核心态 不能内核空间的进程 核心态 不能 被抢先被抢先 在在linuxlinux中 中断有时候会出于保护临界区操中 中断有时候会出于保护临界区操 作的目的而被屏蔽作的目的而被屏蔽 通用通用linuxlinux的时间滴答长度为的时间滴答长度为1010msms 硬件时钟硬件时钟 频率频率100100HZHZ 但是这对于时间精度要求很但是这对于时间精度要求很 高 微秒级 的实时进程来说是不够的高 微秒级 的实时进程来说是不够的 17 嵌入式嵌入式LinuxLinux的实时性改造的实时性改造 可以引入一个双内核结构可以引入一个双内核结构 对对LinuxLinux内核代码作一些修改内核代码作一些修改LinuxLinux本身的任务本身的任务 以及以及LinuxLinux内核本身作为一个优先级最低的任内核本身作为一个优先级最低的任 务 而实时任务作为优先级最高的任务以务 而实时任务作为优先级最高的任务以 LinuxLinux的内核模块的内核模块 Loadable Kernel ModuleLoadable Kernel Module LKM LKM 的形式存在的的形式存在的 资源核方法 这种方法是为解决传统实时操作资源核方法 这种方法是为解决传统实时操作 系统中固定优先级抢占式调度策略的局限性而系统中固定优先级抢占式调度策略的局限性而 产生的产生的 Linux 2 6Linux 2 6内核实时性分析内核实时性分析内核实时性分析内核实时性分析 2 62 6中内核自身是可抢占的中内核自身是可抢占的 它允许自身在它允许自身在 执行任务时被打断执行任务时被打断 2 62 6版本的版本的LinuxLinux内核使用了由内核使用了由 Ingo Ingo Molnar Molnar 开发的新的调度器算法 称为开发的新的调度器算法 称为O 1 O 1 算法算法 嵌入式嵌入式LinuxLinux面临的挑战面临的挑战 1 1 扩充 扩充LinuxLinux的实时系统的实时系统 内核不支持事件优先级和抢占实时特性内核不支持事件优先级和抢占实时特性 对对LinuxLinux实时性的扩展可以从两方面进行实时性的扩展可以从两方面进行 向外扩展 让实时系统支持的范围更广 支持的向外扩展 让实时系统支持的范围更广 支持的 设备更多 设备更多 向上扩展 扩充向上扩展 扩充LinuxLinux内核 从功能上扩充内核 从功能上扩充LinuxLinux 的实时处理和控制系统 的实时处理和控制系统 RTRT LinuxLinux的做法的做法 LinuxLinux本身的任务以及本身的任务以及LinuxLinux内核本身作为一内核本身作为一 个优先级最低的任务个优先级最低的任务 实时任务作为优先级最高的任务实时任务作为优先级最高的任务 实时任务以实时任务以LinuxLinux的内核模块的内核模块 Loadable Loadable Kernel ModuleKernel Module LKM LKM 的形式存在的形式存在 RTLinuxRTLinux硬实时操作系统简介硬实时操作系统简介硬实时操作系统简介硬实时操作系统简介 RTLinuxRTLinux是一硬实时操作系统是一硬实时操作系统 实现了一个微内核的小的实时操作系统 而将实现了一个微内核的小的实时操作系统 而将 普通普通LinuxLinux系统作为一个该操作系统中的一个系统作为一个该操作系统中的一个 低优先级的任务来运行低优先级的任务来运行 普通普通LinuxLinux系统中的任务可以通过系统中的任务可以通过FIFOFIFO和实时和实时 任务进行通信任务进行通信 通过软件来模拟硬件的中断控制器通过软件来模拟硬件的中断控制器 RTRT LinuxLinux通过将系统的实时时钟设置为单次触通过将系统的实时时钟设置为单次触 发状态 可以提供十几个微秒级的调度粒度发状态 可以提供十几个微秒级的调度粒度 RTLinuxRTLinux内核结构内核结构内核结构内核结构 硬件环境 RTLinux内核 Linux内核 Linux进程 实时任务 18 2 2 改变 改变LinuxLinux内核的体系结构内核的体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉字绘画课件
- 汉字的艺术魅力课件
- 户口迁移单位介绍信
- 汉字字谜的多媒体课件
- 《英语语言与文化》2019秋冬知到智慧树答案
- 房产销售个人月工作总结
- 通信行业G技术应用前景展望
- 汉字书法课件模板慧字
- 2024年秋新北师大版数学一年级上册课件 我上学啦 我上学啦 2.认识新同学
- 2024年秋新北师大版数学一年级上册教学课件 第四单元 10以内数加与减 第1课时 猜数游戏
- GB/T 33130-2024高标准农田建设评价规范
- 养老院老人权益保护制度
- 高空作业车安全知识培训
- 航天科技集团招聘 笔试题
- 吉林大学《计算机网络(双语)》2021-2022学年期末试卷
- 《解除保护性止付申请书模板》
- 2024年云网安全应知应会考试题库
- 高层建筑火灾扑救
- 南京大学介绍
- DL-T-255-2012燃煤电厂能耗状况评价技术规范
- 【视频号运营】视频号运营108招
评论
0/150
提交评论