संगत समय-साझाकरण प्रणाली

कम्पेटिबल समय बताना सिस्टम (CTSS) पहला सामान्य उद्देश्य टाइम-शेयरिंग ऑपरेटिंग सिस्टम था। संगत टाइम शेयरिंग का मतलब टाइम शेयरिंग से है जो प्रचय संसाधन के अनुकूल था; यह समवर्ती रूप से टाइम शेयरिंग और बैच प्रोसेसिंग दोनों की पेशकश कर सकता है।

CTSS को MIT संगणना केंद्र (कॉम्प सेंटर) में विकसित किया गया था। CTSS को पहली बार नवंबर 1961 में MIT के संशोधित IBM 709 पर प्रदर्शित किया गया था। हार्डवेयर को 1962 में संशोधित IBM 7090 के साथ बदल दिया गया था और बाद में एक संशोधित IBM 7094 को प्रोजेक्ट MAC CTSS IBM 7094 से अलग करने के लिए ब्लू मशीन कहा गया। MIT Comp को नियमित सेवा केंद्र के उपयोगकर्ता 1963 की गर्मियों में शुरू हुए और 1968 तक वहां संचालित रहे।

अक्टूबर 1963 (लाल मशीन) में प्राप्त एक अलग IBM 7094 पर CTSS की दूसरी तैनाती का उपयोग MIT कंप्यूटर साइंस और आर्टिफिशियल इंटेलिजेंस लेबोरेटरी #प्रोजेक्ट MAC में 1969 तक किया गया था जब लाल मशीन को सूचना प्रसंस्करण केंद्र में ले जाया गया था। और 20 जुलाई, 1973 तक संचालित। सीटीएसएस केवल उन दो मशीनों पर चलता था, हालांकि एमआईटी के बाहर दूरस्थ सीटीएसएस उपयोगकर्ता थे, जिनमें कैलिफोर्निया, दक्षिण अमेरिका, एडिनबर्ग विश्वविद्यालय और ऑक्सफोर्ड विश्वविद्यालय शामिल थे।

इतिहास
मैसाचुसेट्स की तकनीकी संस्था में 1954 के ग्रीष्मकालीन सत्र में जॉन बैकस ने कहा कि समय साझा करने से, एक बड़े कंप्यूटर को कई छोटे कंप्यूटरों के रूप में इस्तेमाल किया जा सकता है; प्रत्येक उपयोगकर्ता के लिए एक रीडिंग स्टेशन होना चाहिए। उस समय के कंप्यूटर, जैसे IBM 704, ऐसी प्रणाली को लागू करने के लिए पर्याप्त शक्तिशाली नहीं थे, लेकिन 1958 के अंत में, MIT के संगणना केंद्र ने फिर भी अपने 704 में एक टाइपराइटर इनपुट जोड़ा, इस इरादे से कि एक प्रोग्रामर या ऑपरेटर अतिरिक्त उत्तर प्राप्त कर सके। मशीन को एक साथ मशीन का उपयोग करने वाले अन्य कार्यक्रमों के साथ समय-साझाकरण के आधार पर। जून 1959 में, क्रिस्टोफर स्ट्रेची ने पेरिस में इंटरनेशनल फेडरेशन फॉर इंफॉर्मेशन प्रोसेसिंग # हिस्ट्री में लार्ज फास्ट कंप्यूटर्स में एक पेपर टाइम शेयरिंग प्रकाशित किया, जहां उन्होंने कंप्यूटर से जुड़े एक कंसोल (जैसे तैलिप्रिंटर) पर एक प्रोग्राम डिबग करने वाले प्रोग्रामर की परिकल्पना की, जबकि दूसरा उसी समय कंप्यूटर में प्रोग्राम चल रहा था। डिबगिंग प्रोग्राम उस समय एक महत्वपूर्ण समस्या थी, क्योंकि बैच प्रोसेसिंग के साथ, परिणाम प्राप्त करने के लिए अक्सर एक परिवर्तित कोड सबमिट करने से एक दिन लग जाता था। जॉन मैककार्थी (कंप्यूटर वैज्ञानिक) ने इसके बारे में एमआईटी में एक मेमो लिखा, जिसके बाद एमआईटी में एक प्रारंभिक अध्ययन समिति और एक कार्यकारी समिति की स्थापना की गई, ताकि समय साझा करने का विकास किया जा सके। समितियों ने एक ही समय में कंप्यूटर का उपयोग करने वाले कई उपयोगकर्ताओं की परिकल्पना की, एमआईटी में ऐसी प्रणाली को लागू करने का विवरण तय किया और प्रणाली का विकास शुरू किया।

