मल्टीप्रोग्रामिंग सिस्टम

From Vigyanwiki
Revision as of 00:06, 12 August 2023 by alpha>Sureshchandra
THE multiprogramming system
डेवलपरEindhoven University of Technology (Technische Hogeschool Eindhoven);
Edsger Dijkstra, et al.
लिखा हुआElectrologica X8 assembly language
काम करने की अवस्थाDiscontinued
आरंभिक रिलीज1965; 59 years ago (1965)
Final releaseFinal / 1968; 56 years ago (1968)
विपणन लक्ष्यResearch
उपलब्धEnglish
अद्यतन विधिCompile from source code
प्लेटफार्मोंElectrologica X8
कर्नेल प्रकारLayered
डिफ़ॉल्ट
उपयोगकर्ता इंटरफ़ेस
Paper tape

मल्टीप्रोग्रामिंग प्रणाली या ओएस कंप्यूटर ऑपरेटिंग प्रणाली के रूप में है, जिसे एड्सगर डब्ल्यू डिज्क्स्ट्रा के नेतृत्व वाली एक टीम द्वारा डिजाइन किया गया था, जिसका वर्णन 1965-66 में मोनोग्राफ में किया गया था।[1] और 1968 में प्रकाशित किया गया था।[2] दिज्क्स्ट्रा ने कभी भी इस प्रणाली का नाम नहीं रखा था; यह केवल टेक्नीश होगेस्कूल आइंडहोवेन का संक्षिप्त रूप है, जो नीदरलैंड के आइंडहोवन प्रौद्योगिकी विश्वविद्यालय का डच लैंग्वेज में नाम है। यह प्रणाली मुख्य रूप से एक बैच प्रणाली के रूप में थी[3] जो कंप्यूटर मल्टीटास्किंग का समर्थन करता है और इसे बहु-उपयोगकर्ता ऑपरेटिंग प्रणाली के रूप में डिज़ाइन नहीं किया गया था। यह बहुत सीमा तक SDS 940 जैसा था, लेकिन प्रणाली में प्रक्रियाओं (कंप्यूटिंग) का सेट स्थिर था।[3]

प्रणाली ने स्पष्ट रूप से सॉफ़्टवेयर आधारित पृष्ठांकित वर्चुअल मेमोरी का पहला रूप प्रस्तुत किया था, यह इलेक्ट्रोलॉजिका X8 हार्डवेयर-आधारित मेमोरी प्रबंधन का समर्थन नहीं करता है,[3] जिससे प्रोग्रामों को ड्रम मेमोरी पर भौतिक स्थानों का उपयोग करने के लिए बाध्य होना पड़ता है। इसने प्रणाली रूटीन के लिए कॉल को स्वचालित रूप से उत्पन्न करने के लिए एक संशोधित ऐल्गॉल कंपाइलर का उपयोग करते है और इस प्रकार डिज्क्स्ट्रा की प्रणाली द्वारा समर्थित एकमात्र प्रोग्रामिंग लैंग्वेज का उपयोग करके ऐसा किया था, जिससे यह सुनिश्चित हो गया कि अनुरोधित जानकारी मेमोरी में थी, यदि आवश्यक हो तो मेमोरी को स्वैपिंग कर सकते है।[3] पृष्ठांकित वर्चुअल मेमोरी का उपयोग डेटा बफ़र इनपुट/आउटपुट (I/O) डिवाइस डेटा और ऑपरेटिंग प्रणाली कोड के एक महत्वपूर्ण भाग के लिए और लगभग सभी ऐल्गॉल 60 कंपाइलर के लिए किया गया था। इस प्रणाली में, सेमाफोर (प्रोग्रामिंग) का उपयोग पहली बार प्रोग्रामिंग निर्माण के रूप में किया गया था।

डिज़ाइन

मल्टीप्रोग्रामिंग प्रणाली का डिज़ाइन मतिहीनता के उपयोग के लिए महत्वपूर्ण है, जिसमें उच्च परतें केवल निचली परतों पर निर्भर करती हैं:

  • लेयर 0 ऑपरेटिंग प्रणाली के मल्टीप्रोग्रामिंग पहलुओं के लिए जिम्मेदार था। इसने तय किया कि कौन सी प्रक्रिया केंद्रीय प्रसंस्करण इकाई (सीपीयू) को आवंटित की गई थी, और उन प्रक्रियाओं के लिए जिम्मेदार थी जो सेमाफोर (प्रोग्रामिंग) पर अवरुद्ध थीं। जब प्रक्रिया में बदलाव की आवश्यकता होती है तो यह व्यवधानों से निपटता है और संदर्भ स्विच करता है। यह सबसे निचला स्तर है. आधुनिक शब्दों में, यह अनुसूचक था।
  • परत 1 मेमोरी प्रबंधन से लेकर प्रक्रियाओं तक से संबंधित थी। आधुनिक शब्दों में यह पेजर था।
  • परत 2 ऑपरेटिंग प्रणाली और प्रणाली कंसोल के बीच संचार से संबंधित है।
  • परत 3 कंप्यूटर से जुड़े उपकरणों के बीच सभी I/O को प्रबंधित करती है। इसमें विभिन्न उपकरणों से बफ़रिंग जानकारी शामिल थी।
  • परत 4 में उपयोगकर्ता स्थान शामिल है। वहाँ 5 प्रक्रियाएँ थीं: कुल मिलाकर, उन्होंने उपयोगकर्ता कार्यक्रमों के कंपाइलर, निष्पादन (कंप्यूटिंग), और प्रिंटर (कंप्यूटिंग) को संभाला। समाप्त होने पर, वे शेड्यूल क्यू (अमूर्त डेटा प्रकार) पर वापस प्रवाह को नियंत्रित करते हैं, जो प्राथमिकता कतार | प्राथमिकता-आधारित था, हाल ही में शुरू की गई प्रक्रियाओं और I/O के कारण अवरुद्ध हुई प्रक्रियाओं का समर्थन करता है।
  • परत 5 उपयोगकर्ता था; जैसा कि डिज्क्स्ट्रा नोट करता है, हमारे द्वारा लागू नहीं किया गया है।

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

प्रणाली का कोड डच इलेक्ट्रोलॉजिका X8 कंप्यूटर के लिए असेंबली लैंग्वेज में लिखा गया था। इस कंप्यूटर में शब्द (कंप्यूटर आर्किटेक्चर) का आकार 27 बिट्स, 48 किलोवर्ड्स की कोर मेमोरी थी,[3]512 किलोवर्ड ड्रम मेमोरी कैश प्रतिस्थापन नीतियों, पेपर टेप रीडर, पेपर टेप पंच, प्लॉटर और प्रिंटर के लिए कैश (कंप्यूटिंग) प्रदान करती है।

यह भी देखें

संदर्भ

  1. Dijkstra, Edsger W. The structure of the 'THE'-multiprogramming system (EWD-196) (PDF). E.W. Dijkstra Archive. Center for American History, University of Texas at Austin. (transcription) (Jun 14, 1965)
  2. Dijkstra, E.W. (1968), "The structure of the 'THE'-multiprogramming system", Communications of the ACM, 11 (5): 341–346, doi:10.1145/363095.363143, S2CID 2021311
  3. 3.0 3.1 3.2 3.3 3.4 Silberschatz, Abraham; Peterson, James L. (May 1988), "13: Historical Perspective", Operating System Concepts, p. 512