मैं समझता हूं कि एक मल्टी-कोर प्रोसेसर एक ही प्रक्रिया के कई थ्रेड्स को एक ही समय में अपने अलग-अलग कोर का उपयोग करके चला सकता है।
क्या यह एक ही समय में कई प्रक्रियाएं चला सकता है (प्रत्येक कोर एक अलग प्रक्रिया चला रहा है)?
मैं समझता हूं कि एक मल्टी-कोर प्रोसेसर एक ही प्रक्रिया के कई थ्रेड्स को एक ही समय में अपने अलग-अलग कोर का उपयोग करके चला सकता है।
क्या यह एक ही समय में कई प्रक्रियाएं चला सकता है (प्रत्येक कोर एक अलग प्रक्रिया चला रहा है)?
जवाबों:
जहां तक ऑपरेटिंग सिस्टम और एप्लिकेशन का संबंध है प्रत्येक कोर एक अलग प्रोसेसर है और कई प्रोसेसर होने के समान समानता नियमों के अधीन है ।
कौन सा प्रोसेसर (यह वास्तविक, कोर या हाइपरथ्रेडेड हो) एक प्रक्रिया चलती है जो पूरी तरह से ऑपरेटिंग सिस्टम के शेड्यूलिंग सिस्टम पर निर्भर करती है। यह यह समय-निर्धारण प्रणाली ( आत्मीयता सेटिंग्स से प्रभावित ) है जो यह तय करती है कि एक प्रक्रिया कहां और कब चलनी चाहिए। प्रोसेसर्स और थ्रेड्स प्रोसेसर और कोर के बीच स्विच कर सकते हैं, जैसा कि शेड्यूलर फिट देखता है।
ऑपरेटिंग सिस्टम के अपने सीमित ज्ञान से मेरा मानना है कि प्रत्येक प्रक्रिया में कम से कम एक धागा होता है, और यह इन थ्रेड्स हैं जो अनुसूचित हो जाते हैं, न कि स्वयं प्रक्रियाएं। प्रक्रिया बस कार्यक्रम और चलने वाले सेट के बारे में जानकारी रखती है। इस तरह सिंगल थ्रेडेड एप्लिकेशन को मल्टीथ्रेडेड एप्लिकेशन के समान उपचार मिलता है, लेकिन मल्टीथ्रेडेड एप्लिकेशन संसाधनों का बेहतर उपयोग कर सकता है।
उदाहरण के लिए मान लें कि हमारे पास दो थ्रेड्स के साथ दो प्रक्रियाएं हैं और एक एकल थ्रेडेड एप्लिकेशन है, सभी दोहरे कोर प्रोसेसर (या डुअल सीपीयू) पर कड़ी मेहनत कर रहे हैं, यहां कोई फर्क नहीं पड़ता)
Process A
|_Thread A-1
|_Thread A-2
Process B
|_Thread B-1
|_Thread B-2
Process C
|_Thread C
प्रत्येक थ्रेड सीपीयू के सभी कोर के पार जाने योग्य है और ओएस अनुसूचक द्वारा लोड को संतुलित किया जाता है।
अगर हम तब जाकर प्रोसेस बी के लिए प्रोसेसर एफिनिटी को एक सीपीयू तक सीमित करते हैं तो उस प्रक्रिया के सभी धागे उस सीपीयू के साथ ही बंधे रहते हैं और किसी अन्य सीपीयू पर नहीं चलेंगे। प्रोसेस सी के समान करने से कोई वास्तविक परिवर्तन नहीं होगा क्योंकि यह केवल एक समय में एक सीपीयू पर चल सकता है।
संक्षिप्त जवाब:
प्रक्रियाओं और थ्रेड्स (बहु-थ्रेडिंग में) ओएस स्तर के निर्माण हैं। एक बार जब आप शेड्यूलिंग में निम्न स्तर प्राप्त करते हैं तो ये गायब हो जाते हैं और निष्पादन समय प्राप्त करने के लिए आपके पास निष्पादन कतार का एक गुच्छा होता है।