| After not finding much of a README (yet), I poked around the source code a few minutes ago. Thanks for my actually confirming my initial "...he can't be doing it that way, surely..." :) This is nice. It reminds me of the IPL sequence of some mainframe OS I sadly can't remember right now (might be System/i?) where the bootloader that launched the kernel was a first-class OS process that went from running the entire system to being promoted to an OS task as the kernel started up. Except in this case you're promoting the entire
OS to a kernel task, while the promoted OS continues to run :D I wonder if you could extend this to turn Linux into a replacement for HIMEM.SYS, to "properly" support the fact that HIMEM has to be disabled. :D (Immediately after reading that I thought "wait; the two OSes are running independently, of course that won't work..." but then I realized, no, HIMEM works by trapping interrupts... so this is not only possible, but vm86 of course works by handing you interrupts to deal with.) The extremely-confusing-but-still-positive benefit of this would be to allow you to elevate DOS to have demand-paged virtual memory, complete with swapfile. It might be interesting to identify the oldest kernel version(s) you're prepared to put up with, to realize the smallest _in-memory_ kernel size possible, and _possibly_ enable running multi-MB applications on real systems with only 640KB of RAM (with the proviso that using an SSD via a SATA-IDE adapter would give the best results - and the rationale that both of those items will soon be cheaper than old DIMMs). The issue suggesting 2.4 is maybe a bit of a stretch, but the early 2.6 trees might be interesting. |
Another idea I had after reading the dosemu source is implementing a DPMI server to allow protected mode DOS apps to run. It might even be possible to run an early version of Windows this way too.