प्रायोगिक समय साझाकरण प्रणाली
जुलाई, 1961 तक कम्प्यूटेशन सेंटर के IBM 709 पर कुछ समय साझा करने के आदेश चालू हो गए थे, और नवंबर 1961 में, फर्नांडो जे कॉर्बेटो ने MIT में प्रदर्शित किया जिसे एक्सपेरिमेंटल टाइम-शेयरिंग सिस्टम कहा जाता था। 3 मई, 1962 को, F. J. Corbató, M. M. Daggett और R. C. Daley ने संयुक्त कंप्यूटर सम्मेलन में उस सिस्टम के बारे में एक पेपर प्रकाशित किया। रॉबर्ट सी. डेली, पीटर आर. बोस और कम से कम 6 अन्य प्रोग्रामरों ने ऑपरेटिंग सिस्टम को लागू किया, जो आंशिक रूप से फोरट्रान मॉनिटर सिस्टम पर आधारित था।

सिस्टम ने IBM 7090 का उपयोग किया, जिसे हर्बर्ट एम. टीगर द्वारा संशोधित किया गया, उपयोगकर्ता कंसोल के लिए अतिरिक्त 3 फ्रीडम फ्लेक्सोराइटर और शायद एक प्रोग्राम करने योग्य अंतराल टाइमर के साथ। 3 उपयोगकर्ताओं में से प्रत्येक के पास दो IBM 729 थे, एक उपयोगकर्ता की फ़ाइल निर्देशिका के लिए, और एक कोर (मेमोरी में प्रोग्राम) को डंप करने के लिए। सिस्टम कमांड के लिए एक टेप यूनिट भी थी, डिस्क ड्राइव नहीं थे। उपयोगकर्ताओं के लिए चुंबकीय-कोर मेमोरी 27 k शब्द (36-बिट शब्द) और पर्यवेक्षक (ऑपरेटिंग सिस्टम) के लिए 5 k शब्द थी। बाधा डालना द्वारा कंसोल से इनपुट पर्यवेक्षक में बफ़र्स को लिखा गया था, और जब कैरिज रिटर्न प्राप्त हुआ, तो पर्यवेक्षक को नियंत्रण दिया गया, जिसने रनिंग कोड को टेप में डाल दिया और तय किया कि आगे क्या चलाना है। उस समय लागू किए गए कंसोल कमांड थे लॉगिन, लॉगआउट, इनपुट, एडिट, फैप, मैड, मैडट्रन, लोड, यूज, स्टार्ट, स्किपपीएम, लिस्टफ, प्रिंटफ, xdump और xundump। यह संगत टाइम-शेयरिंग सिस्टम का प्रारंभिक संस्करण बन गया। जाहिर तौर पर यह टाइम-शेयरिंग का पहला सार्वजनिक प्रदर्शन था; अन्य दावे भी हैं, लेकिन वे विशेष-उद्देश्य प्रणालियों का उल्लेख करते हैं, या कोई ज्ञात कागजात प्रकाशित नहीं होते हैं। CTSS की अनुकूलता एक ही कंप्यूटर पर चलने वाली पृष्ठभूमि की नौकरियों के साथ थी, जो आमतौर पर समय-साझाकरण कार्यों की तुलना में अधिक कंप्यूट संसाधनों का उपयोग करती थी।

