rdm at cfcl.com
Tue Feb 16 22:26:09 AEST 2021
> On Feb 15, 2021, at 11:56, Jon Steinhart <jon at fourwinds.com> wrote:
> Was thinking about our recent discussion about system call bloat and such.
> Seemed to me that there was some argument that it was needed in order to
> support modern needs. As I tried to say, I think that a good part of the
> bloat stemmed from we-need-to-add-this-to-support-that thinking instead
> of what's-the-best-way-to-extend-the-system-to-support-this-need thinking.
> So if y'all are up for it, I'd like to have a discussion on what abstractions
> would be appropriate in order to meet modern needs. Any takers?
The folks behind the Nerves Project (https://www.nerves-project.org) have done some serious thinking about this question, albeit mostly confined to the IoT space. They have also written (and distribute) some nifty implementation code.
I won't try to cover all of their work here, but some high points include:
- automated build and cross-compilation of entire Linux-based systems
- automated distribution of (and fallbacks for) updated system code
- separation of code and data using read-only and read/write file systems
- support for multiple target platforms (e.g., processors, boards)
- Erlang-style supervision trees (via Elixir) for critical services, etc.
- extremely rapid boot times for the resulting (Linux-based) systems
For more information, check out their web site, watch some presentations,
and/or (gasp!) try out the code...
More information about the TUHS