Neptune OS: WinNT prilagodba mikrokernela seL4

Objavljivanje prve eksperimentalne verzije projekta Neptune OS, koja se razlikuje od projekta distribuciju Linuxa temeljenu na Debianu s istim imenom.

Ovaj sustav o kojem ćemo danas govoriti karakterizira razvoj dodatka za mikrokernel seL4 s implementacijom komponenti jezgre Windows NT, s ciljem pružanja podrška za pokretanje Windows aplikacija. 

O Neptun OS-u

projekt iimplementira "NT Executive", jedan od slojeva Windows NT kernela (NTOSKRNL.EXE), odgovoran za pružanje API-ja za NT izvorni poziv sustava i sučelja za rad upravljačkih programa.

Na Neptune OS, komponenta NT Executive i svi upravljački programi ne rade na razini kernela, sino kao korisnički procesi u okruženju koje se temelji na mikrokernelu seL4. Interakcija NT Executive komponente s drajverima se provodi kroz seL4 IPC standard. Osigurani pozivi sustava omogućuju biblioteci NTDLL.DLL rad s implementacijom Win32 API-ja koji se koristi u aplikacijama.

 NT Executive je također odgovoran za sučelje upravljačkog programa Windows kernel (poznato kao model Windows upravljačkog programa), koje uključuje značajke kao što su IoConnectInterruptIoCallDriver

U sustavu Windows oni se učitavaju u načinu kernela i povezuju sNTOSKRNL.EXEslika. U Neptune OS-u pokrećemo sve upravljačke programe jezgre Windowsa u korisničkom načinu rada i oni komuniciraju s NT Executive procesom kroz standardne seL4 IPC primitive.

Krajnji cilj iz projekta Neptun OS je implementirati dovoljno NT semantike tako da se ReactOS korisničko okruženje može prenijeti pod Neptune OS, kao i većina upravljačkih programa za ReactOS kernel.

U teoriji, programeri spominje da bi trebali moći postići binarnu kompatibilnost s izvornim Windows izvršnim datotekama sve dok je ponuđena implementacija izvornog NT API-ja dovoljno vjerna.

Također bismo trebali biti u mogućnosti postići visok stupanj kompatibilnosti izvornog koda s upravljačkim programima jezgre sustava Windows. Glavna prepreka postizanju binarne kompatibilnosti upravljačkih programa kernela je da mnogi upravljački programi jezgre sustava Windows ne slijede standardni komunikacijski protokol Windows upravljačkog programa (tj. prosljeđuju IRP-ove kada trebaju pozvati drugi upravljački program) i umjesto toga samo prosljeđuju pokazivače i izravno pozivaju druge kontrolere . Na Neptune OS-u, osim ako nije par driver-minidriver, uvijek pokrećemo "kernel".

O Neptune OS-u 0.1.0001

Stanje projekta u ovom trenutku je preliminarna verzija, budući da smo do sada uspjeli implementirati dovoljno NT primitiva za učitavanje osnovnog hrpa drajvera tipkovnice, koji uključuje kbdclass.sys upravljački program klase tipkovnice i upravljački program porta. PS/ 2 i8042prt.sys, kao i osnovni naredbeni redak ntcmd.exe, preuzet iz ReactOS projekta.

Jedva da bilo koja od naredbi ljuske zapravo radi, ali skup tipkovnice je stabilan. Izgradnje za otklanjanje pogrešaka mogu biti malo spore jer se generira previše dnevnika otklanjanja pogrešaka.

No spominje se da se oni mogu onemogućiti u kodu (trebalo bi pokazati na private/ntos/inc). Također se spominje da je uključen drajver "beep.sys" (što nema smisla, ali samo programer će znati zašto) koji stvara neugodan zvuk u zvučniku PC-a i da ga morate uključiti (posebno ako koristite pulseaudio).

Svi kontroleri rade u korisničkom prostoru! Cijeli sustav stane na jednu disketu i može se preuzeti od verzije v0.1.0001. Možete ga i sami izgraditi, a postupak je opisan u sljedećem odjeljku.

Konačno, za one koji su zainteresirani za nešto više o projektu, možete pogledati detalje U sljedećem linku.

Veličina slike za pokretanje je 1,4 MB, a kod je objavljen pod GPLv3 licencom.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.