Neptune OS: seL4 mikrokodola WinNT pielāgošana

Neptune OS projekta pirmās eksperimentālās versijas publicēšana, kas atšķiras no projekta uz Debian balstīta Linux izplatīšana ar tādu pašu nosaukumu.

Šī sistēma, par kuru mēs šodien runāsim raksturo seL4 mikrokodola spraudņa izstrāde ar Windows NT kodola komponentu ieviešanu, ar mērķi nodrošināt atbalsts Windows lietojumprogrammu palaišanai. 

Par Neptūna OS

projekts iīsteno "NT izpilddirektoru", viens no Windows NT kodola (NTOSKRNL.EXE) slāņiem, kas ir atbildīgs par NT Native sistēmas izsaukuma API un interfeisa nodrošināšanu, lai draiveri darbotos.

Neptune OS komponents NT Executive un visi draiveri nedarbojas kodola līmenī, bet kā lietotāja procesi vidē, kuras pamatā ir seL4 mikrokodolu. NT Executive komponenta mijiedarbība ar draiveriem tiek veikta, izmantojot seL4 IPC standartu. Nodrošinātie sistēmas izsaukumi ļauj NTDLL.DLL bibliotēkai strādāt ar lietojumprogrammās izmantoto Win32 API ieviešanu.

 NT Executive ir atbildīgs arī par Windows kodola draivera interfeisu (pazīstams kā Windows draivera modelis), kas ietver tādas funkcijas kā IoConnectInterruptIoCallDriver

Operētājsistēmā Windows tie tiek ielādēti kodola režīmā un saistīti arNTOSKRNL.EXEattēlu. Operētājsistēmā Neptune mēs palaižam visus Windows kodola draiverus lietotāja režīmā, un tie sazinās ar NT Executive procesu, izmantojot standarta seL4 IPC primitīvus.

Gala mērķis no Neptune OS projekta ir ieviest pietiekami daudz NT semantikas lai ReactOS lietotāja vidi varētu portēt zem Neptune OS, kā arī lielāko daļu ReactOS kodola draiveru.

Teorētiski izstrādātāji piemin, ka tiem jāspēj sasniegt bināro saderību ar vietējām Windows izpildāmajām programmām, ja vien piedāvātā vietējās NT API ieviešana ir pietiekami uzticama.

Mums vajadzētu arī nodrošināt augstu pirmkoda saderības pakāpi ar Windows kodola draiveriem. Galvenais šķērslis kodola draiveru binārās savietojamības sasniegšanai ir tas, ka daudzi Windows kodola draiveri neievēro standarta Windows draiveru komunikācijas protokolu (t.i., tie iziet IRP, kad nepieciešams izsaukt citu draiveri), un tā vietā tie vienkārši nodod norādes un tieši izsauc citus kontrollerus. . Operētājsistēmā Neptune, ja vien tas nav draivera un mini draivera pāris, mēs vienmēr palaižam "kodolu".

Par Neptune OS 0.1.0001

Projekta stāvoklis šobrīd ir provizoriskā versija, jo līdz šim esam spējuši ieviest pietiekami daudz NT primitīvu, lai ielādētu pamata tastatūras draiveru kaudzi, kurā ietilpst kbdclass.sys tastatūras klases draiveris un porta draiveris. PS/ 2 i8042prt.sys, kā arī pamata komandu uzvedne ntcmd.exe, kas ņemta no ReactOS projekta.

Gandrīz neviena no čaulas komandām faktiski nedarbojas, taču tastatūras kaudze ir stabila. Atkļūdošanas būves var būt nedaudz lēnas, jo tiek ģenerēts pārāk daudz atkļūdošanas žurnālu.

Bet tiek minēts, ka tos var atspējot kodā (jānorāda uz private/ntos/inc). Tiek arī minēts, ka tika iekļauts "beep.sys" draiveris (kuram nav jēgas, bet tikai izstrādātājs zinās kāpēc), kas rada kaitinošu skaņu datora skaļrunī un ka, lai to dzirdētu, ir jāieslēdz skaņa. (īpaši, ja izmantojat pulseaudio).

Visi kontrolieri darbojas lietotāja telpā! Visa sistēma ietilpst vienā disketē, un to var lejupielādēt no versijas v0.1.0001. Varat arī izveidot to pats, kura procedūra ir aprakstīta nākamajā sadaļā.

Visbeidzot, tie, kuri vēlas uzzināt vairāk par projektu, var iepazīties ar sīkāku informāciju Šajā saitē.

Sāknēšanas attēla izmērs ir 1,4 MB, un kods ir izlaists saskaņā ar GPLv3 licenci.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.