<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:10pt"><div>Hello everyone, my name is Anthony Cargile and I aim to contribute heavily to the FreeVMS project.<br><br><span>First off, I am a student in the United States and will be working on this project in whatever spare time I can manage. I have avid experience in operating systems, generally in various Unices, Linux and Windows NT although I aim to learn more about VMS while working on this project. If you're interested, I run a fairly large open source cross reference at <a target="_blank" href="http://www.anthonycargile.info/">http://www.anthonycargile.info/</a> in addition to other tools provided at that address.</span><br><br>My goal is to provide the FreeVMS project with a custom kernel from scratch. Seeing as how the FreeVMS userspace will be OpenVMS-compatible regardless of the kernel
 architecture, I am very open to suggestions regarding the kernel's design. At the moment, I aim to make it a hybrid kernel (monolithic with loadable modules while also providing a userspace interface), but if anyone can provide enough reasoning otherwise with regards to OpenVMS compatibility I will change the architectural plans for the kernel. <br><br>I am currently finishing up the VGA interface within the kernel (scrolling, text output, etc.) and once done I will implement the keyboard interface. Once finished with input/output, I will implement the memory manager and GDT, then I will port GCC/binutils over to FreeVMS after finishing up a C standard library and any unimplimented kernel system calls. If anyone wants to help with any of this, please communicate with me and it'll get done a lot faster. <br><br>I'm documenting everything within the kernel itself, and plan on also documenting the kernel interfaces within the upcoming FreeVMS wiki. The
 FreeVMS kernel interfaces will be a set of global functions and variables free to be utilized by loadable kernel modules for hardware input/output and general kernel interaction, so their documentation is vital for the development of drivers for the project. <br><br>Right now, once I check in a kernel with input/output support, the wishlist is as follows:<br><br>+ Memory management - I will try to implement this myself, but *very* open to suggestions and any contributions<br>+ Filesystem Drivers - The kernel *needs* a filesystem driver, even if FAT temporarily, so we can directly boot it and provide a VFS for shell testing<br>+ Executable Image Support - Working on top of the memory manager and userspace environment, we need the ability to load ELF, VMS and COFF images for execution<br>+ GCC/binutils port - If somebody could help out by looking on GNU's site for documentation on how to do this, with the intention of helping out, that'd be great<br>+
 POSIX library - this is way down the road, but a POSIX interface is one more step towards compiling OpenVMS code on FreeVMS<br>+ DCL - this will be written entirely in userspace once we've done everything else listed here. In the meantime, I suggest a basic bourne-like shell for testin<br>+ Userspace utilities - ping, telnet, telnetd, httpd, any OpenVMS-only or kernel-interacting service needs to be implemented at this stage in development <br><br>After all of this has been done (I give it a year or two of developmental time given two or three more part-time voluenteers), we'll have a fully-featured VMS clone. The only thing not really mentioned in the wishlist is a CDE clone, but that's not as crucial to the project as just getting a fully featured kernel and userspace. Like I said, I'll check in an input/output capable kernel into CVS in a few days, and we can start building up a userspace environment to make way for more utilities on top of that.
 <br><br>Please let me know of any questions you have about the current/future kernel state, as well as any questions for contributing. <br><br>Thanks,<br>Anthony Cargile<br></div></div><br>

      </body></html>