Neptune OS: seL4 माइक्रोकर्नेलको WinNT अनुकूलन

नेप्च्यून ओएस परियोजनाको पहिलो प्रयोगात्मक संस्करणको प्रकाशन, जुन को परियोजना भन्दा फरक छ डेबियन-आधारित लिनक्स वितरण उही नामको साथ।

यो प्रणाली जुन हामी आज कुरा गर्नेछौं seL4 microkernel को लागी प्लगइन विकास गरेर विशेषता छ विन्डोज NT कर्नेल कम्पोनेन्टहरूको कार्यान्वयनको साथ, उपलब्ध गराउने लक्ष्यका साथ Windows अनुप्रयोगहरू चलाउनको लागि समर्थन। 

नेप्च्यून ओएसको बारेमा

परियोजना i"NT कार्यकारी" लागू गर्दछ, Windows NT कर्नेल (NTOSKRNL.EXE) को एक तह, NT नेटिभ प्रणाली कल API र चालकहरूलाई काम गर्नको लागि इन्टरफेस प्रदान गर्न जिम्मेवार।

Neptune OS मा, कम्पोनेन्ट NT कार्यकारी र सबै ड्राइभरहरू कर्नेल स्तरमा चल्दैनन्, sino seL4 माइक्रोकर्नेलमा आधारित वातावरणमा प्रयोगकर्ता प्रक्रियाहरूको रूपमा। चालकहरूसँग NT कार्यकारी कम्पोनेन्टको अन्तरक्रिया seL4 IPC मानक मार्फत गरिन्छ। प्रदान गरिएको प्रणाली कलहरूले NTDLL.DLL पुस्तकालयलाई अनुप्रयोगहरूमा प्रयोग हुने Win32 API को कार्यान्वयनसँग काम गर्न सम्भव बनाउँछ।

 NT कार्यकारी विन्डोज कर्नेल ड्राइभर इन्टरफेस (विन्डोज ड्राइभर मोडेल भनेर चिनिन्छ) को लागी पनि जिम्मेवार छ, जसमा सुविधाहरू समावेश छन् जस्तै IoConnectInterruptIoCallDriver

विन्डोजमा, यी कर्नेल मोडमा लोड हुन्छन् र सँग लिङ्क गरिएको छNTOSKRNL.EXEछवि। Neptune OS मा, हामी सबै विन्डोज कर्नेल ड्राइभरहरू प्रयोगकर्ता मोडमा चलाउँछौं र तिनीहरूले मानक seL4 IPC primitives मार्फत NT कार्यकारी प्रक्रियासँग सञ्चार गर्छन्।

अन्तिम लक्ष्य नेप्च्यून ओएस परियोजनाबाट पर्याप्त NT सिमान्टिक्स लागू गर्न छ ताकि ReactOS प्रयोगकर्ता वातावरण Neptune OS अन्तर्गत पोर्ट गर्न सकिन्छ, साथै धेरै ReactOS कर्नेल ड्राइभरहरू।

सिद्धान्तमा, विकासकर्ताहरू उल्लेख छ कि तिनीहरू बाइनरी अनुकूलता हासिल गर्न सक्षम हुनुपर्छ नेटिभ NT API को प्रस्तावित कार्यान्वयन पर्याप्त वफादार भएसम्म नेटिभ विन्डोज कार्यान्वयनयोग्यहरूसँग।

हामीले विन्डोज कर्नेल ड्राइभरहरूसँग स्रोत कोड अनुकूलताको उच्च डिग्री प्राप्त गर्न सक्षम हुनुपर्दछ। कर्नेल ड्राइभरहरूको बाइनरी अनुकूलता प्राप्त गर्नको लागि मुख्य बाधा यो हो कि धेरै विन्डोज कर्नेल ड्राइभरहरूले मानक विन्डोज ड्राइभर संचार प्रोटोकल पालना गर्दैनन् (अर्थात तिनीहरूले अर्को ड्राइभरलाई कल गर्न आवश्यक हुँदा IRP हरू पास गर्छन्) र यसको सट्टा, तिनीहरूले पोइन्टहरू पास गर्छन् र अन्य नियन्त्रकहरूलाई सिधै कल गर्छन्। । Neptune OS मा, यो ड्राइभर-minidriver जोडी नभएसम्म, हामी सधैं "kernel" चलाउँछौं।

