Proyek OS Neptune sedang mengembangkan lapisan kompatibilitas Windows berdasarkan mikrokernel seL4

Rilis eksperimental pertama dari proyek OS Neptune telah diterbitkan, mengembangkan add-on pada mikrokernel seL4 dengan implementasi komponen kernel Windows NT, yang bertujuan untuk memberikan dukungan untuk menjalankan aplikasi Windows. Kode ini didistribusikan di bawah lisensi GPLv3.

Proyek ini dilaksanakan oleh "NT Executive", salah satu lapisan kernel Windows NT (NTOSKRNL.EXE), yang bertanggung jawab untuk menyediakan API panggilan sistem NT Native dan antarmuka untuk pengoperasian driver. Di OS Neptune, komponen NT Executive dan semua driver tidak berjalan di level kernel, tetapi dalam bentuk proses pengguna di lingkungan berbasis mikrokernel seL4. Interaksi komponen NT Executive dengan pengemudi dilakukan melalui standar seL4 IPC. Panggilan sistem yang disediakan memungkinkan untuk memastikan bahwa perpustakaan NTDLL.DLL bekerja dengan implementasi antarmuka pemrograman Win32 yang digunakan dalam aplikasi.

Versi pertama Neptune OS mencakup driver keyboard (kbdclass.sys), driver port PS/2 (i8042prt.sys), driver bip (beep.sys) dan penerjemah baris perintah (ntcmd.exe), porting dari ReactOS dan memungkinkan mendemonstrasikan prinsip-prinsip dasar organisasi kerja. Ukuran gambar boot adalah 1.4 MB.

Tujuan utamanya adalah untuk membawa lapisan ke keadaan yang cukup untuk mem-porting lingkungan pengguna dan driver ReactOS. Para pengembang juga mempertimbangkan kemungkinan untuk mencapai kompatibilitas biner dengan file executable Windows dan kompatibilitas tingkat sumber yang dapat diterima dengan driver kernel Windows.

Hambatan utama dalam menyediakan dukungan untuk driver Windows adalah penggunaan di sebagian besar driver kernel Windows bukan protokol komunikasi standar saat mengakses driver lain, tetapi transfer penunjuk langsung, yang tidak dapat diterapkan di OS Neptune karena driver berjalan dalam proses yang berbeda.

Sumber: opennet.ru

Tambah komentar