Zircon and LK
Zircon was born as a branch of LK and even
now many inner constructs are based on LK while the layers above are new. For
example, Zircon has the concept of a process but LK does not. However, a Zircon
process is made of LK-level constructs such as LK's thread_t
.
LK is a Kernel designed for small systems typically used in embedded
applications. It is a good alternative to commercial offerings like
FreeRTOS or ThreadX.
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, Zircon targets modern phones and modern personal computers
with fast processors, non-trivial amounts of ram with arbitrary peripherals
doing open ended computation.
More specifically, some the visible differences are:
- LK can run in 32-bit systems. Zircon is 64-bit only.
- Zircon has first class user-mode support. LK does not.
- Zircon has a capability-based security model. In LK all code is trusted.
Over time, even the low level constructs have changed to accommodate the new
requirements and to better fit the rest of the system.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-03-15 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
{"lastModified": "Last updated 2024-03-15 UTC."}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-03-15 UTC."],[],[]]