2012-08-24 21 views
6

मेरे पास विंडोज़ और लिनक्स में प्रक्रियाओं और धागे को दिए गए समय क्वांटम से संबंधित एक प्रश्न है।प्रति थ्रेड प्रति प्रक्रिया समय मात्रा

मुझे पता है कि सामान्य रूप से ऑपरेटिंग सिस्टम प्रति थ्रेड मात्रा निर्धारित मात्रा निर्धारित करते हैं। (मुझे अग्रभूमि या पृष्ठभूमि धागे के आधार पर समय क्वांटम परिवर्तन पता है। प्रक्रिया की प्राथमिकता के आधार पर भी बदल सकते हैं।)

क्या प्रति प्रक्रिया एक निश्चित समय क्वांटम है? उदाहरण के लिए। यदि ओएस प्रति प्रक्रिया 36 समय क्वांटम देता है और यदि किसी प्रक्रिया में 2 धागे हैं तो प्रत्येक को 18 क्वांटम मिलेगा। यदि धागे की संख्या 3 हो जाती है तो प्रत्येक को 12 मिल जाएगा।

हालांकि, यदि प्रति प्रक्रिया एक निश्चित क्वांटम मौजूद नहीं है और ओएस प्रति थ्रेड फिक्स क्वांटम देता है (पैरेंट प्रक्रिया पर निर्भरता नहीं है) तो मैं कर सकता हूं मेरी प्रक्रिया कई धागे को बढ़ाकर अधिक कुशल है। (मान लीजिए कि मेरे कोड में दो म्यूटेक्स/सेमफोर नहीं हैं।)

मेरे पास एक ऐसा एप्लिकेशन है जो ओएस (विंडोज़ और लिनक्स) दोनों पर चलता है। तो, मैं इसे सामान्य अर्थ में पूछ रहा हूं।

धन्यवाद

+0

इस भयानक शब्द 'क्वांटम' कहाँ से आया? I/O, किसी अन्य धागे या किसी अन्य सिस्टम कॉल पर अवरुद्ध होने से पहले ओएस टाइमर शेड्यूलिंग अंतराल के पास आने वाले किसी भी चीज़ के 99.99% सभी धागे कभी नहीं चलते हैं। मैंने सोचा कि 'क्वांटा' को अविभाज्य माना जाता था? बेवकूफ शब्द जो भ्रामक इंप्रेशन देता है! –

+0

आप इसे जांचना चाहेंगे: http://support.microsoft.com/kb/259025 –

+0

स्मिथ - एम $, मुझे अनुमान लगाया जाना चाहिए ... –

उत्तर

1

एक शेड्यूलिंग परिप्रेक्ष्य थ्रेड्स और प्रक्रियाओं से linux पर बराबर हैं। तो यदि एक प्रक्रिया दो धागे पैदा करती है, तो प्रत्येक को 36 क्वांटम मिलना चाहिए। हालांकि मैं पुष्टि करने के लिए मुझसे अधिक विश्वसनीयता वाले किसी से यह सुनना चाहता हूं।

+1

विंडोज़ भी। शेड्यूलर धागे से संबंधित है, न कि प्रक्रियाओं। –

+0

@ हैरी: उस स्थिति में, एक प्रक्रिया कई धागे होने से अधिक समय चुरा सकती है। क्या यह कथन सही है? –

+0

हां, हालांकि इसे "चोरी" कहकर थोड़ा अजीब लगता है। :-) –

1

काफी एक दिलचस्प सवाल :)

मैं वास्तव में सटीक विवरण की जरूरत नहीं है, लेकिन लिंक से आप देख सकते हैं नीचे आधुनिक ओएस धागा शेड्यूलिंग के एक अनुमान आधारित पद्धति है।

http://technet.microsoft.com/en-us/magazine/2007.02.vistakernel.aspx

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