2010-03-09 13 views
8

मैं जानना चाहता हूं कि पुरानी लिनक्स शेड्यूलिंग एल्गोरिदम एसजेएफ (सबसे छोटी नौकरी पहले) प्रक्रिया रनटाइम की गणना कैसे करती है?लिनक्स कर्नेल शेड्यूलिंग

+0

पर्याप्त प्रश्न पूछें, लेकिन क्या आप वाकई लिनक्स ने एसजेएफ शेड्यूलर का उपयोग किया है? – zdav

+1

@zdav: मुझे यकीन है कि लिनक्स 2.0 के शुरुआती संस्करणों में एक प्रयोगात्मक एसजेएफ शेड्यूलर था, जो बहुत कम रहता था। यह लगभग 1 99 6/1 99 7 या उसके आसपास रेडहाट 4 पर वापस जायेगा। आईआईआरसी, केवल वे लोग जो जीएनयू के साथ लिनक्स को लुढ़काते हैं, वास्तव में इसका परीक्षण कर रहे थे, आरएच इसके साथ नहीं गए थे। आईसीबीडब्ल्यू, यह बहुत समय पहले था। –

उत्तर

5

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

सामान्य परिस्थितियों में आप केवल प्रक्रिया के चल रहे समय की अनुमानित और गलत लंबाई प्राप्त कर सकते हैं, उदाहरण के लिए, उसी प्रक्रिया के पिछले सीपीयू विस्फोटों की लंबाई रिकॉर्ड करके, और गणना करने के लिए गणितीय अनुमानित विधियों का उपयोग करें कि यह अगली बार कितनी देर तक चलेंगे ।

1

यदि आपके पास जलने के लिए कुछ बैंडविड्थ है, तो वास्तविक कोड here प्राप्त करने में सक्षम हो सकता है। 2.0 से शुरू करें, जहां मुझे लगता है कि आप इसे प्रयोगात्मक के रूप में पाएंगे।

एसजेएफ (आईआईआरसी) अत्यंत सटीक reasons that ZelluX noted के लिए बहुत कम रहता था।

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

संपादित करें:

मैं अब पूरी तरह से यकीन है कि अगर यह कभी मुख्य लाइन में चली गई नहीं हूँ। यदि आप इसे नहीं ढूंढ पा रहे हैं, तो मुझे दोष न दें :)

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