2010-01-01 5 views
26

मुझे पता है कि विंडोज़-एक्सपी जैसे ऑपरेटिंग को सी भाषा में लिखा जाना संभव है जैसे कि मैं जावा में लिख सकता हूं ताकि मेरे पास सीक्या जावा का उपयोग कर एक ऑपरेटिंग सिस्टम बनाना संभव है?

+4

पहले से ही ऐसे ओएस मौजूद हैं! इसे जांचें => http://sourceforge.net/projects/jos/ – missingfaktor

+7

जोओएस कहीं भी नहीं मिला ... http://www.jnode.org एक बेहतर उदाहरण है। –

+0

यहां तक ​​कि कम से कम शोध का पता चलता है कि कोई भी पहले से ही बनाया जा चुका है। – Raedwald

उत्तर

36

सिद्धांत में हाँ, लेकिन आप जावा वीएम बूटस्ट्रैप करने के लिए अभी भी कुछ निम्न-स्तरीय असेंबली कोड होना होगा जो मशीन पर चलेंगे, और हार्डवेयर ड्राइवरों तक पहुंचने के लिए निम्न-स्तरीय कोड भी होगा।

wikipedia से:

यह देखते हुए कि सन माइक्रोसिस्टम्स जावा आज सबसे प्रमुख वस्तु उन्मुख भाषाओं में से एक है, यह कोई आश्चर्य नहीं है कि जावा आधारित ऑपरेटिंग सिस्टम का प्रयास किया गया है। इस क्षेत्र में, आदर्श रूप से, कर्नेल में JVM का समर्थन करने के लिए न्यूनतम न्यूनतम शामिल होगा। यह एक ऑपरेटिंग सिस्टम का एकमात्र घटक है जिसे जावा के अलावा भाषा में लिखा जाना होगा। पर बनाया गया है कि JVM और मूल हार्डवेयर समर्थन, जावा में ऑपरेटिंग सिस्टम के बाकी लिखना संभव होगा; यहां तक ​​कि सिस्टम के कुछ हिस्सों जो अधिक परंपरागत रूप से निम्न-स्तर भाषा जैसे सी में लिखे गए हैं, उदाहरण के लिए डिवाइस ड्राइवर, जावा में लिखे जा सकते हैं।

ऐसे ऑपरेटिंग सिस्टम पर प्रयासों के उदाहरणों में जेएक्स, जेएनओडी और जावाओएस शामिल हैं।

+0

हार्डवेयर ड्राइवरों को भी जावा में लिखा जाना चाहिए। –

3

यह आपके द्वारा "विशेषताओं" पर विचार करने पर निर्भर करता है। यदि आपका मतलब ग्राफिकल इंटरफ़ेस, फैंसी विंडो इफेक्ट इत्यादि है, तो हाँ, हालांकि आपको सबसे कम बिट्स के लिए असेंबली भाषा या सी की आवश्यकता होगी (यानी, I/O बंदरगाहों के साथ इंटरफेसिंग आदि)। यदि आप विंडोज एबीआई को एक फीचर के रूप में भी शामिल करते हैं तो पास्कल कॉलिंग सम्मेलनों का पालन करने के बाद यह कठिन हो जाता है।

+3

विंडोज एपीआई एक ऑपरेटिंग सिस्टम का एक आवश्यक हिस्सा नहीं हैं। –

5

सिद्धांत रूप में, हाँ। लेकिन आपको किसी भी तरह से जावा वीएम को निम्न-स्तरीय कोड का उपयोग करके चलाना होगा (जब तक कि आप जावा को असेंबली में संकलित नहीं करना चाहते हैं, जो कि जावा की कई विशेषताओं को बलि किए बिना संभव नहीं है)।

+0

एली ने मुझे लगभग उसी जवाब में हराया ... –

+0

जैक्स आरवीएम (पूर्व में आईबीएम जलापेनो) और सन लैब मैक्सिन स्वयं-होस्टिंग जेवीएम के दो उदाहरण हैं। पूर्व में लगभग 1000 लाइनें सी हैं। जावा आमतौर पर मशीन कोड पर संकलित होती है। –

+0

@ टॉमहॉविन-टाइललाइन, क्या मैक्सिन ने इसे आम जनता के लिए बनाया? –

10
+2

यहां एक और है। http://sourceforge.net/projects/jos/। लेकिन मैं दूसरी बार एली बेंडरस्की और रॉन गीजमैन क्या कहता हूं। –

+0

क्या मैं इसे वीएमवेयर पर स्थापित कर सकता हूं? –

3

आपरेशन सिस्टम (ड्राइवरों की तरह) हार्डवेयर के करीब हैं। मेरे विचार में यह जावा का क्षेत्र नहीं है (समस्या डोमेन ऑपरेटिंग सिस्टम का गलत समाधान)।

5

सिद्धांत रूप में, आप वास्तव में जावा में पूरे ओएस को Java processor के साथ लिख सकते हैं। असल में यह प्रोसेसर

3

के लिए निर्देश सेट के रूप में जावा बाइटकोड का उपयोग करता है जैसा कि ऊपर वर्णित अन्य लोगों के रूप में, यह पहले से ही प्रयास कर रहा है। जेनोड एकमात्र ऐसा व्यक्ति है जिसने समय की परीक्षा को रोक दिया है और सक्रिय रूप से काम किया जा रहा है, हालांकि उन्होंने वर्षों में एक नया निर्माण जारी नहीं किया है। लेकिन यदि आप उनकी गिट को देखते हैं, तो वे इसे लिखने के बाद एक आसन्न रिलीज पर काम कर रहे हैं। मैं जावा का प्रशंसक हूं और रिलीज के लिए तत्पर हूं। जो लोग इस विचार पर जावा क्रिंग जैसे वर्बोज़ अनिवार्य भाषाओं से नफरत करते हैं लेकिन यह सभी के लिए नहीं है।

दिलचस्प भी हार्डवेयर में जावा बाइट कोड को लागू करने का विचार है। मुझे नहीं लगता कि जावा की ताकत के रूप में कहीं भी जाना होगा कि आपको हार्डवेयर के बारे में ज्यादा चिंता करने की आवश्यकता नहीं है। आपको जावा में ओएस प्राप्त करने की आवश्यकता है और इसे किसी भी जेवीएम पर चलाया जा सकता है।

मुझे लगता है कि ओएस डोमेन में जावा की वास्तविक शक्ति वर्चुअलाइजेशन है। मैं वर्चुअल ओएस रखने के बेहतर तरीके के बारे में नहीं सोच सकता क्योंकि जावा हर जगह है।

जैसा कि ऊपर पोस्ट किए गए अन्य पोस्टर के रूप में, जावा जावा कार्यान्वयन के बिना इसे पूरी तरह से जावा में लागू नहीं किया जा सकता है। जेनोड पूरी तरह से असेंबली और जावा में लिखा है। लेकिन फिर सभी आधुनिक ऑपरेटिंग सिस्टम कुछ असेंबली भाषा का उपयोग करते हैं।

संबंधित मुद्दे