मल्टीप्रोग्रामिंग सिस्टम
डेवलपर | Eindhoven University of Technology (Technische Hogeschool Eindhoven); Edsger Dijkstra, et al. |
---|---|
लिखा हुआ | Electrologica X8 assembly language |
काम करने की अवस्था | Discontinued |
आरंभिक रिलीज | 1965 |
Final release | Final / 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 किलोवर्ड ड्रम मेमोरी कैश प्रतिस्थापन नीतियों, पेपर टेप रीडर, पेपर टेप पंच, प्लॉटर और प्रिंटर के लिए कैश (कंप्यूटिंग) प्रदान करती है।
यह भी देखें
- आरसी 4000 मल्टीप्रोग्रामिंग प्रणाली
- रिंग (कंप्यूटर सुरक्षा)
- ऑपरेटिंग प्रणाली की टाइमलाइन
कॉन्टेक्स्ट
- ↑ 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)
- ↑ 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.0 3.1 3.2 3.3 3.4 Silberschatz, Abraham; Peterson, James L. (May 1988), "13: Historical Perspective", Operating System Concepts, p. 512