Neptune OS: WinNT prispôsobenie mikrojadra seL4

Zverejnenie prvej experimentálnej verzie projektu Neptune OS, ktorá sa líši od projektu o distribúcia Linuxu založená na Debiane s rovnakým menom.

Tento systém, o ktorom budeme dnes hovoriť sa vyznačuje vývojom pluginu pre mikrokernel seL4 s implementáciou komponentov jadra Windows NT s cieľom poskytnúť podpora spustenia aplikácií Windows. 

O systéme Neptún

projekt iimplementuje "NT Executive", jedna z vrstiev jadra Windows NT (NTOSKRNL.EXE), ktorá je zodpovedná za poskytovanie API a rozhrania na volanie ovládačov natívneho systému NT.

V operačnom systéme Neptune je komponent NT Executive a všetky ovládače nebežia na úrovni jadra, ale ako používateľské procesy v prostredí založenom na mikrokerneli seL4. Interakcia komponentu NT Executive s ovládačmi sa uskutočňuje prostredníctvom štandardu seL4 IPC. Poskytnuté systémové volania umožňujú knižnici NTDLL.DLL pracovať s implementáciou Win32 API používaného v aplikáciách.

 NT Executive má na starosti aj rozhranie ovládača jadra Windowsu (známe ako model ovládača Windows), ktoré obsahuje funkcie ako napr IoConnectInterruptIoCallDriver

V systéme Windows sa tieto načítajú v režime jadra a sú prepojené sNTOSKRNL.EXEobrázok. V operačnom systéme Neptune spúšťame všetky ovládače jadra Windows v užívateľskom režime a komunikujú s procesom NT Executive prostredníctvom štandardných primitív IPC seL4.

Konečný cieľ z projektu Neptune OS je implementovať dostatok NT sémantiky takže používateľské prostredie ReactOS môže byť portované pod Neptune OS, ako aj väčšina ovládačov jadra ReactOS.

Teoreticky vývojári uvádza, že by mali byť schopné dosiahnuť binárnu kompatibilitu s natívnymi spustiteľnými súbormi Windows, pokiaľ je ponúkaná implementácia natívneho NT API dostatočne verná.

Mali by sme byť tiež schopní dosiahnuť vysoký stupeň kompatibility zdrojového kódu s ovládačmi jadra systému Windows. Hlavnou prekážkou dosiahnutia binárnej kompatibility ovládačov jadra je to, že mnohé ovládače jadra systému Windows sa neriadia štandardným komunikačným protokolom ovládačov systému Windows (t. j. odovzdávajú IRP, keď potrebujú zavolať iný ovládač) a namiesto toho iba odovzdávajú ukazovatele a volajú priamo iné ovládače. . Na Neptune OS, pokiaľ to nie je pár ovládač-miniovládač, vždy spúšťame „kernel“.

O Neptune OS 0.1.0001

Stav projektu je v súčasnosti predbežnou verziou, keďže sme doteraz boli schopní implementovať dostatok NT primitív na načítanie základného zásobníka ovládačov klávesnice, ktorý zahŕňa ovládač triedy klávesnice kbdclass.sys a ovládač portu. PS/ 2 i8042prt.sys, ako aj základný príkazový riadok ntcmd.exe, prevzatý z projektu ReactOS.

Takmer žiadny z príkazov shellu skutočne nefunguje, ale zásobník klávesnice je stabilný. Zostavy ladenia môžu byť trochu pomalé, pretože sa generuje príliš veľa denníkov ladenia.

Spomína sa však, že ich možno deaktivovať v kóde (mali by ste ukázať na private/ntos/inc). Spomína sa aj to, že bol pribalený ovládač „beep.sys“ (čo nedáva zmysel, ale len vývojár bude vedieť prečo), ktorý vydáva nepríjemný zvuk v reproduktore PC a že aby ste ho počuli, musíte ho zapnúť (najmä ak používate pulseaudio).

Všetky ovládače bežia v užívateľskom priestore! Celý systém sa zmestí na jednu disketu a dá sa stiahnuť od verzie v0.1.0001. Môžete si ho postaviť aj svojpomocne, postup je popísaný v ďalšej časti.

Na záver, pre tých, ktorí majú záujem dozvedieť sa o projekte niečo viac, môžete konzultovať podrobnosti Na nasledujúcom odkaze.

Veľkosť bootovacieho obrazu je 1,4 MB a kód je vydaný pod licenciou GPLv3.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.