2013-03-28 18 views
6

मैं सिल्बर्सचैट्स, गैल्विन और गैगने द्वारा Operating System Concepts से ऑपरेटिंग सिस्टम का अध्ययन कर रहा हूं।क्या पीटरसन का समाधान आधुनिक सीपीयू आर्किटेक्चर पर सही ढंग से काम करेगा?

पेज 229 पर, पुस्तक राज्यों को इस बारे में Petersons Solution:

जिस तरह से आधुनिक कंप्यूटर आर्किटेक्चर ऐसे लोड और दुकान के रूप में बुनियादी मशीन भाषा निर्देश, प्रदर्शन की

, इसकी कोई गारंटी नहीं है कि पीटरसन के समाधान होगा ऐसे आर्किटेक्चर पर सही ढंग से काम करें।

मैं इस Wikipedia पर देखा और यह जो एक विवरण के सबसे करीब हो गया लगता है पाया:

अधिकांश आधुनिक CPUs को पुन: व्यवस्थित स्मृति निष्पादन दक्षता में सुधार करने तक पहुँचता है। ऐसे प्रोसेसर हमेशा मेमोरी एक्सेस की धारा में ऑर्डर करने के लिए कुछ रास्ता देते हैं, आमतौर पर मेमोरी बाrier निर्देश के माध्यम से। प्रोसेसर पर पीटरसन और संबंधित एल्गोरिदम का कार्यान्वयन जो मेमोरी एक्सेस को पुन: व्यवस्थित करता है, आमतौर पर अनुक्रमिक संचालन को गलत क्रम में होने से रोकने के लिए सही ढंग से काम करने के लिए ऐसे परिचालनों का उपयोग करने की आवश्यकता होती है। ध्यान दें कि मेमोरी एक्सेस की पुनरावृत्ति उन प्रोसेसर पर भी हो सकती है जो निर्देशों को पुन: व्यवस्थित नहीं करते हैं

मुझे यह समझने में परेशानी हो रही है कि इसका क्या अर्थ है या यदि यह भी जवाब है।

तो, पीटरसन के समाधान आधुनिक वास्तुकला पर काम करने की गारंटी क्यों नहीं है?

+1

पीटरसन का समाधान क्या है? यह किस मुद्दे पर समाधान है? और मुझे यकीन नहीं है कि आपका प्रश्न स्टैक ओवरफ्लो से संबंधित है, यह स्रोत कोड से संबंधित प्रतीत नहीं होता है। –

+1

@ बेसिलस्टारनकेविच विकिपीडिया पेज से जुड़ा हुआ है। ऑपरेटिंग सिस्टम अवधारणाओं के बारे में पूछने के कुछ सवाल हैं। साथ ही, सॉफ्टवेयर एल्गोरिदम प्रश्न [faq] के अनुसार विषय पर हैं। – asheeshr

+0

इस मुद्दे की मेरी समझ किसी अन्य समय लॉक जारी होने के समान ही है: दूसरी प्रक्रिया को एक्सेस दिया जाएगा, लेकिन पहली प्रक्रिया में अभी भी डेटा लिखने (या पढ़ने) के लिए डेटा हो सकता है। यह दूसरी प्रक्रिया को पुराने डेटा का उपयोग करने का कारण बन सकता है। – Moshe

उत्तर

2

एक सीपीयू के साथ एक सिस्टम पर, पीटरसन के एल्गोरिदम को काम करने की गारंटी है, क्योंकि प्रोग्राम के अपने कार्यक्रम में प्रोग्राम का व्यवहार देखा जाता है।

एकाधिक CPUs वाले सिस्टम पर एल्गोरिदम काम करने में असफल हो सकता है क्योंकि एक सीपीयू पर होने वाली घटनाओं के प्रोग्राम ऑर्डर को दूसरे पर अलग-अलग माना जा सकता है।

इससे प्रारंभिक खंड में प्रवेश हो सकता है (जबकि यह अभी भी किसी अन्य धागे द्वारा उपयोग में है) और महत्वपूर्ण अनुभाग से बाहर निकलने से पहले (जब साझा संसाधन के साथ काम अभी तक समाप्त नहीं हुआ है)।

इस कारण से किसी को यह सुनिश्चित करने की आवश्यकता है कि सीपीयू के अंदर होने वाली घटनाओं का क्रम समान दिखाई देता है। मेमोरी बाधाएं इस क्रमबद्धता को सुनिश्चित कर सकती हैं।

+0

किस प्रकार की रीडरिंग काम नहीं करेगी? – sudeepdino008

+1

@ sudeepdino008 स्मृति की पुनरावृत्ति पढ़ने/लिखते हैं w.r.t. अन्य स्मृति पढ़ता/लिखता है। यदि सिस्टम में दो या दो से अधिक CPU हैं और मेमोरी रीड/लिखने की पुनरावृत्ति अनजान है (उदा। स्मृति बाधाएं/बाड़), ऑर्डर पर भरोसा करने वाले कुछ एल्गोरिदम टूट जाएंगे। पीटरसन का एल्गोरिदम टूट जाएगा। –

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