Operating Systems
I wrote a little operating system. Here's a floppy image of it, and here's the source code.
Right now, it just reads some information from GRUB and sets up some data structures for some drivers which haven't been written yet.
x-posted to
computerscience,
algorithms,
coders_haven,
cpp, and
geeks.
Things I'm thinking of adding to it:
Long-term, I'm planning on turning this into a little network bootable OS that can be used for diagnosing a machine that's having problems with its real OS.
Really long-term, I've had these fantasies about implementing my distributed file system on the operating system and making it be the "idle" OS for unused workstations. That is, instead of going into sleep mode, the real OS would hibernate instead and trigger a reboot. After that, the machine would reboot into this OS, which would presumably have the ability to power manage the machine better than the real OS. Once up, the little OS would provide cluster storage and maybe CPU cycles to the local network.
That sounds a little silly, but consider the case where it would be so small it could be distributed on a ROM; you'd have a self-contained cluster member with no moving parts.
I'll be especially interested if anyone can get this to fail to boot on their machine for some reason. Send bug reports! Please?
Some of the more educated of you are welcome to comment on memory management techniques, as I only have my own opinions on how to implement paging and the associated algorithms. I suspect many of you are better at that kind of thing than I am...
Right now, it just reads some information from GRUB and sets up some data structures for some drivers which haven't been written yet.
x-posted to
computerscience,
algorithms,
coders_haven,
cpp, and
geeks.Things I'm thinking of adding to it:
- A BIOS test suite that compares the output of various BIOS subsystems with each other to determine if they're consistent.
- A network card driver and a dinky TCP/IP suite.
- A GPNV and ESCD data reader that can be used to read event data from your system for management purposes.
- An IOS-alike user interface.
Long-term, I'm planning on turning this into a little network bootable OS that can be used for diagnosing a machine that's having problems with its real OS.
Really long-term, I've had these fantasies about implementing my distributed file system on the operating system and making it be the "idle" OS for unused workstations. That is, instead of going into sleep mode, the real OS would hibernate instead and trigger a reboot. After that, the machine would reboot into this OS, which would presumably have the ability to power manage the machine better than the real OS. Once up, the little OS would provide cluster storage and maybe CPU cycles to the local network.
That sounds a little silly, but consider the case where it would be so small it could be distributed on a ROM; you'd have a self-contained cluster member with no moving parts.
I'll be especially interested if anyone can get this to fail to boot on their machine for some reason. Send bug reports! Please?
Some of the more educated of you are welcome to comment on memory management techniques, as I only have my own opinions on how to implement paging and the associated algorithms. I suspect many of you are better at that kind of thing than I am...