this post was submitted on 07 Jul 2024
837 points (92.9% liked)

linuxmemes

20464 readers
156 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 2 points 1 month ago (1 children)

take a look at FreeRTOS

AFAIK FreeRTOS always ran drivers in kernel.

As long as there's some processing RAM and sufficient ROM, I'm sure that it can be crammed in there via firmware

You can't even emulate MPU without MPU. The only way is running bytecode, which is still not context switching.

Some madlads forked Linux to get it to work without an MMU, even getting it merged into the mainline kernel: https://en.m.wikipedia.org/wiki/%CE%9CClinux

You are correct here. Should have said MPU instead.

[โ€“] [email protected] 2 points 1 month ago

AFAIK FreeRTOS always ran drivers in kernel.

At least in the docs, I see it described as a microkernel but, with a kernel that small, the differences are probably academic (and I'll leave that to people with more formal background in CS than myself).

You can't even emulate MPU without MPU. The only way is running bytecode, which is still not context switching.

You are correct here. Should have said MPU instead.

Oh yes! That makes a lot more sense. I've been on-and-off looking at implementing multithreading and multiprocessing in CircuitPython. Memory protection is a big problem with making it work reliably.