Neptune OS: seL4 микроядросының WinNT теңшелімі

жобасынан ерекшеленетін Neptune OS жобасының бірінші эксперименттік нұсқасын жариялау. Debian негізіндегі Linux дистрибуциясы сол атпен.

Біз бүгін айтатын бұл жүйе seL4 микроядросы үшін плагинді әзірлеумен сипатталады қамтамасыз ету мақсатымен Windows NT ядросының құрамдастарын жүзеге асырумен Windows қолданбаларын іске қосуды қолдау. 

Neptune OS туралы

жоба i«NT Executive» жүзеге асырады, Windows NT ядросының қабаттарының бірі (NTOSKRNL.EXE), NT Native жүйелік шақыру API интерфейсін және драйверлердің жұмыс істеуі үшін интерфейсті қамтамасыз етуге жауапты.

Neptune OS жүйесінде құрамдас NT Executive және барлық драйверлер ядро ​​деңгейінде жұмыс істемейді, Sino seL4 микроядросына негізделген ортада пайдаланушы процестері ретінде. NT Executive компонентінің драйверлермен әрекеттесуі seL4 IPC стандарты арқылы жүзеге асырылады. Берілген жүйелік қоңыраулар NTDLL.DLL кітапханасына қолданбаларда қолданылатын Win32 API іске асыруымен жұмыс істеуге мүмкіндік береді.

 NT Executive сонымен қатар Windows ядросының драйвер интерфейсіне (Windows драйвер үлгісі ретінде белгілі) жауап береді, ол келесі мүмкіндіктерді қамтиды. IoConnectInterruptIoCallDriver

Windows жүйесінде олар ядро ​​режимінде жүктеледі және мыналармен байланыстырыладыNTOSKRNL.EXEсурет. Neptune операциялық жүйесінде біз барлық Windows ядросының драйверлерін пайдаланушы режимінде іске қосамыз және олар стандартты seL4 IPC примитивтері арқылы NT Executive процесімен байланысады.

Соңғы мақсат Neptune OS жобасынан жеткілікті NT семантикасын жүзеге асыру болып табылады сондықтан ReactOS пайдаланушы ортасын Neptune OS, сондай-ақ көптеген ReactOS ядро ​​драйверлері астында тасымалдауға болады.

Теорияда әзірлеушілер олар екілік үйлесімділікке қол жеткізуі керек екенін айтады жергілікті NT API ұсынылатын іске асыру жеткілікті сенімді болған кезде жергілікті Windows орындалатын файлдарымен.

Біз сондай-ақ Windows ядросының драйверлерімен бастапқы код үйлесімділігінің жоғары деңгейіне қол жеткізе алуымыз керек. Ядро драйверлерінің екілік үйлесімділігіне қол жеткізудегі негізгі кедергі - көптеген Windows ядросының драйверлері стандартты Windows драйверінің байланыс протоколын сақтамайды (яғни, олар басқа драйверді шақыру қажет болғанда IRP протоколдарын өткізеді) және оның орнына жай ғана көрсеткіштерді өткізіп, басқа контроллерлерді тікелей шақырады. . Neptune OS жүйесінде, егер ол драйвер-мини драйвер жұбы болмаса, біз әрқашан «ядро» іске қосамыз.

Neptune OS 0.1.0001 туралы

Жобаның қазіргі кездегі күйі алдын ала нұсқа болып табылады, өйткені біз осы уақытқа дейін kbdclass.sys пернетақта класы драйвері мен порт драйверін қамтитын пернетақта драйверлерінің негізгі стегін жүктеу үшін жеткілікті NT примитивтерін жүзеге асыра алдық. PS/ 2 i8042prt.sys, сондай-ақ негізгі пәрмен жолы ntcmd.exe, ReactOS жобасынан алынған.

Қабық командаларының ешқайсысы іс жүзінде жұмыс істемейді, бірақ пернетақта стегі тұрақты. Түзету құрастырулары аздап баяу болуы мүмкін, себебі тым көп жөндеу журналдары жасалуда.

Бірақ кодта бұларды өшіруге болатыны айтылған (private/ntos/inc сілтемесін көрсету керек). Сондай-ақ, ДК динамигінде тітіркендіргіш дыбыс шығаратын «beep.sys» драйвері (бұл мағынасы жоқ, бірақ неге екенін әзірлеуші ​​ғана біледі) және оны есту үшін дыбысты қосу керек екені айтылған. (әсіресе pulseaudio пайдалансаңыз).

Барлық контроллерлер пайдаланушы кеңістігінде жұмыс істейді! Бүкіл жүйе бір дискетке сыйды және оны v0.1.0001 нұсқасынан жүктеп алуға болады. Сіз оны өзіңіз де жасай аласыз, оның процедурасы келесі бөлімде сипатталған.

Соңында, жоба туралы көбірек білгісі келетіндер үшін егжей-тегжейлі мәліметтермен танысуға болады Келесі сілтемеде.

Жүктеу кескінінің өлшемі 1,4 МБ және код GPLv3 лицензиясы бойынша шығарылады.


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

Бірінші болып пікір айтыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады. Міндетті өрістер таңбаланған *

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.