back

by rvz·7y ago·view on hn ↗
> ...but if you are interested in Swift on ARM in general...

I kind of was expecting this to be bare-metal Swift running on ARM with a Raspberry Pi, when I read both the OP's title and your comment. But I was disappointed to see that this was running on Linux. From the README.md...

> Scripts to clone, configure, patch and build Swift 5.0.2 on Linux ARM devices.

Hopefully in the future, Swift would support bare-metal environments just like how Rust and Zig does.

1 comments
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.

> 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/

An overview of how to set that up would make an interesting read. Also interested in any resources
Whoa cool. Where can I learn more about this setup?