DOTSYS और BRAILLEMBOSS
DOTSYS ब्रेल ट्रांसलेशन सॉफ़्टवेयर का पहला संस्करण CTSS पर चलता था और एक BRAILLEMBOSS ब्रेल पेज प्रिंटर पर आउटपुट कर सकता था। CTSS पर DOTSYS को पहली बार 18 अगस्त, 1966 को व्यवहार्यता अध्ययन के एक भाग के रूप में प्रदर्शित किया गया था, जहाँ समाचार के रूप में टेलेटाइपसेटर टेप को ग्रेड 2 ब्रेल में परिवर्तित किया गया था। अगले महीने टेलेटाइपसेटर टेप पर पाठ्यपुस्तक की जानकारी को त्रुटि-मुक्त ग्रेड 2 ब्रेल में परिवर्तित करने की व्यवहार्यता का सफलतापूर्वक प्रदर्शन किया गया। चूंकि MIT CTSS एक अकादमिक प्रणाली थी, एक शोध वाहन था और वाणिज्यिक कंप्यूटिंग के लिए कोई प्रणाली नहीं थी, दो साल बाद सॉफ्टवेयर पोर्टेबिलिटी के लिए CTSS निर्भरता से अलग DOTSYS का एक संस्करण IBM 709 पर ब्लाइंड के लिए अमेरिकन प्रिंटिंग हाउस में प्रिंट करने के लिए इस्तेमाल किया गया था। टेलेटाइपसेटर इनपुट से निर्मित पुस्तक का पहला ब्रेल संस्करण, इंक-प्रिंट संस्करण के कुछ ही सप्ताह बाद। अगले वर्ष, CTSS पर, ब्रेल में गणितीय तालिकाओं को प्रिंट करने का एक प्रदर्शन दिखाया गया। BRAILEMBOSS ब्रेल पेज प्रिंटर के माध्यम से ब्रेल में इंच से मिलीमीटर तक रूपांतरण तालिका बनाने के लिए एक छोटा फोरट्रान II प्रोग्राम लिखा गया था।

इंट्रेक्स
इंट्रेक्स रिट्रीवल सिस्टम सीटीएसएस पर चलता था। इंट्रेक्स एक प्रायोगिक, पायलट-मॉडल मशीन-उन्मुख ग्रंथ सूची भंडारण और एक डेटाबेस के साथ पुनर्प्राप्ति प्रणाली थी जिसमें लगभग 15,000 जर्नल लेखों की एक सूची संग्रहीत की गई थी। इसका उपयोग पुस्तकालय स्वचालन के लिए अवधारणाओं के विकास और परीक्षण के लिए किया गया था।  MIT इंजीनियरिंग लाइब्रेरी में परीक्षण के लिए तीन BRISC कैथोड रे ट्यूब कंसोल की तैनाती से पता चला कि इसे दो अन्य प्रणालियों, ARDS और DATEL से अधिक पसंद किया गया था।

विशेषताएं

 * मूल एलिजा सीटीएसएस पर चलता था। * CTSS पासवर्ड लॉगिन लागू करने वाला पहला कंप्यूटर सिस्टम था।
 * CTSS में पहले कम्प्यूटरीकृत टेक्स्ट एडिटिंग और फॉर्मेटिंग यूटिलिटीज में से एक था, जिसे TYPSET और RUNOFF (MEMO, MODIFY और DITTO के उत्तराधिकारी) कहा जाता है।
 * CTSS के पास पहला इंटर-यूज़र मैसेजिंग कार्यान्वयन था, जो अग्रणी इलेक्ट्रॉनिक मेल था।
 * CTSS में लिखें (यूनिक्स) के समान पहला तात्कालिक संदेशन सिस्टम था।
 * एमआईटी कंप्यूटेशन सेंटर के स्टाफ सदस्य लुई पौजिन ने सीटीएसएस के लिए रनकॉम नामक एक कमांड बनाया, जिसने एक फाइल में निहित कमांड की एक सूची को निष्पादित किया। RUNCOM ने पैरामीटर प्रतिस्थापन के लिए भी प्रदान किया। बाद में उन्होंने मॉलटिक्स शैल (कंप्यूटिंग) के लिए एक डिज़ाइन तैयार किया जिसे ग्लेंडा श्रोएडर द्वारा लागू किया गया था जिसने बदले में यूनिक्स खोल स्क्रिप्ट को प्रेरित किया।
 * CTSS QED (पाठ संपादक) QED (टेक्स्ट एडिटर), Ed_(text_editor), vi, और Vim_(text_editor) के पूर्ववर्ती केन थॉम्पसन द्वारा जोड़े गए रेगुलर एक्सप्रेशंस का कार्यान्वयन था।

