First time here? Check out the site's "greatest hits" or read a post from the archives. Feel free to leave a comment or ask a question, and consider subscribing to the latest posts via RSS or e-mail. Thanks for visiting!
Do you Tweet? Follow me on Twitter @shanselman or learn how to use Twitter!
« Well Its Upnbsp After Screwing With FTP ... | Main | Ive Been A Diabetic For Almostnbsp9 Year... »

I'm writing a pile of C# lately.  Mostly I've been working on a project for school in my spare time.  (I'm in the 11th year of my 4 year degree at www.oit.edu)  I'm working on a virtual CPU and OS in C#.  It was (is being) written for an Operating Systems Class.  As a process, it's single threaded, because it's meant to teach one how OS's schedule processes and provide services.  It has 36 "opcodes" for things like MOV, PUSHI, etc...It differentiates between process memory, addressable memory and physical memory. It supports virtual memory, swapping 16 byte pages to XML (kind of silly, but fun). 

It's certainly something people could play with and extend, either by writing programs for it in it's "tiny ASM" language, or by adding opCodes or features of their own.

What's interesting about it, IMHO, is that in the process of writing it I've used nearly all the features of C#, and a few neat ones of the .NET Framework like serialization:

Like:

OS Feature          à  C#, DOTNET Feature

VirtualMemory       à XML Serialization, System.IO
RunningProcesses    à
System.Collections
PhysicalMemory      à
"fixed", "unsafe"
ProcessScheduling   à
ArrayList, IComparable
InstructionParsing  à
System.RegEx
Memory Protection   à Operating Overloading

And about a dozen more.  More on this soon, or you may see it posted on a C# code site.



Comments are closed.

Contact

Sponsors

Hosting By

Hot Topics

Tags

Calendar

<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910

Archives

March, 2010 (10)
February, 2010 (17)
January, 2010 (13)
December, 2009 (13)
November, 2009 (7)
October, 2009 (19)
September, 2009 (11)
August, 2009 (12)
July, 2009 (21)
June, 2009 (26)
May, 2009 (16)
April, 2009 (13)
March, 2009 (17)
February, 2009 (17)
January, 2009 (18)
December, 2008 (32)
November, 2008 (17)
October, 2008 (22)
September, 2008 (16)
August, 2008 (14)
July, 2008 (25)
June, 2008 (19)
May, 2008 (17)
April, 2008 (17)
March, 2008 (26)
February, 2008 (21)
January, 2008 (28)
December, 2007 (19)
November, 2007 (17)
October, 2007 (31)
September, 2007 (39)
August, 2007 (37)
July, 2007 (43)
June, 2007 (37)
May, 2007 (32)
April, 2007 (38)
March, 2007 (29)
February, 2007 (46)
January, 2007 (31)
December, 2006 (27)
November, 2006 (31)
October, 2006 (32)
September, 2006 (39)
August, 2006 (34)
July, 2006 (40)
June, 2006 (18)
May, 2006 (31)
April, 2006 (34)
March, 2006 (30)
February, 2006 (38)
January, 2006 (44)
December, 2005 (19)
November, 2005 (34)
October, 2005 (24)
September, 2005 (37)
August, 2005 (20)
July, 2005 (24)
June, 2005 (33)
May, 2005 (16)
April, 2005 (22)
March, 2005 (34)
February, 2005 (15)
January, 2005 (37)
December, 2004 (28)
November, 2004 (30)
October, 2004 (34)
September, 2004 (22)
August, 2004 (34)
July, 2004 (18)
June, 2004 (64)
May, 2004 (49)
April, 2004 (21)
March, 2004 (29)
February, 2004 (29)
January, 2004 (36)
December, 2003 (25)
November, 2003 (24)
October, 2003 (59)
September, 2003 (42)
August, 2003 (24)
July, 2003 (44)
June, 2003 (29)
May, 2003 (21)
April, 2003 (30)
March, 2003 (27)
February, 2003 (47)
January, 2003 (50)
December, 2002 (31)
November, 2002 (38)
October, 2002 (44)
September, 2002 (15)
May, 2002 (2)
April, 2002 (4)

Google Ads