नेपच्यून OS: seL4 मायक्रोकर्नलचे WinNT सानुकूलन

नेपच्यून ओएस प्रकल्पाच्या पहिल्या प्रायोगिक आवृत्तीचे प्रकाशन, जे च्या प्रकल्पापेक्षा वेगळे आहे डेबियन-आधारित लिनक्स वितरण त्याच नावाने

ही प्रणाली ज्याबद्दल आपण आज बोलणार आहोत seL4 मायक्रोकर्नलसाठी प्लगइन विकसित करून वैशिष्ट्यीकृत आहे प्रदान करण्याच्या उद्दिष्टासह, Windows NT कर्नल घटकांच्या अंमलबजावणीसह विंडोज ऍप्लिकेशन्स चालवण्यासाठी समर्थन. 

नेपच्यून ओएस बद्दल

प्रकल्प i"NT एक्झिक्युटिव्ह" लागू करते, Windows NT कर्नल (NTOSKRNL.EXE) च्या स्तरांपैकी एक, NT नेटिव्ह सिस्टम कॉल API आणि ड्राइव्हर्सना कार्य करण्यासाठी इंटरफेस प्रदान करण्यासाठी जबाबदार आहे.

नेपच्यून OS वर, घटक एनटी एक्झिक्युटिव्ह आणि सर्व ड्रायव्हर्स कर्नल स्तरावर चालत नाहीत, पण वापरकर्ता seL4 मायक्रोकर्नलवर आधारित वातावरणात प्रक्रिया करतो. ड्रायव्हर्ससह NT कार्यकारी घटकाचा परस्परसंवाद seL4 IPC मानकाद्वारे केला जातो. प्रदान केलेल्या सिस्टम कॉलमुळे NTDLL.DLL लायब्ररीला ऍप्लिकेशन्समध्ये वापरल्या जाणार्‍या Win32 API च्या अंमलबजावणीसह कार्य करणे शक्य होते.

 एनटी एक्झिक्युटिव्ह हे विंडोज कर्नल ड्रायव्हर इंटरफेस (विंडोज ड्रायव्हर मॉडेल म्हणून ओळखले जाणारे) साठी देखील जबाबदार आहे, ज्यामध्ये वैशिष्ट्ये समाविष्ट आहेत जसे की IoConnectInterruptIoCallDriver

विंडोजवर, हे कर्नल मोडमध्ये लोड केले जातात आणि शी लिंक केले जातातNTOSKRNL.EXEप्रतिमा नेपच्यून OS मध्ये, आम्ही सर्व विंडोज कर्नल ड्रायव्हर्स वापरकर्ता मोडमध्ये चालवतो आणि ते मानक seL4 IPC प्रिमिटिव्सद्वारे NT कार्यकारी प्रक्रियेशी संवाद साधतात.

शेवटचे ध्येय नेपच्यून ओएस प्रकल्पातून पुरेसे NT शब्दार्थ लागू करणे आहे जेणेकरून ReactOS वापरकर्ता वातावरण Neptune OS अंतर्गत पोर्ट केले जाऊ शकते, तसेच बहुतेक ReactOS कर्नल ड्रायव्हर्स.

सिद्धांततः, विकासक ते बायनरी सुसंगतता प्राप्त करण्यास सक्षम असावे असा उल्लेख करतात नेटिव्ह विंडोज एक्झिक्युटेबलसह जोपर्यंत नेटिव्ह NT API ची ऑफर केलेली अंमलबजावणी पुरेशी विश्वासू आहे.

आम्ही विंडोज कर्नल ड्रायव्हर्ससह उच्च प्रमाणात स्त्रोत कोड सुसंगतता प्राप्त करण्यास सक्षम असणे आवश्यक आहे. कर्नल ड्रायव्हर्सची बायनरी सुसंगतता साध्य करण्यात मुख्य अडथळा हा आहे की अनेक विंडोज कर्नल ड्रायव्हर्स मानक विंडोज ड्रायव्हर कम्युनिकेशन प्रोटोकॉलचे पालन करत नाहीत (म्हणजे जेव्हा त्यांना दुसर्‍या ड्रायव्हरला कॉल करण्याची आवश्यकता असते तेव्हा ते आयआरपी पास करतात) आणि त्याऐवजी, ते फक्त पॉइंटर पास करतात आणि इतर नियंत्रकांना थेट कॉल करतात. . नेपच्यून OS वर, ड्रायव्हर-मिनीड्रायव्हर जोडी असल्याशिवाय, आम्ही नेहमी "कर्नल" चालवतो.

नेपच्यून OS 0.1.0001 बद्दल

यावेळेस प्रकल्पाची स्थिती ही प्राथमिक आवृत्ती आहे, कारण कीबोर्ड ड्रायव्हर्सचा मूलभूत स्टॅक लोड करण्यासाठी आम्ही आतापर्यंत पुरेशी एनटी प्रिमिटिव्ह लागू करू शकलो आहोत, ज्यात kbdclass.sys कीबोर्ड क्लास ड्रायव्हर आणि पोर्ट ड्रायव्हर समाविष्ट आहेत. PS/ 2 i8042prt.sys, तसेच मूलभूत कमांड प्रॉम्प्ट ntcmd.exe, ReactOS प्रकल्पातून घेतले आहे.

क्वचितच कोणतीही शेल कमांड प्रत्यक्षात कार्य करते, परंतु कीबोर्ड स्टॅक स्थिर असतो. डीबग बिल्ड थोडे धीमे असू शकतात कारण बरेच डीबग लॉग तयार केले जात आहेत.

परंतु कोडमध्ये हे अक्षम केले जाऊ शकते असा उल्लेख आहे (तुम्ही खाजगी/ntos/inc कडे निर्देशित केले पाहिजे). असेही नमूद केले आहे की "beep.sys" ड्रायव्हरचा समावेश करण्यात आला होता (ज्याचा अर्थ नाही, परंतु केवळ विकासकालाच का ते कळेल) ज्यामुळे पीसी स्पीकरमध्ये त्रासदायक आवाज येतो आणि तो ऐकण्यासाठी, तुम्ही अनम्यूट केले पाहिजे. (विशेषत: तुम्ही पल्सऑडिओ वापरत असाल तर).

सर्व नियंत्रक वापरकर्त्याच्या जागेत चालतात! संपूर्ण प्रणाली एका फ्लॉपी डिस्कवर बसते आणि आवृत्ती v0.1.0001 वरून डाउनलोड केली जाऊ शकते. आपण ते स्वतः देखील तयार करू शकता, ज्याची प्रक्रिया पुढील विभागात वर्णन केली आहे.

शेवटी, ज्यांना प्रकल्पाबद्दल थोडे अधिक जाणून घेण्यास स्वारस्य आहे, आपण तपशीलांचा सल्ला घेऊ शकता पुढील लिंकवर

बूट इमेजचा आकार 1,4 MB आहे आणि कोड GPLv3 लायसन्स अंतर्गत जारी केला जातो.


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.