To avoid making a thousand separate Viridis threads for a thousand different versions (this is looking to the future, of course) I'm just going to update this post. That will make things all the easier.
So. The newest release is Viridis-0.6.2
This new version includes all of the changes made in the past 29 whitepapers (improved slightly just about everywhere) including reentrancy protection, multitasking and a newer, faster bitmapping memory manager. The source is available with a floppy image inside. Give it a try, for all explanation hit www.codezen.org/viridis and read the whitepapers.
Download available from the site: viridis.sf.net
The Viridis Thread
Re:The Viridis Thread
The newest release of Viridis (I know you all are just excited beyond belief ) is Multitasking. It now handles creating and running tasks on a round-robin scheduler, DPL protection in the paging code, and (of course) task switching.
Improvements have also been made to kprintf and the architecture of the storage on disk has been changed to reflect what functions are in which files (i.e. functions are alone in the files unless they have a direct opposite, like pagebind and pageunbind are in the same pagebind.c).
Unfortunately, this code has absolutely no commenting in it, because I'm trying to convert the commenting into whitepapers to put on the site (easily updateable, easy to relate pieces of code). And this is the first release to merge the IMG branch into the CLEAN branch by including the 15k floppy image inside the tar.gz for bochs to boot to or to be written to a real floppy.
Oh well, just my two (new) cents.
Improvements have also been made to kprintf and the architecture of the storage on disk has been changed to reflect what functions are in which files (i.e. functions are alone in the files unless they have a direct opposite, like pagebind and pageunbind are in the same pagebind.c).
Unfortunately, this code has absolutely no commenting in it, because I'm trying to convert the commenting into whitepapers to put on the site (easily updateable, easy to relate pieces of code). And this is the first release to merge the IMG branch into the CLEAN branch by including the 15k floppy image inside the tar.gz for bochs to boot to or to be written to a real floppy.
Oh well, just my two (new) cents.
Re:The Viridis Thread
Did you consider using doxygen or something similar? it generates code docs in HTML or similar formats from in-code documentation, works on C and C++. Might do others too.wangpeng wrote: Unfortunately, this code has absolutely no commenting in it, because I'm trying to convert the commenting into whitepapers to put on the site (easily updateable, easy to relate pieces of code). And this is the first release to merge the IMG branch into the CLEAN branch by including the 15k floppy image inside the tar.gz for bochs to boot to or to be written to a real floppy.
Re:The Viridis Thread
Candy: No, I never even looked into it. I will. I gotta say though, I like the correlations I can make just writing them myself (i.e. the code to generate the e820 mmap and the code to read it on the same page and verbally connected). Plus, with the PHP I built into the site, it's really just a breeze.