实时Linux架构剖析
http://tech.ddvip.com 2008年06月10日 社区交流
内容摘要:Linux® 的速度或效率都非常不错,只是在一些情况下,这样的速度还不能满足需求。我们需要的是在特定的容差范围内确定性地满足调度期限的能力。本文将揭示各种实现实时 Linux 的可选方案以及它们如何实现实时性 — 从早期的模仿虚拟化解决方案的架构到如今标准 2.6 内核中可用的选项。
本文探索了一些支持实时特性的 Linux 架构,并探讨了实时架构 的含意是什么。有许多种解决方案赋予 Linux 实时能力,本文将对瘦内核(或微内核)方法、超微内核方法以及资源内核(resource-kernel)方法进行考查。最后,描述了标准 2.6 内核的实时功能,并向您示范如何启用并使用这种功能。
实时的定义及要求
下列实时 的定义为探讨实时 Linux 架构提供了基础。定义由 Donal Gillies 在 Realtime Computing FAQ 中提出。
实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。如果未满足系统的时间约束,则认为系统失效。
换句话说,系统面对变化的负载(从最小到最坏的情况)时必须确定性地保证满足时间要求。注意,上述定义并未提到性能,原因是实时性与速度关系不大:它与可预见性有关。例如,使用快速的现代处理器时,Linux 可以提供 20 μ 微秒的典型中断响应,但有时候响应会变得很长。这是一个基本的问题:并不是 Linux 不够快或效率不够高,而是因为它不能提供确定性。
一些例子将演示全部这些内容的含意。图 1 显示的是中断延迟指标。当中断到达时(event),CPU 发生中断并转入中断处理。执行一些工作以确定发生了什么事件,然后执行少量工作分配必需的任务以处理此事件(上下文切换)。中断到达与分发必需任务之间的时间(假设分配的是优先级最高的任务)称为响应时间。对于实时性要求,响应时间应是确定的并应当在已知的最坏情况的时间内完成。
图 1. 中断延迟和响应时间
有关这个过程的一个例子就是目前汽车中使用的气囊。当报告车辆碰撞的传感器中断 CPU 后,操作系统应快速地分配展开气囊的任务,并且不允许其他非实时处理进行干扰。晚一秒钟展开气囊比没有气囊的情况更糟糕。
来源:ibm 作者:M. Tim Jones 责编:豆豆技术应用
- Linux/Unix 新闻
- Linux/Unix 入门
- Linux/Unix 命令
- Linux/Unix 安装
- Linux 嵌入式系统
- Linux/Unix 编程
- Linux/Unix 管理
- Linux/Unix 桌面
- Linux/Unix 内核
- Linux/Unix 软件
- SCO Unix
- NetBSD
- OpenBSD
- Redhat/Fedora Linux
- 手机
- Linux/Unix find 搜索命令
- Linux/Unix vi 命令
- Linux/Unix kde 桌面环境
- Linux/Unix GNOME 桌面环境
- Linux/Unix Make 命令
- Linux/Unix crontab 命令
- Linux/Unix ext3 文件系统
- Linux/Unix 文件系统详解
- Linux/Unix ADSL 拨号设置
- Linux/Unix GRUB 配置及应用
- Linux/Unix nfs配置
- Linux/Unix 硬件信息查看及管理
- Linux/Unix 优化
- Linux/Unix 交换分区Swap管理及应用
- Linux/Unix 用户管理
- Linux/Unix Ramdisk
- Linux/Unix 密码恢复管理
- Linux/Unix 文件删除恢复
- Linux/Unix fdisk分区
- Linux/Unix lvs负载均衡管理
- Linux/Unix root用户
- Linux/Unix 集群
- Linux/Unix 日志
- 更多Linux/Unix专题……