I am considering developing an OS (microkernel-based, though that part comes in a bit later), who's loader (ELF loader) would have a preprocessor attached, which would accept as input, a high-level language file to load (for example, Python or Ruby) and match it against the corresponding binary (or compile it to a binary if not already preset or outdated) and load the ELF from that binary. Possibly, the kernel will maintain an ELF repository, with a hash table of code files to binary files mapping.
Coupling this with a versioned file-system, I can think of various useful (as well as not-so-useful) features:
- Updates/upgrades would be a set of .diff files as the various processes (both system and user) would be essentially script files which are compiled on the fly the first time they are run
- Versioned file system means your entire update/upgrade history is revisioned
- OS development in a (very) high level language
I do understand that the major concern would be the performance bottlenecks of such a system. I am not saying that this is feasible (in the short run) as a desktop-replacement OS. It would be nice to have a toy OS which one can build/extend/use, which is mostly written (and maintained) in a high level language.
Does such a system seem feasible and practical?
All comments and thoughts welcome.
