2012-02-29 15 views
5

process control block (PCB) और थ्रेड कंट्रोल ब्लॉक (टीसीबी) दोनों लिनक्स कर्नेल में इस्तेमाल किए गए सीपीयू पर समय देने के लिए क्या अंतर है। दोनों के बीच क्या अंतर है?अंतर बी/डब्ल्यू टीसीबी (थ्रेड कंट्रोल ब्लॉक) और पीसीबी (प्रोसेस)

प्रक्रिया नियंत्रण ब्लॉक (पीसीबी) में आम तौर पर कौन सी जानकारी बनाए रखी जाती है?

+1

ऐसा लगता है कि यह उत्तर ओएस संस्करण पर निर्भर करता है। सवाल को संपादित करने और अधिक विशिष्ट पाने के लिए लिनक्स उत्तर मांगने की देखभाल करें? – Gray

+0

मैंने उपरोक्त परिवर्तन किया है। धन्यवाद! –

+0

वास्तविक परिभाषाओं को क्यों न देखें? यह सभी खुले स्रोत हैं, और बहुत से लोग लिनक्स कर्नेल पर हैक करते हैं, इसलिए इसे अंदर लेना और समझना बहुत आसान होना चाहिए। – Novelocrat

उत्तर

8

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

टीसीबी में कुछ ही फ़ील्ड हैं जैसे पीसीबी (रजिस्टर मान, स्टैक पॉइंटर, प्रोग्राम काउंटर, शेड्यूलिंग स्टेट), थ्रेड आईडी जैसे कुछ विशिष्ट मानों और उस थ्रेड वाले प्रक्रिया में पॉइंटर के अलावा । ध्यान दें कि धागे के बीच सुरक्षा नहीं है।

लिनक्स में एक संरचना कार्य_स्ट्रक्चर है जो थ्रेड या प्रक्रिया के बारे में जानकारी संग्रहीत करता है। इसे sched.h में घोषित किया गया है।

2

पीसीबी कर्नेल प्रक्रिया के बारे में जानकारी संग्रहीत करता है। एड्रेस स्पेस आदि की तरह ...

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

टीसीबी में थ्रेड विशिष्ट जानकारी शामिल है।

1

'ए प्रोसेस कंट्रोल ब्लॉक (पीसीबी) और थ्रेड कंट्रोल ब्लॉक (टीसीबी) दोनों कर्नेल में इस्तेमाल किए गए सीपीयू पर समय रखने के लिए उपयोग किए जाते हैं' - आमतौर पर नहीं, नहीं। एक पीसीबी में एक या अधिक टीसीबी से जुड़ा होगा। टीसीबी एक निष्पादन संदर्भ का वर्णन करता है, (उदाहरण के लिए स्टैक पॉइंटर), पीसीबी एक पर्यावरण संदर्भ, (उदाहरण के लिए मेमोरी सेगमेंट और अनुमतियां)।

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