【问题标题】:What kernel type does the RTOS eCos use?RTOS eCos 使用什么内核类型?
【发布时间】:2018-12-05 21:42:00
【问题描述】:

根据我的研究,我找不到 eCos 中使用的内核类型,例如单片内核或微内核。我从研究中只能发现内核是实时内核,或者网站只是将其描述为 eCos 内核,这是否意味着它是定制内核?

我对 eCos 的了解是,它是一个硬 RTOS,尽管在安全性、使用优先级、基于队列的调度方面有些脆弱。

【问题讨论】:

    标签: operating-system kernel cpu-architecture rtos ecos


    【解决方案1】:

    micro-kernel 是:

    ... 几乎可以提供机制的软件数量最少 需要实现一个操作系统(OS)。这些机制包括 低级地址空间管理、线程管理和 进程间通信(IPC)。 (维基百科 2018 年 12 月 11 日

    eCos 内核在其Reference Manual 中描述如下:

    它提供了开发所需的核心功能 多线程应用程序:

    1. 在系统中创建新线程的能力,无论是在启动期间 或者当系统已经运行时。

    2. 控制系统中的各种线程,例如 操纵他们的优先事项。

    3. 调度程序的选择,确定当前应该是哪个线程 正在运行。

    4. 一系列同步原语,允许线程交互 并安全地共享数据。

    5. 与系统对中断和异常的支持集成。

    通过比较这些描述可以很清楚地看到一个微内核。 eCos 提供的其他服务,如文件系统、网络和设备驱动程序是外部的,可与内核分离。也就是说,您可以在没有此类服务的情况下单独部署内核,并且它仍然是可行的。

    在单片内核中,这些服务很难或不可能分离,因为它们是整体的固有部分。与 eCos 和大多数其他 RTOS 不同,它们不能很好地扩展到嵌入式系统中常见的小型硬件平台。单片内核适用于桌面和通用计算平台,因为平台本身是单片的——没有文件系统、显示器、键盘等的 PC 是不可行的,而在嵌入式系统中则不然。

    虽然 Linux 甚至 Windows 用于嵌入式系统,但微内核可部署在具有几十千字节内存的平台上,而最小的嵌入式 Linux 例如需要几兆字节 /em> 并将包含大量您的应用程序可能永远不会使用的代码。

    最终,区别可能是无关紧要的,术语也是如此。就是这样。您不是根据此标准选择内核或操作系统,而是根据它是否提供您需要的服务、在您的目标上运行以及是否适合可用资源来选择。

    【讨论】:

      【解决方案2】:

      我认为它是一个单片内核。如果您查看此页面:http://ecos.sourceware.org/getstart.html

      它用于代替 linux 内核,并且 linux 内核支持单片内核。此外,如果是微内核,他们会突出显示内核类型,如 QNX Kernel 类型,即微内核

      【讨论】:

      • 它很模糊,它说它支持linux和windows但是如果使用windows你需要运行一个UNIX模拟器。我看不出它在哪里说它将使用 linux 内核。
      • 我也可以添加这个,windows内核类型是基于单片内核的混合内核。我刚才提到了linux内核,因为windows和linux内核都是基于单片内核的。
      • 我会接受答案,我相信你会更好地说明为什么它是一个整体内核而不是不是。
      • @Jordan :您似乎误解了链接中的描述 - LInux/Windows 支持是指托管 开发工具,而不是运行内核。 eCos 内核在目标硬件上运行,而不是在开发主机上。
      • 该链接是指在开发主机上下载和安装eCos SDK,并没有说明内核类型。它不支持你的结论,IMO也是不正确的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-08
      • 1970-01-01
      • 2010-12-27
      • 1970-01-01
      • 2015-08-05
      相关资源
      最近更新 更多