新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 你需要了解的嵌入式Linux

你需要了解的嵌入式Linux

作者: 时间:2010-01-15 来源:网络 收藏

内核的维护

开发人员在决定将选择哪种OS时,重要的是选择一个完全支持其特定处理器的操作系统,并能够降低总成本和缩短上市时间。

从处理器供应商的角度来看,积极参与与其内核相关的内核的维护非常重要。

作为处理器 IP 公司,MIPS科技公司必须确保其新的处理器内核正确集成到源代码树,而且所有的改变都通过对旧内核和平台的回归测试进行正确验证。

由于MIPS IP内核是专有内核,对于MIPS和Linux社区来说最有益的,是确保MIPS内核的所有性能和电源管理特性能够在Linux内核中完全实现。

对新内核设计的支持不能破坏现有内核支持结构或降低其性能,而且还必须允许现有客户快速转移到新内核技术。MIPS内核的可配置性使得对Linux内核代码库的维护更富挑战,因为许多内核配置组合必须经过测试,以确保新增加的功能在所有组合中操作正常。

内核优化1:多核支持

现在,为了实现最佳单位面积计算能力(MIPS/每平方毫米)和最佳单位功耗计算能力(MIPS/mW),许多处理器都利用了多核技术,在几个以较低时钟频率运行的内核间分配处理负载。这些应用能够以对称多处理(SMP)的方式进行分配,其中一项任务是内核间的基本平分;或者采用非对称多处理(AMP),在这里特定任务被分配给一个特定内核。不论是哪种方式,Linux内核中必须有适当的支持允许实现这些编程模型,同时对应用开发者尽可能的透明。

MIPS科技的多线程34K内核和多线程/多处理1004K内核所要求的方式,与内核内的多核管理方法略微不同,因为34K内核能够在单一内核的物理实例中提供多个虚拟内核或虚拟处理单元(VPE),而1004K内核则可提供多核器件的一致执行。

对于每个内核,我们执行的Linux内核多核支持和优化都必须能够正确识别所使用的内核,并妥善初始化和无缝实现特定的多核功能。必须明白,执行基于34K器件的任务共享模型时,一个物理内核实际上是以多于一个虚拟内核的形式出现的,这些内核并不会自动进行一致性管理。这种多核环境在某些情况下比较适合AMP环境,如每个VPE 运行一个独立操作系统。1004K 内核真正的一致性多核设计使传统的SMP模式更具吸引力,在这里一个操作系统可以完全控制两个内核。

内核优化2:电源管理

在今天的绿色计算环境中,电源管理日渐重要,不仅体现在要求最大限度延长电池寿命的便携式设备方面,而且体现在尽量减少能源浪费和热量的AC 供电系统中。目前Linux内核电源管理支持主要集中在通过ACPI的标准 PC。但是ACPI 接口并不适合先进的多核SoC,因为后者必须将一致性电源管理方案扩展至多个内核、内部SoC外设以及最后的外部系统外设(如 RF 功率放大器)。

在MIPS,我们执行了一个先进的电源管理IP块,称为组群电源控制器(CPC),在具体的1004K执行中,它允许对每个内核的单独控制,使内核可以进入或离开一致性操作,并在的情况下彻底关掉电源。这样的电源管理模式能够进一步扩展,使内核电压和频率调制处于操作系统本身的控制之下。这个CPC块的功能还必须扩展至Linux内核。我们现在正在构建这个电源管理结构的基础,以实现针对 Linux内核本身及在标准Linux应用领域下运行的其他应用的全面API。

F2: 组群电源控制器允许在特定的多核实现中对每个内核进行单独控制
F2: 组群电源控制器允许在特定的多核实现中对每个内核进行单独控制

Linux 开发工具

当考虑处理器对OS的支持时,开发工具很重要。

备受称赞的内核评测工具是Linux事件分析器,能够剖析整个系统。通常这些工具可捕获目标内发生的用户选择的 Linux 事件,然后根据时间通过图形显示这些事件。这些捕获有时能够收集高达20秒的 Linux系统活动。

不管应用如何,开发者都应该确保他们选择的处理器架构包含一个无缝的开发环境,包括编译器、调试器、性能和剖析工具。这种性质的工具必须满足上市时间要求,并从一个系统设计中获取最大的性能。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