में मैं हैरान कोई भी जावा हार्डवेयर उल्लेख किया गया है। एक उच्च स्तरीय प्रोसेसर बनाकर हार्डवेयर के विकास को आगे बढ़ाने के लिए यह एक प्रेरणा होनी चाहिए।
एक और प्रोजेक्ट है जिसे मैंने अभी "Pycorn" कहा है।
यदि कोई पायथन बाइटकोड प्रोसेसर था, तो 100% पायथन में तेज़ ऑपरेटिंग सिस्टम बनाने के लिए यह संभव होगा। प्रोसेसर पूरे सीपीथॉन बाइटकोड, या पाइथन भाषा के साथ संगत कुछ भी लागू कर सकता है (लेकिन सी मॉड्यूल नहीं!)। प्रोसेसर को संदर्भ गिनती, कक्षाएं और वस्तुओं को संभालना होगा। डिकट्स के लिए मूल हैशिंग बहुत उपयोगी होगी, सभी जटिल डेटा स्ट्रक्चर मैनिप्लेशंस जो पाइथन को वर्तमान में सॉफ़्टवेयर में चाहिए, पूरी तरह से हार्डवेयर में किया जाना चाहिए। पॉइंटर्स की कोई अवधारणा नहीं होगी, जिसे मैं ऐसे प्रोसेसर के निर्माण के लिए एक प्रमुख प्रेरणा के रूप में देखता हूं, क्योंकि स्टैक को तोड़ना असंभव होगा।
सब कुछ ऑब्जेक्ट्स होगा! कर्नेल स्वयं मेमोरी ऑब्जेक्ट पर विधियों को कॉल करेगा, हालांकि हार्डवेयर को आवंटन और कचरा संग्रहण को संभालने के बाद भी आपको इसे अधिक स्पर्श करने की आवश्यकता नहीं होगी। हस्तक्षेप हैंडलर को आसानी से पाइथन विधियों पर सेट किया जा सकता है। एमएसआर, कैश, डीबग रजिस्टर्स, और आई/ओ बंदरगाह वस्तुएं हैं।
एक पीपीजीए here पर पायथन को लागू करने के बारे में एक दिलचस्प चर्चा है।
लोगों को यह दावा करने के लिए कि आप इनलाइन असेंबली पायथनिक नहीं बना सकते हैं, एक अन्य नोट पर (एक पायथन ओ/एस को एक पायथन प्रोसेसर पर प्राप्त करने के लिए), यह एक सरलता से असेंबली उत्सर्जित करना बहुत आसान है, पूर्व:
asm = MetaASM()
asm.r1 = 1234
asm.r2 = r1 + 5
asm.io.out(r1)
आप प्रदर्शन की जरूरत है या वास्तुकला विशिष्ट कार्यों/रजिस्टरों के लिए वास्तुकला विशिष्ट विधानसभा के लिए स्विच कर सकता है जब आवश्यक:
asm = ASM("IA-32")
asm.xor(asm.eax, asm.eax)
asm.cr0 = asm.eax
asm.invtlb
asm.fs.0x0= asm.eax
asm.al = 123
asm.dword.ptr.eax = 1234 # mov dword ptr [eax], 1234
asm.push(asm.eax)
CorePy इस विषय पर ब्याज की बात आती है।
आपके द्वारा उल्लिखित फ़ायरवॉल डिवाइस ओएस मोनोवल (http://m0n0.ch/wall/) है जिसमें से pfSense एक वंशज होता है। – SingleNegationElimination
रचनात्मक क्यों नहीं? प्रश्न अच्छी तरह से परिभाषित है और निश्चित रूप से उत्तर दिया जा सकता है। –
@Mechanicalsnail मैंने इसे फिर से खोलने के लिए एक कस्टम मॉडरेटर ध्वज उठाया। – cybermonkey