https://github.com/fuchsia-mirror/magenta/blob/master/docs/mg_and_lk.md
LK is a Kernel designed for small systems typically used in embeddedapplications. It is good alternative to commercial offerings likeFreeRTOS orThreadX.Such systems often have a very limited amount of ram, a fixed set of peripheralsand a bounded set of tasks.
On the other hand, Magenta targets modern phones and modern personal computerswith fast processors, non-trivial amounts of ram with arbitrary peripheralsdoing open ended computation.
Magenta inner constructs are based on LK butthe layers above are new. For example, Magenta has the concept of a process but LKdoes not. However, a Magenta process is made of by LK-level constructs such asthreads 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 newrequirements and to be a better fit with the rest of the system.