क्या कम से कम पाइथन का उपयोग कर ऑपरेटिंग सिस्टम बनाना संभव है?
मैं वास्तव में असेंबली जैसे निम्न स्तर कोड में नहीं जाना चाहता, इसलिए मैं एक सरल
पर्ल, या पायथन जैसी भाषा का उपयोग करना चाहता हूं। पर कैसे?क्या पाइथन का उपयोग कर एक ऑपरेटिंग सिस्टम बनाना संभव है?
उत्तर
दुर्भाग्य से पायथन को very high level programming language के रूप में वर्गीकृत किया गया है। इसका उपयोग नहीं किया जा सकता है, उदाहरण के लिए, सीधे हार्डवेयर तक पहुंचने और निम्न-स्तरीय डेटा संरचना मैनिपुलेशन करने के लिए। यह हार्डवेयर से अमूर्त करने के लिए पूरी तरह से निर्भर है, और यह कर्नेल है। हालांकि, यह पाइथन पर केंद्रित एक ऑपरेटिंग सिस्टम बनाने के लिए तकनीकी रूप से संभव है, जो है; सी और असेंबली में लिखे गए केवल बहुत कम स्तर की सामग्री है और इसमें पाइथन में लिखे गए अधिकांश ऑपरेटिंग सिस्टम हैं।
This article अधिक विस्तार से चर्चा करता है कि कौन सी भाषाएं ऑपरेटिंग सिस्टम कर्नेल लिखने के लिए उपयुक्त हैं।
अच्छा लेख। इसका सबसे अच्छा उद्धरण यह है: _ सी के अलावा कई भाषाओं में असेंबली और सी विकास की उचित मात्रा आवश्यक है ताकि उचित रनटाइम पर्यावरण को भाषा के abstractions.__ का समर्थन किया जा सके। – C2H5OH
मेरा सुझाव है कि आपको ऑपरेटिंग सिस्टम डिज़ाइन पर एक अच्छी पाठ्यपुस्तक मिलती है, और इसका अध्ययन करें। मुझे पूरा यकीन है कि आपको पाइथन स्रोत कोड के साथ ऐसी पुस्तक नहीं मिलेगी; सी अधिक संभावना है। (आपको एक पुरानी पाठ्यपुस्तक मिल सकती है जो सी के बजाय पास्कल का उपयोग करती है, लेकिन यह वास्तव में अलग नहीं है।)
एक बार जब आप एक ऑपरेटिंग सिस्टम लिखने में सक्षम होने के लिए पर्याप्त ऑपरेटिंग सिस्टम डिज़ाइन का अध्ययन कर लेते हैं, तो आपको पर्याप्त जानकारी होगी आपकी राय क्या भाषाओं पर उपयुक्त होगी।
मैंने अपने ऑपरेटिंग सिस्टम में एक उपयोगकर्तास्पेस प्रोग्राम के रूप में चलाने के लिए पाइथन दुभाषिया को पोर्ट किया है, यह पहला कार्यक्रम था - और अब तक केवल एक ही - जिसे मैंने पोर्ट किया था; इस अनुभव से, मैं कहूंगा कि पाइथन में ऑपरेटिंग सिस्टम कार्यक्षमता के बहुत सारे लिखना निश्चित रूप से संभव होगा; आप निश्चित रूप से न्यूनतम सुविधा समर्थन के साथ कर्नेल में पायथन भी एम्बेड कर सकते हैं।
हालांकि आपको इंटरप्ट्स, निम्न स्तरीय मेमोरी प्रबंधन आदि के लिए असेंबली और सी लिखना होगा। मेरे मामले में, मैंने Newlib सी लाइब्रेरी के विरुद्ध विशेष रूप से संशोधित पायथन 2.5.2 बनाया; कम से कम मामले में आपको न्यूलिब लाइब्रेरी के लिए हीप मेमोरी प्रबंधन प्रदान करने की आवश्यकता है, और आप इसके ऊपर पाइथन चला सकते हैं।
इस प्रकार, पायथन दुभाषिया में अपना ढेर कार्यान्वयन नहीं होता है, और यह सी लाइब्रेरी पर निर्भर करता है, इसलिए आप इसे सीधे नंगे धातु पर नहीं चला सकते हैं, लेकिन ऑपरेटिंग सिस्टम कर्नेल को पारंपरिक रूप से लिखा गया है, पायथन में भी लिखा जा सकता है।
पाठ्यक्रम का विशेष मामला microkernels हैं, जहां अधिकांश कार्यक्षमता उपयोगकर्ताओं के रूप में सेवाओं के रूप में है; इन्हें किसी भी पसंदीदा प्रोग्रामिंग भाषा में पाइथन में अधिक स्वाभाविक रूप से कार्यान्वित किया जा सकता है।
आप The Intel BIOS Implementation Test Suite (BITS) Project द्वारा दिखाए गए अनुसार ओएस के बिना निश्चित रूप से पायथन चला सकते हैं। scripting guide बताते हैं:।
"... हार्डवेयर प्लेटफार्म के विभिन्न निम्न स्तर कार्यक्षमता, ACPI, सीपीयू और चिपसेट रजिस्टर, पीसीआई, और पीसीआई एक्सप्रेस आप स्क्रिप्ट का पता लगाने के लिख सकते हैं और परीक्षण सहित उपयोग करने के लिए भी शामिल है पायथन एपीआई प्लेटफार्म कार्यक्षमता, 32-बिट रिंग 0 में पाइथन की पूरी शक्ति का उपयोग करके, ओएस के बिना .. "
अब, बीआईटीएस इंटेल हार्डवेयर के लिए विशिष्ट एक BIOS परीक्षण प्लेटफॉर्म है, और कस्टम नहीं चलाने के लिए पायथन आधारित ओएस, लेकिन इसका मतलब यह नहीं है कि आप इसे आजमा सकते हैं ...
- 1. क्या जावा का उपयोग कर एक ऑपरेटिंग सिस्टम बनाना संभव है?
- 2. एक बुनियादी ऑपरेटिंग सिस्टम
- 3. क्या पाइथन का उपयोग कर विंडोज़ सेवा लिखना संभव है?
- 4. एक ऑपरेटिंग सिस्टम का विकास
- 5. jQuery - ऑपरेटिंग सिस्टम और ऑपरेटिंग सिस्टम संस्करण का पता लगाने
- 6. क्या पाइथन में एक अक्षर सीमा बनाना संभव है?
- 7. एक गैर-x86 ऑपरेटिंग सिस्टम का विकास
- 8. पाइथन कहने में कितना ऑपरेटिंग सिस्टम लिखा जा सकता है?
- 9. ऑपरेटिंग सिस्टम संस्करण एएसपीनेट
- 10. ऑपरेटिंग सिस्टम संकलन समय
- 11. जावा का उपयोग कर क्रोम एक्सटेंशन बनाना संभव है?
- 12. क्या पाइथन दुभाषिया संस्करण ड्रीमपी का उपयोग करना संभव है?
- 13. सैंडबॉक्सेड ऑपरेटिंग सिस्टम
- 14. डेटाबेस-समर्थित ऑपरेटिंग सिस्टम
- 15. क्या पॉइंटर्स का वेक्टर बनाना संभव है?
- 16. क्या पाइथन matplotlib के साथ लंबवत प्लॉट बनाना संभव है?
- 17. क्या बिट्ससेट का वेक्टर बनाना संभव है?
- 18. क्या पाइथन में अज्ञात वस्तुएं बनाना संभव है?
- 19. क्या एक इंटरैक्टिव सी खोल बनाना संभव है?
- 20. क्या% w [] shorthand का उपयोग कर सरणी में एक शून्य मान बनाना संभव है?
- 21. एक ऑपरेटिंग सिस्टम प्रोग्राम कैसे करें?
- 22. पाइथन 2.5 का उपयोग करके मैं ऑपरेटिंग सिस्टम नाम को दोस्ताना तरीके से कैसे प्राप्त करूं?
- 23. एम्बेडेड ऑपरेटिंग सिस्टम की तुलना?
- 24. क्या कोड परमाणु (सी #) का एक टुकड़ा बनाना संभव है?
- 25. एक ऑपरेटिंग सिस्टम को डिबग करना
- 26. क्या एक एप्लिकेशन मेमोरी रिसाव एक ऑपरेटिंग सिस्टम मेमोरी रिसाव का कारण बनता है?
- 27. क्लाइंट के ऑपरेटिंग सिस्टम का नाम
- 28. माइक्रोसॉफ्ट डेवलपर के लिए सबसे अच्छा ऑपरेटिंग सिस्टम क्या है?
- 29. ऑपरेटिंग सिस्टम अज्ञेय सी पुस्तकालय
- 30. ऑपरेटिंग सिस्टम पर एंड्रॉइड पुस्तकें
आप क्या हासिल करने की उम्मीद कर रहे हैं? – NPE
https: // launchpad।नेट/पिकॉर्न – pyfunc
बिना असेंबली या सी का उपयोग किया जा रहा है _somewhere_ - यहां तक कि पिकॉर्न बूटस्ट्रैप कोड के लिए असेंबली है। इसी प्रकार हैंडलर को बाधित करें। –