We are still actively working on the spam issue.
ShimOS
ShimOS is a tentative name given to an idea discussed in /aosg/, expanding on the Synthesis Operating System. This entry is a defensive publication, the purpose is to prevent others from patenting embodiments of the ideas that have been presented in the /aosg/ threads.
Classification
IPC G06, G06F 9/455, G06F 8/77, G06F 8/20, G06F 8/36, G06F 8/70, G06F 21/57
Effective Date
The earliest disclosure was dated Tue 14 Mar 2023 15:16:43 and the author was anonymous.
Contents
Several aspects were disclosed.
- Would it be possible to use synthesis to stich together inter module calls in a microkernel based OS?
- As for microkernel IPC, I think that would be a really good usecase. You could probably get capabilities or validation for almost free with a few cleverly intertwined quajects.
- I don't really see a justification for things like quajects not being integrated into other systems.
- Will provide capability based security
- You could probably get capabilities or validation for almost free with a few cleverly intertwined quajects.
- The main problem resides in the excessive memory utilization, but taking into consideration that having 32 GiB of RAM is considered normal among consumers these days, it may be negligible.
- Synthesized shims should not have to be big, perhaps only 100 bytes.
- In that case one could perhaps cache synthesized shims or shim templates, and make buffers owned by shims.
- That's an interesting idea. Maybe some kind of "micro-paging" system could be implemented, that maps/unmaps shims on the fly.
- If the synthesizer (which is pretty close to a compiler) also could compile the BPF there would be a double bonus.
- I personally find it closer to a binary macro processor than to a compiler, but I guess technically there's not much impeding its extension to a BPF compiler.
- Shim reuse and modification are obvious fields to explore, especially since that research team were not averse against self modifying code.
- In terms of HW solutions, I guess it would make sense to do this in the MMU. A large array structure would probably help the superoptimizer add-on that Massalin also worked on.
- The MMU could also automatically set execute permissions on shims.