Cosmoshttps://gocosmos.org, 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).

Działanie 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 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

Linki zewnętrzne Repozytorium Cosmos na portalu GitHub Oficjalna strona Cosmos Strona IL2CPU Strona X#

Kategoria:Wbudowane systemy operacyjne Kategoria:Jądro systemu operacyjnego Kategoria:Systemy operacyjne oparte na wolnym oprogramowaniu Kategoria:.NET Kategoria:Oprogramowanie na licencji BSD