取代实时OS!具有优先权继承功能的Linux问世

原创 2004年11月04日 12:24:00
全球最大的嵌入Linux套件发行商美国MontaVista软件公司,日前成功开发出了通过加入具有优先权继承功能的互斥程序(mutex)而提高应答性能的嵌入Linux内核。普通Linux内核的最长应答时间约为100ms,而此次开发的Linux内核则实现了数十μs。普通实时OS的最长应答时间为数μs,也就是说已经将应答性能提高到了可与实时OS抗衡的水平。该公司技术副总裁Kevin Morgan充满自信地表示:“这样就有望取代实时OS。在嵌入领域已经不存在Linux不能满足使用需求的领域。”

  现在的嵌入Linux绝大多数采用可在内核执行路径的中途进行任务切换的抢先式内核。采用抢先式内核以后,与不采用此内核的普通Linux内核相比,可将应答性能的平均值缩短到1/10以下。但是,对于缩短最长应答时间则没有任何作用。因此,在应答性能要求较短的通信控制用途等方面无法采用 Linux。

  用互斥程序取代自旋锁

  此次开发的Linux内核,通过利用具有优先权继承功能的互斥程序,取代过去的抢先式内核中用于保护临界区的自旋锁,缩短了最长应答时间。互斥程序是一种μITRON等普通实时OS普遍具有的功能,是一种要想提高Linux应答性能就会考虑采用的技术。MontaVista公司的Morgan 表示:“加入具有优先权继承功能的互斥程序后,有一个缺点是线程锁定时判断优先权的程序会产生开销。因此,过去一直都不采用互斥程序。”如果是自旋锁,则只需单纯地等待任务即可,因此与互斥程序相比应用起来更为简洁。

  取消手机实时OS,支持多内核

  MontaVista公司的目标是将此次开发的Linux内核主要应用于手机。现有的手机绝大多数由基带处理芯片和应用处理器单独运行不同的 OS。因为通过与基站通信进行呼叫控制的基带处理芯片要求具有较短的应答时间,过去的Linux不能满足要求。比如,安装Linux的NEC手机, Linux目前是在应用处理器上运行,而基带处理芯片则运行μITRON。

  如果能在应用处理器上运行此次开发的具有优先权继承功能的Linux内核,就有可能可将过去由基带处理芯片所做的呼叫控制处理移交给应用处理器。这样,就可以取消现有的实时OS。由于OS只有Linux一种,因此不仅开发效率有望提高,通过省去基带处理芯片,“还有助于降低手机的生产成本。” (Morgan)另外,由于此次开发的Linux内核还支持对称多处理器架构(SMP),因此假如使用多内核应用处理器,就能在保持整个处理性能的情况下,省去基带处理芯片。

  MontaVista公司对于此次开发的Linux内核,准备通过公开源代码,吸引开发商加入开发团体,以便今后仍能继续加以改进。此计划的网站请点击此处。另外,美国Timesys公司也在自主开发应答性能与该Linux内核相同的Linux内核,不过“不是开放源码,希望以此突出自身的特点。”( MontaVista公司Morgan)

取代实时 OS!具有优先权继承功能的 Linux 问世

【日经 BP 社报道】全球最大的嵌入 Linux 套件发行商美国 MontaVista 软件公司,日前成功开发出了通过加入具有优先权继承功能的互斥程序( mutex )而提高应答性能的嵌入 Linux...
  • zcatlinux
  • zcatlinux
  • 2004年10月19日 10:38
  • 745

[linux]进程(五)——进程调度(实时进程调度)

点击打开链接 1,实时进程和普通进程调度的差别 实时进程需要严格按照优先级的顺序执行,比如在八核平台上,必须是优先级最高的八个进程得到调度,如果此时八个优先级最高的进程都在某一个cpu的rt队列上,...
  • u013686805
  • u013686805
  • 2015年05月10日 10:11
  • 1006

考试排名(结构体的运用)

Problem Description C++编程考试使用的实时提交系统,具有即时获得成绩排名的特点。它的功能是怎么实现的呢? 我们做好了题目的解答,提交之后,要么“AC”,要么错误,不管怎样错法,总...
  • sinat_37668729
  • sinat_37668729
  • 2017年05月16日 07:35
  • 462

Java 比继承更好的一种机制 —— 复合

本文结合《Effective Java》第四章条目16和自己的理解及实践,讲解了Java继承机制的缺陷和替代方案,文章发布于专栏Effective Java,欢迎读者订阅。...
  • hzy38324
  • hzy38324
  • 2017年06月11日 16:41
  • 1552

Replace Delegation with Inheritance(以委托取代继承)

某个子类只用超类接口中的一部分,或是根本不需要继承而来的数据。 在子类中新建一个字段用以保存超类;调整子类函数,令它改而委托超类;然后去掉两者之间的继承关系 1.动机 继承是个好东西,但有时候它并...
  • sinat_25682007
  • sinat_25682007
  • 2017年06月20日 10:05
  • 126

动态优先权进程调度算法

#include #include #define READY 1 #define BLOCK 2 struct PCB { int ID;//进程id int PRIORITY;//进程优先级...
  • lin810921141
  • lin810921141
  • 2014年04月29日 19:11
  • 2379

Replace Inheritance with Delegation(以继承取代委托)

你在两个类之间使用委托关系,并经常为整个接口编写许多极简单的委托函数。 让委托类继承受托类 1. 动机 本重构与Replace Inheritance with Delegation恰...
  • sinat_25682007
  • sinat_25682007
  • 2017年06月22日 09:18
  • 168

Linux会替代Windows吗?

Windows 依然是高居榜首的桌面操作系统,占据 90% 以上的市场份额,远超 macOS 和 Linux 。 从数据来看,尽管 linux 并不是 Windows 的头号接班人,但近几年越来越多...
  • linuxprobe2017
  • linuxprobe2017
  • 2017年03月10日 18:52
  • 365

操作系统——使用动态优先权的进程调度算法的模拟

难得写了个长长的代码,带出来遛一下。
  • tian33133
  • tian33133
  • 2014年05月05日 22:10
  • 4654

java中关于继承的问题

java中关于继承
  • sinat_35512245
  • sinat_35512245
  • 2016年12月20日 19:46
  • 533
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:取代实时OS!具有优先权继承功能的Linux问世
举报原因:
原因补充:

(最多只允许输入30个字)