कर्नेल
CTSS ने एक संशोधित IBM 7090 मेनफ्रेम कंप्यूटर का उपयोग किया जिसमें दो 32,768 (32K) 36-बिट-वर्ड (कंप्यूटर आर्किटेक्चर) कोर मेमोरी के बैंक थे जो डिफ़ॉल्ट कॉन्फ़िगरेशन के बजाय केवल एक प्रदान करते थे। एक बैंक समय-साझाकरण पर्यवेक्षी कार्यक्रम के लिए आरक्षित था, दूसरा उपयोगकर्ता कार्यक्रमों के लिए। सीटीएसएस के पास एक संरक्षित-मोड कर्नेल था, ए-कोर (मेमोरी बैंक ए) में पर्यवेक्षक के कार्यों को केवल आधुनिक ऑपरेटिंग सिस्टम की तरह सॉफ्टवेयर इंटरप्ट्स द्वारा बुलाया जा सकता था। मेमोरी-प्रोटेक्शन इंटरप्ट के कारण सॉफ्टवेयर इंटरप्ट के लिए उपयोग किया जाता था। सेंट्रल प्रोसेसिंग यूनिट आवंटन निर्धारण (कंप्यूटिंग) क्वांटम टाइम यूनिट 200 एमएस के साथ, एक बहुस्तरीय फीडबैक कतार द्वारा नियंत्रित किया गया था। इसमें कुछ विशेष मेमोरी-मैनेजमेंट हार्डवेयर, एक क्लॉक इंटरप्ट और कुछ निर्देशों को ट्रैप करने की क्षमता भी थी।

पर्यवेक्षक सबरूटीन्स

 * RDFLXA - कंसोल से एक इनपुट लाइन पढ़ें
 * WRFLX - कंसोल के लिए एक आउटपुट लाइन लिखें
 * मृत - स्मृति में कोई कार्यक्रम के बिना, उपयोगकर्ता को मृत स्थिति में रखें
 * DORMNT - मेमोरी में प्रोग्राम के साथ उपयोगकर्ता को निष्क्रिय स्थिति में रखें
 * GETMEM - मेमोरी आवंटन का आकार प्राप्त करें
 * SETMEM - मेमोरी आवंटन का आकार सेट करें
 * TSSFIL - डिस्क पर CTSS सिस्टम फ़ाइलों तक पहुँच प्राप्त करें
 * यूएसआरएफआईएल - उपयोगकर्ता की अपनी निर्देशिका में वापस बदलें
 * GETBRK - छोड़ने पर निर्देश स्थान काउंटर प्राप्त करें

प्रोग्रामिंग लैंग्वेज
CTSS में पहले केवल एक असेंबलर, फोरट्रान विधानसभा कार्यक्रम और एक कंपाइलर, MAD (प्रोग्रामिंग लैंग्वेज) था। इसके अलावा, फोरट्रान # फोरट्रान II कोड को MADTRN का उपयोग करके MAD कोड में अनुवादित किया जा सकता है। बाद में सिस्टम का आधा एमएडी में लिखा गया था। बाद में COMIT, Lisp (प्रोग्रामिंग भाषा) | LISP 1.5 और ALGOL के एक संस्करण सहित अन्य प्रोग्रामिंग भाषाएँ थीं।

फाइल सिस्टम
प्रत्येक उपयोगकर्ता की अपनी निर्देशिका (कंप्यूटिंग) थी, और समान समस्या संख्या वाले लोगों के समूहों के लिए साझा निर्देशिकाएँ भी थीं। प्रत्येक कम्प्यूटर फाइल के दो नाम होते थे, दूसरा उसके प्रकार का संकेत देता था जैसा कि बाद के सिस्टम में फ़ाइल नाम एक्सटेंशन ने किया था। सबसे पहले, प्रत्येक फ़ाइल में चार मोड में से एक हो सकता है: अस्थायी, स्थायी, रीड-ओनली क्लास 1, और रीड-ओनली क्लास 2। रीड-ओनली क्लास 1 ने उपयोगकर्ता को फ़ाइल के मोड को बदलने की अनुमति दी। फ़ाइलों को निर्देशिकाओं के बीच प्रतीकात्मक रूप से भी जोड़ा जा सकता है। सूची द्वारा एक निर्देशिका सूची: 10 फ़ाइलें 20 ट्रैक का उपयोग किया गया दिनांक नाम मोड सं. पटरियों 5/20/63 मुख्य पागल पी 15 5/17/63 DPFA SYMTB P 1 5/17/63 डीपीएफए ​​बीएसएस पी 1 5/17/63 डीपीएफए ​​एफएपी पी 2

