This post originated from an RSS feed registered with .NET Buzz
by -.
Original Post: Cosmos - ein C# Betriebssystem
Feed Title: Norbert Eder - Living .NET
Feed URL: http://feeds.feedburner.com/NorbertEder-Livingnet
Feed Description: Copyright (c)2005, 2006 by Norbert Eder
Cosmos is an operating system project implemented completely in CIL compliant languages.
Mit Hilfe eines User-Kits kann dann gleich mal gestartet werden. Zusätzlich dann auch gleich noch die Möglichkeit, das ganze in Emulatoren laufen zu lassen:
Cosmos runs in QEMU, VMWare, and VirtualPC. QEMU is best for debugging as it has extra debugging support which we use to integrate with GDB.
Und wie funktioniert es?
Cosmos includes a compiler (IL2CPU, which is part of Cosmos) that reads the input file (usually the shell) and Cosmos libraries and compiles the resulting IL to x86 code. IL2CPU has a layer for cross platform and we plan to support other processors and platforms, including x64. IL2CPU also supports certain extension methods which allow C# code to interact directly with the CPU, registers, and ports in the kernel. IL2CPU contains some inline assembler, but there are no ASM files that need to be linked in.
Currently IL2CPU first outputs raw asm files (with IL comments) and then processes them through nasm (a free assembler). Later we plan to emit directly to binary.