CosmosOS
Cosmos[1], również CosmosOS (skrót od "C# Open Source Managed Operating System") – toolkit do stworzenia własnego systemu operacyjnego za pomocą dowolnego języka .NET. Cosmos powstał z inicjatywy Chada Z. Howera (Kudzu), a pierwsze linie kodu zostały napisane przez Chada Z. Howera i Matthijsa ter Woorda w 1995 roku, wtedy pod nazwą CHAOS (skrót od Chad Hower's Advanced Operating System)[2].
Działanie
[edytuj | edytuj kod]Cosmos do utworzenia wyjściowego pliku *.bin używa X# – asemblera x86 wysokiego poziomu, oraz IL2CPU – programu zamieniającego kod Intermediate Language do kodu X#, który następnie jest zamieniany na kod zrozumiały dla NASM. NASM tworzy plik *.bin systemu operacyjnego, plik ISO z bootloaderem ISOLINUX, plikami z konfiguracją oraz plikiem *.bin z systemem. Oprócz tego jest tworzony również folder o nazwie ISO, z zawartością identyczną jak plik ISO.
System
[edytuj | edytuj kod]System operacyjny stworzony z użyciem Cosmos może obsługiwać mysz, system plików FAT, urządzenia pamięci masowej, pliki ELF, wielowątkowość, tryb graficzny oraz wiele innych. Domyślnie system pracuje w trybie tekstowym 80x25, kolorem tekstu jest biały, a tła - czarny.
Domyślny kod kernela Cosmos:
using System;
using System.Collections.Generic;
using System.Text;
using Sys = Cosmos.System;
namespace CosmosKernel2
{
public class Kernel : Sys.Kernel
{
protected override void BeforeRun()
{
Console.WriteLine("Cosmos booted successfully. Type a line of text to get it echoed back.");
}
protected override void Run()
{
Console.Write("Input: ");
var input = Console.ReadLine();
Console.Write("Text typed: ");
Console.WriteLine(input);
}
}
}
Przypisy
[edytuj | edytuj kod]- ↑ https://gocosmos.org
- ↑ About - COSMOS [online], gocosmos.org [dostęp 2024-04-22] (ang.).