【发布时间】:2018-12-05 21:42:00
【问题描述】:
根据我的研究,我找不到 eCos 中使用的内核类型,例如单片内核或微内核。我从研究中只能发现内核是实时内核,或者网站只是将其描述为 eCos 内核,这是否意味着它是定制内核?
我对 eCos 的了解是,它是一个硬 RTOS,尽管在安全性、使用优先级、基于队列的调度方面有些脆弱。
【问题讨论】:
标签: operating-system kernel cpu-architecture rtos ecos
根据我的研究,我找不到 eCos 中使用的内核类型,例如单片内核或微内核。我从研究中只能发现内核是实时内核,或者网站只是将其描述为 eCos 内核,这是否意味着它是定制内核?
我对 eCos 的了解是,它是一个硬 RTOS,尽管在安全性、使用优先级、基于队列的调度方面有些脆弱。
【问题讨论】:
标签: operating-system kernel cpu-architecture rtos ecos
micro-kernel 是:
... 几乎可以提供机制的软件数量最少 需要实现一个操作系统(OS)。这些机制包括 低级地址空间管理、线程管理和 进程间通信(IPC)。 (维基百科 2018 年 12 月 11 日)
eCos 内核在其Reference Manual 中描述如下:
它提供了开发所需的核心功能 多线程应用程序:
在系统中创建新线程的能力,无论是在启动期间 或者当系统已经运行时。
控制系统中的各种线程,例如 操纵他们的优先事项。
调度程序的选择,确定当前应该是哪个线程 正在运行。
一系列同步原语,允许线程交互 并安全地共享数据。
与系统对中断和异常的支持集成。
通过比较这些描述可以很清楚地看到一个微内核。 eCos 提供的其他服务,如文件系统、网络和设备驱动程序是外部的,可与内核分离。也就是说,您可以在没有此类服务的情况下单独部署内核,并且它仍然是可行的。
在单片内核中,这些服务很难或不可能分离,因为它们是整体的固有部分。与 eCos 和大多数其他 RTOS 不同,它们不能很好地扩展到嵌入式系统中常见的小型硬件平台。单片内核适用于桌面和通用计算平台,因为平台本身是单片的——没有文件系统、显示器、键盘等的 PC 是不可行的,而在嵌入式系统中则不然。
虽然 Linux 甚至 Windows 用于嵌入式系统,但微内核可部署在具有几十千字节内存的平台上,而最小的嵌入式 Linux 例如需要几兆字节 /em> 并将包含大量您的应用程序可能永远不会使用的代码。
最终,区别可能是无关紧要的,术语也是如此。就是这样。您不是根据此标准选择内核或操作系统,而是根据它是否提供您需要的服务、在您的目标上运行以及是否适合可用资源来选择。
【讨论】:
我认为它是一个单片内核。如果您查看此页面:http://ecos.sourceware.org/getstart.html
它用于代替 linux 内核,并且 linux 内核支持单片内核。此外,如果是微内核,他们会突出显示内核类型,如 QNX Kernel 类型,即微内核
【讨论】: