Przedstawiamy Banan-OS: całkowicie nowy system operacyjny napisany od podstaw w C++
Deweloper Banaymous wydał właśnie nowy system operacyjny napisany od podstaw, który obsługuje już wiele funkcji współczesnych systemów operacyjnych. Banan-OS odzwierciedla dwa lata wysiłków dewelopera i jest napisany prawie w całości w C++, z 16-bitowym asemblerem trybu rzeczywistego wykorzystanym do bootloadera BIOS. Projekt wykorzystuje nawet własną bibliotekę C++ Banaymousa. Obecnie system operacyjny obsługuje architektury x86_64 i i686. Nie ma jednak potrzeby instalowania go lokalnie, ponieważ deweloper hostuje przykład na żywo, którego użytkownicy mogą użyć, aby zobaczyć, co ma do zaoferowania.
Choć Banon-OS jest jeszcze w powijakach, posiada kilka ogólnych funkcji, które pokazują, jak daleko zaszedł jako pełnoprawny system operacyjny. Funkcje te obejmują:
- Przestrzeń użytkownika Ring3
- SMP (multiprocessing)
- Liniowy bufor ramki (VESA i GOP)
- Stos sieciowy
- Ładowanie plików wykonywalnych ELF
- Interpreter AML (częściowy)
- Podstawowe środowisko graficzne
Graficzny interfejs użytkownika jest szczególnie imponujący, ponieważ zawiera terminal i podstawowy pasek stanu. Obecnie nie ma aplikacji ani programu uruchamiającego, ale te funkcje są następne na liście do zaimplementowania.
Banon-OS oferuje również wsparcie dla wielu różnych sterowników, opcji sieciowych, systemów plików i bootloaderów, które z pewnością zachęcą innych deweloperów do współpracy. Poniżej znajdą Państwo kilka najważniejszych informacji z każdej z tych kategorii:
- Sterowniki: Dyski NVMe, klawiatury i myszy PS2, klawiatury USB, myszy USB i pamięci masowe USB
- Sieci: ARP, ICMP, IPv4, UDP, gniazda domeny UNIX
- Systemy plików: Wirtualny system plików, Ext2, FAT12/16/32, Dev, Ram, Proc
- Programy ładujące: GRUB i niestandardowy program ładujący BIOS
Dla tych, którzy chcą dowiedzieć się więcej o strukturze kodu Banan-OS lub wnieść swój wkład w projekt, użytkownicy mogą sprawdzić stronę GitHub projektu https://github.com/Bananymous/banan-os?tab=readme-ov-file. Tam, Banaymous zapewnia szczegółowe informacje na temat projektu i konkretne instrukcje, jak wnieść swój wkład.