2011-09-05 6 views
10

क्या लिनक्स कर्नेल के लिए एंड्रॉइड कर्नेल में आरटी-पैच लागू करना संभव है?एंड्रॉइड के लिए लिनक्स आरटी-पैच?

क्यों? यह पूरी तरह से एक शोध परियोजना है। क्या मेरे पास मेरी कार पर एक डैशबोर्ड हो सकता है जो एंड्रॉइड चलाता है फिर भी कार में सुरक्षा महत्वपूर्ण कार्यों को नियंत्रित कर रहा है? एंड्रॉइड स्वयं एससी कार्यों के लिए उपयोग करता है लेकिन अगर मैंने इसे एक हाइपरवाइजर पर रखा है तो मुझे यकीन है कि यह किया जा सकता है।

+0

किया? – student1

उत्तर

0

मैं अंत में अपने आप को विरासत ले लिया है और एक हाइपर-छज्जा आधारित दृष्टिकोण के साथ आ ताकि एंड्रॉयड कठिन वास्तविक समय प्रसंस्करण समर्थन कर सकते हैं। आप इसे काम करना आरंभ कर

+0

क्या आप एंड्रॉइड कर्नेल को पैच करने में सफल रहे हैं? यूएसबी से डेटा प्राप्त करने के दौरान मैं वही व्यवहार (वास्तविक समय) रखना चाहता हूं। मै आपकी मदद की सरहना करता हूँ। – syntagma

4

बहुत महत्वपूर्ण लिंक

वास्तविक समय एंड्रॉयड पर चल रहे शोध।

http://code.google.com/edu/submissions/ncsu-rts/


नीचे ब्लॉग चर्चा पढ़ने लायक है,

http://groups.google.com/group/android-kernel/browse_thread/thread/fbf7f94d80f5eb2c/4e9f6f4d22a40b36?pli=1

यह किसी भी Linux सिस्टम में वास्तविक समय समर्थन से अलग नहीं है, है आप असली में देखा लिनक्स कर्नेल के लिए टाइम पैचसेट? यह किसी भी समस्या के साथ एंड्रॉइड कर्नेल पर लागू होना चाहिए।

यह कहता है, आप एंड्रॉइड में लिनक्स का सफलतापूर्वक आरटी-पैच कर सकते हैं।

Btw, वास्तविक समय वास्तुकला की परिभाषा है,

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

से रेफरी से ऊपर: http: //www.ibm.com/developerworks/linux/library/l-real-time-linux/

तो, मूल रूप से क्यों इस ब्रह्मांड में आप आरटी लागू करना चाहते हैं एंड्रॉइड कर्नेल को पैच करें?


** सिर्फ पाया * *

इस लेख की खोज के लायक है, आप अपने अनुसंधान परियोजना के लिए पालन करने के लिए एक लिंक मिल सकता है।

http://users.ece.gatech.edu/~vkm/Android_Real_Time.pdf

+0

मैंने उस धागे को अब तक एक सौ बार पढ़ा है। –

+0

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

+1

मेरे नए जोड़े गए लिंक की जांच करें – doNotCheckMyBlog

3

मैं कर्नेल स्तर तक नीचे विवरण के बारे में नहीं जानता, लेकिन मुझे लगता है कि आप एक आर टी Android संस्करण बनाना चाहते हैं।

उस इच्छा के बारे में मुझे लगता है कि आरटी पैच को लागू करने से आपको एंड्रॉइड के वास्तविक समय संस्करण में कोई मतलब नहीं मिलेगा।

खासकर वर्चुअल मशीन के साथ कचरा संग्रहण विरामों और इसमें वास्तविक वास्तविक समय व्यवहार को रोकने में बहुत जटिलता शामिल है।

उदा। JVM के लिए वास्तविक समय विनिर्देश देखें। शुरुआती जमा से वास्तविक कार्य कार्यान्वयन में प्राप्त होने में 8 साल लग गए।

http://www.jcp.org/en/jsr/detail?id=1

तो समग्र .. यह हो सकता है और शायद आर टी पैच लागू करने के लिए संभव है, लेकिन परिणाम आप शायद के बाद क्या कर रहे हैं काम नहीं चलेगा।

+0

पर जा रहे शोध पर बस जोड़ा गया लिंक मैं वास्तव में वर्चुअल मशीन से आरटी प्रदर्शन की अपेक्षा नहीं करता हूं। मैं सिर्फ सेक्सी एंड्रॉइड और एक कठिन वास्तविक समय के बीच अपनी कड़ी मेहनत साझा करना चाहता हूं। –

+0

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

+0

हाँ आप मुझे सही मिला है। एंड्रॉइड ऐप वास्तविक समय के काम को संभाल नहीं पाएंगे, कर्नेल मॉड्यूल होगा। –

2

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

आपको पूर्ण API समर्थन के साथ रीयल-टाइम एंड्रॉइड एप्लिकेशन नहीं मिलेंगे। हालांकि, आपको सी में रीयल-टाइम देशी एप्लिकेशन लिखने में सक्षम होना चाहिए। मूल गतिविधियों को लिखने के लिए documentation देखें। आपको बस इतना सावधान रहना होगा कि आप जावा में कोई एपीआई कॉल नहीं करते हैं (स्टार्टर्स के लिए कचरा संग्रह की संभावना के कारण) - और संभवतः यहां तक ​​कि कई लिनक्स सिस्टम कॉल - उन थ्रेडों से जिन्हें आप व्यवहार करना चाहते हैं एक वास्तविक समय तरीका। तो किसी भी वास्तविक वास्तविक समय प्रणाली की तरह, अधिकांश काम आपके ऊपर होगा।

