Snímka obrazovky Maestro
Hrdza si získala dostatočnú obľubu do takej miery, že sa stal jedným z tých, ktoré sa rozhodli integrovať ako sekundárny jazyk v Linuxe, ako aj v iných operačných systémoch, ako je prípad Androidu, ktorý už má časť kódu v Rust, Windows, ktorý tiež udelil súhlas okrem iného.
Hrdza sa ukázal ako robustný jazyk a vyvolal takú dôveru Niektoré operačné systémy boli dokonca vytvorené s týmto programovacím jazykom a spomenieme len niektoré z nich: redox, Máme aj jadrá napísané od základov ako napr Kerla alebo jadro používané v satelit, ktorý Čína nedávno vypustila.
Dôvodom je to, že som nedávno narazil na novinku, ktorá ma zaujala, a to je všetko Bol predstavený projekt, v ktorom sa vyvíja jadro napísané v Ruste a ktorý je čiastočne kompatibilný s Linuxom.
Názov tohto projektu je "Učiteľ" a ako bolo spomenuté, je jadro podobné Unixu napísané v jazyku Rust, ktoré implementuje podmnožinu systémových volaní z jadra Linuxu dostatočné na vytvorenie štandardného pracovného prostredia. Projekt „Maestro“ ako taký nie je novinkou, keďže developer uvádza, že projekt sa zrodil v roku 2018, no v tom čase bol napísaný v C a vzhľadom na rôzne výhody a vlastnosti Rustu bol projekt prepísaný z nula.
Na stránke projektu Dôvody zmeny sú opísané:
V tom momente som sa rozhodol prejsť na Rust (môj prvý projekt v tomto jazyku), čo predstavovalo niekoľko výhod:
- Reštartujte projekt od začiatku s využitím ponaučení z predchádzajúcich chýb.
- Buďte trochu inovatívnejší, než len písať jadro podobné Linuxu v C. Koniec koncov, v tom čase používajte Linux.
- Použite bezpečnosť jazyka Rust na využitie niektorých problémov s programovaním jadra. Používanie systému zápisu Rust vám umožňuje preniesť časť zodpovednosti za bezpečnosť pamäte z programátora na kompilátor.
Pri vývoji jadra je ladenie veľmi ťažké z niekoľkých dôvodov:
- Dokumentáciu je často ťažké nájsť a implementácie systému BIOS môžu byť chybné (častejšie, ako si myslíte).
- Pri zavádzaní má jadro plný prístup k pamäti a môže zapisovať tam, kde by nemalo (napríklad vlastný kód).
- Riešenie problémov s únikom pamäte nie je jednoduché. Nástroje ako valgrind nie je možné použiť.
- gdb je možné použiť s QEMU a VMWare, ale jadro sa môže správať odlišne pri spustení na inom emulátore alebo virtuálnom stroji. Tieto emulátory tiež nemusia podporovať gdb (napr. VirtualBox).
- Niektoré funkcie chýbajú v podpore gdb v QEMU alebo VMWare a gdb môže niekedy dokonca spadnúť
Vo vzťahu k Charakteristiky projektu, je zrejmé, že jadro je monolitické a momentálne je podporovaný iba na systémoch x86 v 32-bitovom režime. Základ kódu jadra pokrýva približne 49 tisíc riadkov a je spustiteľný na skutočnom hardvéri aj vo virtualizovaných prostrediach, ako je QEMU alebo VirtualBox.
V súčasnom vývoji «Maestro», 31 % bolo implementovaných (135 zo 437) systémových volaní Linuxu. Toto je dosť na načítanie prostredia konzoly založeného na Bash a štandardnej knižnici C Musl. Okrem toho prostredie založené na Maestro môže spúšťať niektoré nástroje z balíka GNU coreutils a základné balíky z akéhokoľvek systému Unix. V súčasnosti sa pracuje na implementácii sieťového zásobníka a pracuje sa aj na vývoji servera X11, správcu balíkov, zavádzača, inštalátora a ďalších základných nástrojov na zostavenie operačného systému.
medzi Dostupné funkcie Maestra vynikajú nasledujúci::
- Ovládače pre klávesnicu a terminál PS/2 s textovým režimom a čiastočnou podporou sekvencií ANSI.
- Systém prideľovania pamäte s podporou virtuálnej pamäte.
- Plánovač úloh založený na algoritme round-robin s podporou signálov POSIX.
- Definícia PCI zariadení.
- IDE/PATA radič.
- Súborový systém Ext2.
- Podpora virtuálnych súborových systémov /tmp a /proc.
- Schopnosť pripojiť diskové oddiely FS, MBR a GPT.
- podpora initramfs.
- RTC regulátor pre časovač a presný čas.
- Podpora načítania modulov jadra.
- Schopnosť spúšťať spustiteľné súbory vo formáte ELF.
pre záujem dozvedieť sa niečo viac o projekte, môžete skontrolovať podrobnosti Na nasledujúcom odkaze. Pokiaľ ide o záujemcov o kód projektu, mali by vedieť, že je distribuované pod licenciou MIT.