Një kernel Maestro, i shkruar në Rust dhe pjesërisht i pajtueshëm me Linux

Është paraqitur një projekt për zhvillimin e një bërthame të lehtë Unix-like në gjuhën Rust, që implementon një nëngrup të thirrjeve sistemore të bërthamës Linux, të mjaftueshme për krijimin e mjediseve tipike të punës. Projekti u krijua në vitin 2018 dhe fillimisht përdori gjuhën C, por në vitin 2020 u rilancua plotësisht nga fillimi duke marrë parasysh përvojën e grumbulluar dhe kaloi në Rust për të zvogëluar probabilitetin e gabimeve që ndodhin kur punoni me memorien. Kodi i bërthamës shpërndahet nën licencën MIT. Përveç bërthames, projekti në gjuhën Rust gjithashtu zhvillon X11-server, menaxhues paketa, ngarkues, instalues, grupe mjetesh dhe komponente të tjera të nevojshme për ndërtimin e një sistemi operativ.

Nukleusi ka një arkitekturë monolitike dhe aktualisht mbështet vetëm sistemet x86 në modalitetin 32-bit. Baza e kodit të nukleusit përmban 48.8 mijë rreshta kodi (për krahasim, në nukleusin Linux janë 33 milion rreshta kodi). Është e mundur të nisni në QEMU, VirtualBox ose mbi hardware. Në këtë fazë të zhvillimit, Maestro ka implementuar 31% (135 nga 437) thirrjeve sistemore të Linux, që është e mjaftueshme për ngarkimin e ambientit të konzolës mbi bazën e bash-it dhe bibliotekës standarde C Musl. Në ambientin mbi bazën e Maestro gjithashtu mund të ekzekutohen disa utilitete nga paketa GNU coreutils, si ls, cat, mkdir, rm, rmdir, uname dhe whoami.

Një kernel Maestro, i shkruar në Rust dhe pjesërisht i pajtueshëm me Linux

Mes mundësive të disponueshme në Maestro:

  • Drejta për tastierë PS/2 dhe terminal me modalitet tekstual dhe mbështetje të pjesshme për sekuenca ANSI.
  • Sistemi i shpërndarjes së memories, që mbështet memorjen virtuale.
  • Planifikuesi i detyrave i bazuar në algoritmin round-robin me mbështetje për sinjalet POSIX.
  • Përcaktimi i pajisjeve PCI.
  • Drejta IDE/PATA.
  • Sistemi i skedave Ext2.
  • Mbështetje për sistemi virtual të skedave /tmp dhe /proc.
  • Mbështetje për montimin e sistemeve të skedave dhe pjesëve të diskut MBR dhe GPT.
  • Mbështetje për initramfs.
  • Drejta RTC për timer dhe kohë të saktë.
  • Mbështetje për ngarkimin e moduleve të nukleusit.
  • Mundësia për të nisur skedarë ekzekutivë në formatin ELF.

Aktualisht po punohet në krijimin e një staku rrjeti, pas gatishmërisë së të cilit planifikohet përkrahja e mapimit të drejtpërdrejtë të skedarëve në memorie dhe bibliotekave të ndara.

Burimi: opennet.ru

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster