-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
README.md: update features #18777
README.md: update features #18777
Conversation
While you are at it, you could also remove sigfox from the features and add lines for MQTT, BLE, USB and graphical interfaces (lvgl). |
RIOT is based on a microkernel architecture, and provides features including, | ||
but not limited to: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This may be a bit controversial. But I 100% agree that RIOT-OS is not and never has been using a micro kernel architecture.
I recall that Andrew Tanenbaum gave a relatively lax interpretation of what a microkernel architecture is. The absence of any MMU / MPU like feature, according to him, doesn't rule out that an OS does check the box of a microkernel architecture. If I recall correctly, he said that MINIX was developed initially on pre-MMU systems with the anticipation of an MMU, so that making use of the MMU to actually provide the benefits of a microkernel architecture was relatively easy.
However, we with RIOT are now in a situation that MPUs are there. Still, the effort to make use of it in a microkernel point of view (or even in a userspace vs kernelspace point of view) is still significant. To me, this is a good indicator that RIOT is not using a microkernel architecture, even with the relatively lax point of view that actual use of MMU (or MPU) is not needed for the claim.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess we all agree this qualification is not 100% fitting, but after all these years, and after pitching it here & there (including to top experts such as Tanenbaum as recalled by @maribu) it seems it remains the best "single term" description for the arch. For a longer explanation (which does not really belong right here) we could maybe open a separate wikipage / doc entry on this, what do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What makes you think the arch is a microkernel? Having a hand-wavy explanation to claim something that is not true does not build trust. How would you react to a car salesman selling you an electric¹ car?
[1] lead acid battery used to start the internal combustion engine
cc99dd1
to
de54d58
Compare
Murdock results✔️ PASSED 8d74ac9 README.md: update features
ArtifactsThis only reflects a subset of all builds from https://ci-prod.riot-os.org. Please refer to https://ci.riot-os.org for a complete build for now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK
Oops, merging #18735 actually created a merge conflict in the README :( |
de54d58
to
8d74ac9
Compare
Contribution description
Give the features section an update.
The native port for macOS doesn't work on any recent version of macOS, FreeBSD port isn't maintained either - better not advertise it.
Claiming to be a micro-kernel is very misleading (and gives a bad look IMO):
Testing procedure
Issues/PRs references