CosmosOS

Z Wikipedii, wolnej encyklopedii

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]

  1. https://gocosmos.org
  2. About - COSMOS [online], gocosmos.org [dostęp 2024-04-22] (ang.).

Linki zewnętrzne[edytuj | edytuj kod]