-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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