3 ms·
Bare metal is almost entirely unnecessary in 2019, because you can configure Linux to only occupy one core for all of its processes and threads. The other cores
by erichocean 7y ago
Bare metal is almost entirely unnecessary in 2019, because you can configure Linux to only occupy one core for all of its processes and threads. The other cores you can assign to your own apps and they will never be schedule off of that core—zero context switching overhead.
And you can still SSH into your "bare metal" box, run gdb, etc. Best of both worlds.
- ethanpil 7y agoWhoa cool. Where can I learn more about this setup?
- goliatone 7y agoAn overview of how to set that up would make an interesting read. Also interested in any resources
- rvz 7y ago> Bare metal is almost entirely unnecessary in 2019, because you can configure Linux to only occupy one core for all of its processes and threads. Configuring the Linux kernel just to meet the requirements for bare-metal applications might work for some use-cases but not for security and safety-critical applications. For instance, the IoT industry still suffers from typical security issues in the drivers and firmware due to these Linux/Busybox vulnerabilities in the system. There are alternatives that use safer languages or formal verification that are more secure than configuring Linux for IoT or bare metal development, like TockOS [0] (using Rust) or seL4 microkernel (a formally verified microkernel). So, is bare metal almost entirely unnecessary in 2019? Security wise, I'd much rather use safer languages like Rust for bare metal in 2019, than to use Linux/Busybox for this use-case. [0] - https://www.tockos.org/ https://www.tockos.org/