Well, this was a productive week-end as far as OS development is concerned !
Aside from the previous design post, I could also complete the testing I wanted to do on the virtual memory code. Now, the think passes all the silly tests I can think of, so everything seems to work. I even discovered a few nasty uninitialized pointers left in the physical memory management code, which the compiler didn’t manage to detect. No idea how those managed to survive for such a long time, but I suppose that Bochs’ tendency to fill the memory of the emulated PC with zeros at boot time has a role to play here.
Now, well, there’s a few tracks I want to follow in the short run :
- Memory allocators !!! Oh, please, finally !
- Writing proper doc for the physical and memory managers, as the old one is getting outdated and is horribly lacking to begin with. I’ll try to work on that tonight.
- Updating old code to the new code quality standards whenever I can (I’ve struggled today with a function including 4 nested for loops. Trying to separate it in several sub-functions only resulted in 15-parameters abominations being created. After some juggling, I’ve decided to leave it as is for the moment)