जब भी kernel.org ऑनलाइन वापस आ जाता है, तो RT wiki पर एक नज़र डालें।

3

यदि मैं प्रश्न समझता हूं। आपके पास एक बहुत ही महत्वपूर्ण प्रणाली है (जैसे कार की ब्रेकिंग एड्स सिस्टम इत्यादि ..), और आप एंड्रॉइड (डैशबोर्ड) में बनाए गए निफ्टी गुई के माध्यम से इसे नियंत्रित/ट्रैक करना चाहते हैं?

मुझे लगता है कि आपको हमेशा गुई से महत्वपूर्ण प्रणाली को विभाजित करना चाहिए। यह हार्डवेयर स्तर पर भी है। तो आप जो कुछ भी आप जीयूआई में नहीं कर सकते हैं, लेकिन महत्वपूर्ण प्रणाली कभी प्रभावित नहीं होगी (एक फैंसी ग्राफ के लिए भारी सीपीयू भार, आदि ..) क्योंकि यह अपने हार्डवेयर पर चल रहा है।

तो आपके पास एक प्रणाली होगी: कार आंतरिक कंप्यूटर (जैसा कि वे आज मौजूद हैं), और एक पूरी तरह से अन्य प्रणाली: एंड्रॉइड आधारित निफ्टी जीयूआई।

उन 2 चीजों के बीच संचार जितना संभव हो उतना सरल होना चाहिए, आंतरिक कंप्यूटर के साथ संवाद करने के लिए पहले से ही बहुत सारे मानक हैं, वे ज्यादातर ब्रांड-निर्भर हैं (उदाहरण: वीएजी कॉम)।

1

आप दो पैच (आरटी कर्नेल और एंड्रॉइड कर्नेल संशोधनों) को लागू कर सकते हैं लेकिन दोनों को एकीकृत करने के स्पष्ट कड़ी मेहनत के अलावा मुझे संदेह है कि आपके पास कम से कम एक वैचारिक समस्या होगी - एंड्रॉइड ताले की एक प्रणाली का उपयोग करता है, जिसे "जाग लॉक ", यह नियंत्रित करने के लिए कि किस प्रणाली पर यह चल रहा है और किस स्तर पर चल रहा है, वह पावर सेविंग मोड पर जा सकता है।

समस्या यह है कि गहरी पावर सेविंग मोड मुश्किल वास्तविक समय के साथ संगत नहीं है जिसके लिए पूर्वानुमान की आवश्यकता होती है।

बेशक आप एंड्रॉइड पैच को संशोधित कर सकते हैं और वेक लॉक तंत्र के "डमी" कार्यान्वयन प्रदान कर सकते हैं, खासकर जब एक कार में आपके पास बड़ी बैटरी होती है तो आपका औसत टैबलेट या स्मार्ट फोन होता है, लेकिन यह ऐसा कुछ है जो आप करेंगे पता करने की जरूरत है।

अन्यथा, यह सभी कोड एकीकरण और परीक्षण कार्य है जो मुझे विश्वास है।

गुड लक

2

अपने लक्ष्य को सही मायने में बूट करने के लिए आर टी पैच के साथ एक Android गिरी ही है, तो यह करता है, तो गिरी चल डिवाइस की वास्तुकला आरटी पैच द्वारा समर्थित है की संभावना तुच्छ है। उदाहरण के लिए, x86 अच्छी तरह से समर्थित है, और मेरा मानना ​​है कि एआरएम भी है।

मैं "तुच्छ" एक ढीला अर्थ में इस्तेमाल करते हैं; आर टी पैच जैसे कि Android गिरी, लेकिन चीजों को इस तरह के रूप संगामिति नियंत्रण सबसे बड़ी चुनौतियों में से कुछ हो सकता है में वास्तु और निचले स्तर एकीकरण के रूप में कस्टम के साथ एक मनमाना गिरी (जैसे गैर-मुख्य लाइन) में परिवर्तन करने के लिए सफाई से लागू नहीं हो सकता। आरटी पैच आम तौर पर मनमाने ढंग से ड्राइवरों के साथ काम करने के लिए डिज़ाइन किया गया है, उदाहरण के लिए - लेकिन अन्य समस्याएं मौजूद हो सकती हैं: आरटी पैच कई उपप्रणाली को छूता है। प्लस तरफ, आर टी पैच की एक महत्वपूर्ण राशि वास्तव में यह नदी के ऊपर गिरी है, जो काँटेदार संस्करण एंड्रॉयड कर्नेल पर आधारित है पर निर्भर करता है को सरल बनाता है में बना दिया है।

यह मानते हुए कि वास्तुकला आरटी पैच द्वारा समर्थित है, इसे सफलतापूर्वक हल किया संघर्ष, और जूते के साथ एक Android गिरी लिए आवेदन किया है, आपका काम अभी पूरा नहीं अब भी है। जेवीएम के शीर्ष पर चलने वाले यूआई जैसे किसी उपयोगकर्ता स्थान अनुप्रयोगों को समय की बाधाओं, आदि के बारे में अवगत कराया जाना चाहिए ...

आरटी पैच के साथ अनुप्रयोग बनाने के बारे में अधिक जानकारी के लिए, आप आरटी के लिए इस विकी से परामर्श कर सकते हैं पैच: http://rt.wiki.kernel.org/ (ध्यान दें कि इस kernel.org लिखने के समय हाल ही में सुरक्षा उल्लंघन के कारण नीचे है)।

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