बाह्य उपकरणों
इनपुट-आउटपुट हार्डवेयर ज्यादातर मानक आईबीएम परिधीय्स थे। इनमें छह डेटा चैनल शामिल हैं जो इससे जुड़ रहे हैं:
 * प्रिंटर, छिद्रित कार्ड रीडर और पंच
 * आईबीएम 729 टेप ड्राइव, एक आईबीएम 1301 डिस्क स्टोरेज, बाद में 38 मिलियन शब्द क्षमता के साथ आईबीएम 1302 में अपग्रेड किया गया
 * 186K शब्दों के साथ एक IBM 7320 ड्रम मेमोरी जो एक सेकंड में 32K-वर्ड मेमोरी बैंक लोड कर सकती है (बाद में 0.25 सेकंड में अपग्रेड किया गया)
 * दो कस्टम हाई-स्पीड वेक्टर ग्राफिक्स प्रदर्शित करता है
 * एक IBM 7750 ट्रांसमिशन कंट्रोल यूनिट, जो IBM 1050 चयनात्मक और टेलेटाइप कॉर्पोरेशन # टेलेटाइप कॉर्पोरेशन सहित 112 टेलीप्रिंटर टर्मिनलों को सपोर्ट करने में सक्षम है। कुछ टर्मिनल दूरस्थ रूप से स्थित थे, और सिस्टम को सार्वजनिक टेलिक्स नेटवर्क का उपयोग करके एक्सेस किया जा सकता था।

प्रभाव
CTSS को 1962 के संयुक्त कंप्यूटर सम्मेलन में प्रस्तुत एक पेपर में वर्णित किया गया था, और इसने अन्य प्रारंभिक समय-साझाकरण प्रणालियों के डिजाइन को बहुत प्रभावित किया।

मौरिस विल्क्स ने CTSS देखा और टाइटन (1963 कंप्यूटर) का डिज़ाइन उसी से प्रेरित था। डेनिस रिची ने 1977 में लिखा था कि UNIX को CTSS के आधुनिक कार्यान्वयन के रूप में देखा जा सकता है। मल्टिक्स, जिसे प्रोजेक्ट मैक द्वारा भी विकसित किया गया था, 1960 के दशक में CTSS के उत्तराधिकारी के रूप में शुरू किया गया था - और बदले में 1969 में यूनिक्स के विकास को प्रेरित किया। CTSS से इन प्रणालियों द्वारा प्राप्त तकनीकी शब्दों में से एक डेमन (कंप्यूटिंग) है।

असंगत टाइमशेयरिंग सिस्टम (ITS), एक और प्रारंभिक, क्रांतिकारी और प्रभावशाली MIT टाइम-शेयरिंग सिस्टम, उन लोगों द्वारा निर्मित किया गया था जो CTSS और बाद में, मल्टिक्स द्वारा ली गई दिशा से असहमत थे; नाम CTSS की हास्यानुकृति था, क्योंकि बाद में यूनिक्स नाम मल्टिक्स की पैरोडी था। CTSS और ITS फाइल सिस्टम में कई डिज़ाइन तत्व समान हैं। दोनों के पास एम.एफ.डी. (मास्टर फ़ाइल निर्देशिका) और एक या अधिक U.F.D. (उपयोगकर्ता फ़ाइल निर्देशिका)। उनमें से किसी में भी नेस्टेड निर्देशिकाएँ (उप-निर्देशिकाएँ) नहीं हैं। दोनों में फ़ाइल नाम हैं जिनमें दो नाम हैं जो अधिकतम छह-वर्ण लंबे हैं। दोनों लिंक की गई फाइलों का समर्थन करते हैं।

यह भी देखें

 * ऑपरेटिंग सिस्टम की समयरेखा
 * टाइम-शेयरिंग सिस्टम इवोल्यूशन

बाहरी संबंध

 * Oral history interview with John McCarthy, Charles Babbage Institute, University of Minnesota. Discusses computer developments at MIT including time sharing.
 * Oral history interview with Fernando J. Corbató, Charles Babbage Institute, University of Minnesota. Discusses many computer developments at MIT including CTSS.
 * Oral history interview with Robert M. Fano, Charles Babbage Institute, University of Minnesota. Discusses computer developments at MIT including CTSS.
 * The IBM 7094 and CTSS: personal memoir of Tom Van Vleck, a system programmer on CTSS
 * CTSS Source version MIT8C0 in Paul Pierce's collection.
 * Dave Pitts' IBM 7094 support – Includes a license-free simulator, cross assembler and linker that can be used to build and run CTSS.
 * Richard Cornwell's CTSS sources and binaries, which run on SIMH. Includes license-free tools
 * CIO: 40 years of Multics, 1969-2009: Interview with CTSS and Multics developer Fernando J. Corbato.
 * Jerome Saltzer's CTSS bookshelf via CSAIL.