Neptune OS 0.1.0001 को बारेमा

यस समयमा परियोजनाको अवस्था एक प्रारम्भिक संस्करण हो, किनकि हामीले अहिलेसम्म किबोर्ड ड्राइभरहरूको आधारभूत स्ट्याक लोड गर्न पर्याप्त NT प्रिमिटिभहरू लागू गर्न सक्षम भएका छौं, जसमा kbdclass.sys किबोर्ड क्लास ड्राइभर र पोर्ट ड्राइभर समावेश छन्। PS/ 2 i8042prt.sys, साथै आधारभूत कमाण्ड प्रम्प्ट ntcmd.exe, ReactOS प्रोजेक्टबाट लिइएको हो।

सायद कुनै पनि शेल आदेशहरू वास्तवमा काम गर्दछ, तर किबोर्ड स्ट्याक स्थिर छ। धेरै डिबग लगहरू उत्पन्न भइरहेकाले डिबग निर्माण अलि ढिलो हुन सक्छ।

तर यो उल्लेख गरिएको छ कि यी कोडमा असक्षम गर्न सकिन्छ (तपाईले निजी/ntos/inc लाई संकेत गर्नुपर्छ)। यो पनि उल्लेख गरिएको छ कि "beep.sys" ड्राइभर समावेश गरिएको थियो (जसको अर्थ छैन, तर विकासकर्ताले मात्र किन थाहा पाउनेछ) जसले PC स्पिकरमा कष्टप्रद आवाज निकाल्छ र त्यो सुन्नको लागि, तपाईंले अनम्युट गर्नुपर्छ। (विशेष गरी यदि तपाइँ pulseaudio प्रयोग गर्नुहुन्छ)।

सबै नियन्त्रकहरू प्रयोगकर्ता ठाउँमा चल्छन्! सम्पूर्ण प्रणाली एक फ्लपी डिस्कमा फिट हुन्छ र संस्करण v0.1.0001 बाट डाउनलोड गर्न सकिन्छ। तपाइँ यसलाई आफैले पनि निर्माण गर्न सक्नुहुन्छ, जसको लागि प्रक्रिया अर्को खण्डमा वर्णन गरिएको छ।

अन्तमा, परियोजनाको बारेमा अलि बढी जान्न चाहनेहरूका लागि, तपाइँ विवरणहरू परामर्श गर्न सक्नुहुन्छ तलका लिंकमा।

बुट छविको साइज 1,4 MB छ र कोड GPLv3 लाइसेन्स अन्तर्गत जारी गरिएको छ।


लेखको सामग्री हाम्रो सिद्धान्तहरूको पालना गर्दछ सम्पादकीय नैतिकता। त्रुटि क्लिक गर्न रिपोर्ट गर्नुहोस् यहाँ.

टिप्पणी गर्न पहिलो हुनुहोस्

तपाइँको टिप्पणी छोड्नुहोस्

तपाईंको ईमेल ठेगाना प्रकाशित हुनेछैन।

*

*

  1. डाटाका लागि उत्तरदायी: मिगुएल gelन्गल ग्याटन
  2. डाटाको उद्देश्य: नियन्त्रण स्पाम, टिप्पणी प्रबन्धन।
  3. वैधानिकता: तपाईंको सहमति
  4. डाटाको सञ्चार: डाटा कानुनी बाध्यता बाहेक तेस्रो पक्षलाई सूचित गरिने छैन।
  5. डाटा भण्डारण: डाटाबेस ओसीन्टस नेटवर्क (EU) द्वारा होस्ट गरिएको
  6. अधिकार: कुनै पनि समयमा तपाईं सीमित गर्न सक्नुहुनेछ, पुन: प्राप्ति र तपाईंको जानकारी मेटाउन।