Hi All, I am VERY excited about this project. The idea has been dominating my mind for some time now and it's time I put it into action. This would be my first OS but it's about time after:
13 Years Programming XP (from VIC 20 - C#) 7 Years C# Programming (pre-beta 1, nice to have a brother in Microsoft) Numerous other languages along the way (sorry, limited Assembler) Architecturally speaking I hope I would be able to help out: but don't count me out on the development (once things get a bit further). -- So, right into my first post: Mono is absolutely fantastic; but it was designed, like .Net Framework, for a classical operating system like Windows\Linux\BSD. We just have to be REALLY careful about how much we copy 'n paste from it lest we lock ourselves into writing an OS Kernel like Windows\Linux\BSD. I feel if we can't make something in Mono (for example, System.IO) work then we ditch it and re-write it so that it suits our OS. We can always go and abstract it in a clever way later on in Mono so that we can run .Net assemblies coming from the Linux Mono world. -- Currently the AOT namespace is 'dirty'. We don't find ourselves writing against a WindowsXP.Forms.Form class: instead it is tucked away /neatly/ in System.Windows.Forms.Form. Before our codebase gets really big lets think about what the namespaces should really be: i.e. Architecture.Core instead of SharpOS.AOT. Obviously it really doesn't matter what we use is the Kernel, because no-one ever calls it using 'normal' .Net methodologies. Just my 2c. -- Came up with an temp solution for the JITter. The MS CLR also supports precompiled MSIL (create these using the ILASM tool). So shouldn't we? I.e. public static void Load(string file) // Really the wrong sig, but this is just a concept. { String binFile = Path.ChangeExtension(file, ".bin"); if(File.Exists(binFile)) { LoadBinary(binFile); return; } #if JIT // TODO: Actually write the JIT. JIT.Activate(file); #else throw new InvalidOperationException("MSIL is not currently supported. Please AOT " + file "."); #endif } public static void LoadBinary(string file) { // Execute machine code here. } -- Next post on architecture... Didn't want to make this one too long ;). Great work guys, you guys really have done commendable progress. I am really impressed: when I first booted it in VMWare I was expecting a lot less. Wow. Simply amazing. Kudos for all of you. Jonathan Chayce Dickinson ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ SharpOS-Developers mailing list SharpOS-Developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sharpos-developers