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