Neptune OS ပရောဂျက်သည် seL4 မိုက်ခရိုကာနယ်ကို အခြေခံ၍ Windows လိုက်ဖက်နိုင်သော အလွှာတစ်ခုကို ဖော်ဆောင်နေသည်။

Windows NT kernel အစိတ်အပိုင်းများကို အကောင်အထည်ဖော်ခြင်းဖြင့် Neptune OS ပရောဂျက်၏ ပထမဆုံး စမ်းသပ်ဖြန့်ချိမှုကို ထုတ်ဝေခဲ့ပြီး၊ Windows အက်ပလီကေးရှင်းများကို အသုံးပြုရန်အတွက် ပံ့ပိုးမှုပေးရန် ရည်ရွယ်၍ Windows NT kernel အစိတ်အပိုင်းများကို အကောင်အထည်ဖော်ခြင်းဖြင့် seL4 မိုက်ခရိုကာနယ်တွင် ပေါင်းထည့်မှုတစ်ခုကို တီထွင်ခဲ့သည်။ ကုဒ်ကို GPLv3 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။

ပရောဂျက်ကို NT အမှုဆောင်အရာရှိချုပ်၊ Windows NT kernel အလွှာများ (NTOSKRNL.EXE) မှတစ်ခုဖြစ်သည့် "NT Executive" မှ အကောင်အထည်ဖော်ဆောင်ရွက်ပါသည်။ Neptune OS တွင်၊ NT Executive အစိတ်အပိုင်းနှင့် ဒရိုက်ဘာများအားလုံးသည် kernel အဆင့်တွင် မလည်ပတ်သော်လည်း seL4 မိုက်ခရိုကာနယ်ကို အခြေခံသည့် ပတ်ဝန်းကျင်ရှိ သုံးစွဲသူများ၏ လုပ်ငန်းစဉ်ပုံစံဖြင့် လုပ်ဆောင်သည်။ NT Executive အစိတ်အပိုင်း၏ ယာဉ်မောင်းများနှင့် အပြန်အလှန်အကျိုးသက်ရောက်မှုကို စံ seL4 IPC မှတဆင့် လုပ်ဆောင်သည်။ ပံ့ပိုးပေးထားသော စနစ်ခေါ်ဆိုမှုများသည် NTDLL.DLL စာကြည့်တိုက်သည် အက်ပ်လီကေးရှင်းများတွင် အသုံးပြုသည့် Win32 ပရိုဂရမ်းမင်းအသုံးပြုသည့် အင်တာဖေ့စ်ကို အကောင်အထည်ဖော်မှုနှင့်အတူ အလုပ်လုပ်ကြောင်း သေချာစေပါသည်။

Neptune OS ၏ ပထမဗားရှင်းတွင် ကီးဘုတ်ဒရိုက်ဗာ (kbdclass.sys)၊ PS/2 ပို့တ်ဒရိုက်ဗာ (i8042prt.sys)၊ ပီပီဒရိုက်ဗာ (beep.sys) နှင့် ReactOS မှ ပေးပို့ထားသော အမိန့်ပေးစာကြောင်း စကားပြန် (ntcmd.exe) ပါဝင်သည်။ အလုပ်အဖွဲ့အစည်း၏ အခြေခံမူများကို သရုပ်ပြသခွင့်ပြုခြင်း။ Boot Image Size က 1.4 MB ရှိပါတယ်။

အန္တိမရည်မှန်းချက်မှာ အသုံးပြုသူပတ်ဝန်းကျင်နှင့် ReactOS ဒရိုက်ဘာများကို ပို့ရန် လုံလောက်သည့်အခြေအနေသို့ရောက်စေရန်ဖြစ်သည်။ developer များသည် Windows executable files များနှင့် binary compatibility ရရှိရန်နှင့် Windows kernel drivers များနှင့် လက်ခံနိုင်သော source-level compatibility ကိုလည်း ထည့်သွင်းစဉ်းစားနေပါသည်။

Windows drivers များအတွက် ပံ့ပိုးမှုပေးရာတွင် အဓိကအတားအဆီးမှာ အခြားသော drivers များကိုဝင်ရောက်သည့်အခါ standard communication protocol မဟုတ်သော Windows kernel driver အများစုတွင်အသုံးပြုခြင်းဖြစ်သော်လည်း၊ ကွဲပြားသောလုပ်ငန်းစဉ်များတွင်လုပ်ဆောင်နေသည့် drivers များကြောင့် Neptune OS တွင်အကောင်အထည်ဖော်မရနိုင်သည့်တိုက်ရိုက် pointer လွှဲပြောင်းခြင်းဖြစ်ပါသည်။

source: opennet.ru

မှတ်ချက် Add