就是看到篇报道,有点好奇,就去FQ挖了点东西回来。
我似乎已开始就抓到了重点,没错,就是 LK 。 LK 是 Travis Geiselbrecht 写的一个针对 ARM 的嵌入式操作系统,开源的。点击到它的-> Github。从作者的 ->个人主页 看,他是早期 iOS 开发者?而且好像在 google 也待蛮久了。 Magenta (Google 还有一个项目也用这个名字,研究机器学习来制作音乐的)是从 LK 出发,提供多进程、安全空间等支持的,针对大型机(有很多 RAM,接口丰富)的内核。然后, LK for embedded + Magenta 就是报道里提到的 Fuchisa OS 系统了。
不过,粗略看了下,LK 似乎是已经有过应用案例了,代码仓库里还提供了在 qemu 下虚拟运行该系统的解决方案。
但是 Magenta 估计也就处在粗略可用的状态,比如,可能有开发人员写过它的贪吃蛇游戏了。不过,Magenta 的提交貌似挺频繁的,最近的提交都来自 Brian Swetland。Brian Swetland 也是 android 高级开发人员。
下面放些挖来的东西。
1. LK 和 Magenta
LK is a Kernel designed for small systems typically used in embedded applications. It is good alternative to commercial offerings like FreeRTOS orThreadX. Such systems often have a very limited amount of ram, a fixed set of peripherals and a bounded set of tasks.
On the other hand, Magenta targets modern phones and modern personal computers with fast processors, non-trivial amounts of ram with arbitrary peripherals doing open ended computation.
Magenta inner constructs are based on LK but the layers above are new. For example, Magenta has the concept of a process but LK does not. However, a Magenta process is made of by LK-level constructs such as threads and memory.
More specifically, some the visible differences are:
- Magenta has first class user-mode support. LK does not.
- Magenta is an object-handle system. LK does not have either concept.
- Magenta has a capability-based security model. In LK all code is trusted.
Over time, even the low level constructs will change to accomodate the new requirements and to be a better fit with the rest of the system..
magenta 主页:https://fuchsia.googlesource.com/magenta/
有人报道,但是没去证实的:Magenta 的UI层使用的是 Dart 语言开发的 Flutter;渲染器是 Escher;应用程序框架 Mojo。
看这节奏,离应用还有点远。