मैं ubuntu प्रशंसक द्वारा लिंक किए गए ब्लॉगपोस्ट का लेखक हूं: http://sevencaplysins.wordpress.com/2007/08/10/low-latency-kernel-wtf/
वह ब्लॉग पोस्ट किसी भी तथ्य को प्रस्तुत नहीं करता है, यह केवल सिद्धांत है । यह वास्तव में काम करने का तरीका है: प्रोसेसर "रुक जाता है" अधिक बार यह देखने के लिए कि क्या कुछ प्रक्रियाओं पर तत्काल ध्यान देने की आवश्यकता है। इसका मतलब है कि उन प्रक्रियाओं को दूसरों के सामने निष्पादित किया जाएगा, इसलिए एन्कोडिंग करते समय आप फ़्रेम को छोड़ नहीं पाएंगे, या माउस क्लिक और दुश्मन की मौत के बीच बहुत देरी हो सकती है। इसका मतलब यह नहीं है कि सभी प्रक्रियाएं जल्द ही समाप्त हो जाएंगी: वास्तव में सीपीयू अपने समय के एक बड़े हिस्से को यह तय करने में खो रहा है कि आगे क्या प्रक्रिया निष्पादित की जाएगी, और संदर्भ स्विच कर रहा है। इसलिए कुल निष्पादन का समय लंबा है, और इसीलिए कोई भी वेबसर्वर या डेटाबेस मशीनों पर एक प्रीमेच्योर कर्नेल नहीं चलाता है। लेकिन गेमर्स के लिए एक प्रीमेचेबल 300 हर्ट्ज (या यहां तक कि 1000 हर्ट्ज) कर्नेल सबसे अच्छा है।
लेकिन आजकल प्रोसेसर में कई कोर होते हैं, इसलिए जब कुछ प्रक्रियाओं पर ध्यान देने की आवश्यकता होती है, तो इसे लेने के लिए कोर की प्रतीक्षा करने के बजाय उन्हें आसानी से एक अलग कोर पर आवंटित किया जा सकता है।
(stackexchange को मेरे संदर्भ / व्यक्तिगत अनुभव की आवश्यकता है: मैं एक इलेक्ट्रॉनिक इंजीनियर हूँ, http://www.thzoo.it पर कई गेमवियर्स पर रक्तपात करने वाला noobgamer है )।
इसलिए, अंगूठे के एक नियम के रूप में, मैं कहूंगा: यदि आपका प्रोसेसर एक शक्तिशाली संख्या-क्रंचिंग उच्च-आवृत्ति क्वाड-कोर है और आप आमतौर पर एन्कोडिंग / डिकोडिंग / गेमिंग (हुह) के दौरान टन नहीं खोलते हैं, तो आप कर सकते हैं बस जेनेरिक (या i686, या amd64 का प्रयास करें यदि वे मौजूद हैं) कर्नेल और उच्चतम संभव थ्रूपुट (यानी, कच्चे नंबर-क्रंचिंग प्रोसेसर करने में सक्षम है)। यदि आप समस्याओं का अनुभव करते हैं (उन्हें वास्तव में मामूली होना चाहिए) या आपकी मशीन बाजार के शीर्ष की तुलना में थोड़ी कम शक्तिशाली है, तो इसके लिए जाएं।
यदि आप एक निम्न-अंत मशीन पर हैं जिसमें केवल एक या दो कोर हैं, तो -llatency का प्रयास करें। आप -आर्टटाइम भी कोशिश कर सकते हैं, लेकिन आप पाएंगे कि यह तब तक प्रक्रियाओं को अवरुद्ध करता है जब तक कि "वास्तविक समय" वाले अपना काम खत्म नहीं कर लेते। मेरा मानना है कि रियल टाइम कर्नेल "वेनिला" नहीं है, लेकिन CONFIG_PREEMPT_RT पैच लागू है। मुझे लगता है कि realtime गुठली केवल उन लोगों के लिए है जिन्हें एम्बेडेड सिस्टम पर एक ही एप्लिकेशन का निर्माण करना है, इसलिए सामान्य डेस्कटॉप उपयोगकर्ताओं को वास्तविक लाभ नहीं होना चाहिए क्योंकि वे आमतौर पर एक ही समय में उचित संख्या में एप्लिकेशन चलाते हैं।
अंत में, यदि आप अपने कर्नेल को कम विलंबता डेस्कटॉप के लिए फिर से जोड़ना चाहते हैं, तो सबसे अधिक प्रासंगिक कर्नेल विकल्प हैं:
PREEMPT=y
तथा:
CONFIG_1000_HZ=y
कुछ शक्तियाँ जोड़ने के लिए आप इसे जाँच सकते हैं:
CONFIG_NO_HZ=y
-realtime
रीयलटाइम है, तो क्या है-rt
? और-preempt
कर्नेल के साथ क्या हो रहा है ? मैं gemue2010 को धन्यवाद दूंगा, उन्होंने इसे समझाने के लिए बहुत अच्छा काम किया, लेकिन यह अभी भी सब कुछ नहीं समझाता है।