3 ms·
There are lots of good resources in this area: The programming language of the transputer https://en.m.wikipedia.org/wiki/Occam_(programming_language) https://e
by alexisread 5y ago
There are lots of good resources in this area:
The programming language of the transputer https://en.m.wikipedia.org/wiki/Occam_(programming_language) https://en.m.wikipedia.org/wiki/Occam_(programming_language)
Bluebottle active objects https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/147091/eth-26082-02.pdf https://www.research-collection.ethz.ch/bitstream/handle/20.... with some discussion of DMA
Composita components http://concurrency.ch/Content/publications/Blaeser_Component_Operating_System_PLOS_2007.pdf http://concurrency.ch/Content/publications/Blaeser_Component...
Mobile Maude (only a spec) http://maude.sip.ucm.es/mobilemaude/mobile-maude.maude http://maude.sip.ucm.es/mobilemaude/mobile-maude.maude
Kali scheme (atop Scheme48 secure capability OS) https://dl.acm.org/doi/pdf/10.1145/213978.213986 https://dl.acm.org/doi/pdf/10.1145/213978.213986
Kali is probably the closest to a distributed OS, supporting secure thread and process migration across local and remote systems (and makes that explicit), distributed profiling and monitoring tools, etc.
It is basically an OS based on the actor model. It doesn't scale massively as routing nodes was out of scope (it connects all nodes on a bus), but that can easily be added.
Extremely small (running in 2mb ram), it covers all of R5rs, and the VM has been adapted to bare metal.
I feel that there is more to do, but a combination of those is probably the right direction.
- saltcured 5y agoI think that someone newly interested in this should consider the longer history of distributed OS concepts too. What are you trying to do differently? What set of tradeoffs give you a well-defined solution space which is a gap in current approaches? https://en.wikipedia.org/wiki/Sprite_(operating_system) https://en.wikipedia.org/wiki/Sprite_(operating_system) was a project at UC Berkeley that ran building-scale networks of workstations as a distributed OS. It ended in 1992 but produced innovations such as the log-structured filesystem along the way. Various commercial products like Domain/OS or SGI Irix also were distributed operating systems at different scales. It seems like these lost out to the more typical HPC solutions with distributed/parallel OS instances limited to each node. Or on the other extreme, mainframe systems continue to be a kind of distributed OS built for high availability and scaling in a very controlled environment.