यूसीएसडी पास्कल

यूसीएसडी पास्कल एक पास्कल प्रोग्रामिंग भाषा प्रणाली है जो यूसीएसडी पी-प्रणाली, एक सुवाह्य, अत्यधिक मशीन-स्वतंत्र ऑपरेटिंग सिस्टम पर चलता है। यूसीएसडी पास्कल सर्वप्रथम वर्ष 1977 विमोचित किया गया था। इसे कैलिफोर्निया विश्वविद्यालय, सैन डिएगो (यूसीएसडी) में विकसित किया गया था।

यूसीएसडी पास्कल और पी-प्रणाली
वर्ष 1977 में, कैलिफोर्निया विश्वविद्यालय, सैन डिएगो (यूसीएसडी)  सूचना प्रणाली के संस्थान ने छात्रों को एक सामान्य वातावरण प्रदान करने के लिए यूसीएसडी पास्कल विकसित किया जो किसी भी तत्कालीन उपलब्ध माइक्रो कंप्यूटर के साथ-साथ कैंपस डिजिटल उपकरण निगम पीडीपी-11 मिनी कंप्यूटर पर चल सकता था। ऑपरेटिंग सिस्टम को यूसीएसडी पी-प्रणाली के रूप में जाना जाने लगा।

आईबीएम ने अपने मूल आईबीएम पीसी के लिए तीन प्रचालन प्रणाली की प्रस्तुत की थी। पहला आईबीएम पीसी डॉस के साथ यूसीएसडी पी-प्रणाली और अन्य दो के रूप में सीपी/एम-86 था। वेंडर सोफटेक माइक्रोसिस्टम्स ने आईबीएम पीसी के विमोचन के समय 20 सीपीयू के लिए आभासी मशीनों के साथ पी-प्रणाली की अनुप्रयाेग सुवाह्यता पर प्रमुखता दी। इसने पूर्वानुमानित की कि उपयोगकर्ता पी-प्रणाली चलाने वाले भविष्य के कंप्यूटरों पर खरीदे गए अनुप्रयाेग का उपयोग करने में सक्षम होंगे; विज्ञापनों ने इसे "सार्वभौमिक प्रचालन प्रणाली" कहा।

पीसी पत्रिका ने आईबीएम पीसी पर यूसीएसडी पी-प्रणाली की निंदा की, एमबीए सन्दर्भ की समीक्षा के कथन में, भाषा में लिखा है, कि यह "पूर्णतः उचित कोड उत्पन्न नहीं करता है।" अनुप्रयोगों की कमी के कारण और अन्य विकल्पों की तुलना में अधिक महंगा होने के कारण पी-प्रणाली आईबीएम पीसी के लिए बहुत अच्छी तरह से विक्रय नहीं हुआ। इससे पहले,आईबीएम ने 8086-आधारित समर्पित वर्ड प्रोसेसिंग मशीन, डिस्प्लेराइटर के लिए एक विकल्प के रूप में यूसीएसडी पी-प्रणाली प्रस्‍तुत की थी (डिस्प्लेराइटर का मूल प्रचालन प्रणाली पूर्णतः आंतरिक रूप से विकसित किया गया था और एंड-यूज़र क्रमदेशन के लिए उद्घाटन नहीं किया गया था।)

मानक पास्कल के उल्लेखनीय विस्तार में अलग से संकलित करने योग्य इकाइयां (सॉफ्टवेयर विकास) और एक स्ट्रिंग प्रकार सम्मिलित हैं। स्ट्रिंग संसाधन (प्रोसेसिंग) को त्वरित करने के लिए कुछ मूल तत्व प्रदान किए गए थे (उदाहरण के लिए किसी विशेष खोज पैटर्न के लिए किसी श्रंखला समूह में क्रमवीक्षण करना); यूसीएसडी पी-प्रणाली को स्व-संकलन और स्व-आयोजित (संकलक) करने की अनुमति देने के लिए अन्य भाषा विस्तारण प्रदान किए गए थे।

यूसीएसडी पास्कल पी-कोड मशीन वास्तुकला पर आधारित था। इन आरम्भिक आभासी मशीनों में इसका योगदान पी-कोड को इसकी जड़ों से दूर एक संकलक मध्यवर्ती भाषा के रूप में पूर्ण निष्पादन वातावरण में विस्तारित करना था। यूसीएसडी पास्कल पी-मशीन को 16-बिट ( मेमोरी का केवल 64 केबी ) तक सीमित पते के साथ नए छोटे माइक्रो कंप्यूटरों के लिए अनुकूलित किया गया था। जेम्स गोस्लिंग यूसीएसडी पास्कल को जावा (प्रोग्रामिंग भाषा) आभासी मशीन के अभिकल्पना पर एक प्रमुख प्रभाव (स्मॉलटाक आभासी मशीन के साथ) के रूप में उद्धृत करते हैं।

यूसीएसडी पी-प्रणाली ने पी-मशीन (या छद्म-मशीन, जिसे कई उपयोगकर्ता ओएस की तरह "पास्कल-मशीन" कहने लगे- यद्यपि यूसीएसडी प्रलेखन प्रायः "छद्म-मशीन" का उपयोग करता है।) नामक एक आभासी मशीन को परिभाषित करके,अपने स्वयं के निर्देश समुच्चय के साथ जिसे पी-कोड (या छद्म कोड) कहा जाता है, मशीन की स्वतंत्रता प्राप्त की)। निकोलस विर्थ के एक छात्र उर्स अम्मान ने मूल रूप से अपने पीएचडी थीसिस में एक पी-कोड प्रस्तुत किया, जिससे यूसीएसडी कार्यान्वयन, ज्यूरिख पास्कल-पी कार्यान्वयन निष्पादित हुआ था। यूसीएसडी कार्यान्वयन ने ज्यूरिख कार्यान्वयन को "बाइट अभिविन्यस्त" में परिवर्तित कर दिया। पास्कल क्रमदेशन भाषा के निष्पादन के लिए यूसीएसडी पी-कोड को अनुकूलित किया गया था। प्रत्येक हार्डवेयर प्लेटफ़ॉर्म को तब केवल एक पी-कोड व्याख्यात्मक क्रमदेश की आवश्यकता होती थी, जो पूरे पी-प्रणाली और उस पर चलने वाले सभी उपकरणों को पोर्ट करने के लिए लिखा जाता था। पश्चातवर्ती संस्करणों में अतिरिक्त भाषाएं भी सम्मिलित थीं जो पी-कोड आधार में संकलित थीं। उदाहरण के लिए, ऐपल कंप्यूटर ने एक फोरट्रान संकलक (सिलिकॉन वैली सॉफ्टवेयर, सनीवेल कैलिफ़ोर्निया द्वारा लिखित) प्रस्‍तुत किया, जो पी-कोड का निर्माण करके पी-प्रणाली के ऐपल संस्करण पर चलता था। तत्पश्चात, टेलीसॉफ्ट (सैन डिएगो में भी स्थित) ने प्रारंभिक एडा (प्रोग्रामिंग भाषा) विकास पर्यावरण प्रस्‍तुत किया जो पी-कोड का उपयोग करता था और इसलिए मोटोरोला 68000, सिस्टम/370 और पास्कल माइक्रोइंजिन सहित कई हार्डवेयर प्लेटफॉर्म पर चलने में सक्षम था।

यूसीएसडी पी-प्रणाली कुछ अवधारणाओं को पश्चातवर्ती जावा प्लेटफॉर्म के साथ साझा करता है। दोनों ऑपरेटिंग सिस्टम और हार्डवेयर अंतर को छिपाने के लिए एक आभासी मशीन का उपयोग करते हैं, और दोनों क्रॉस-प्लेटफॉर्म समर्थन प्रदान करने के लिए उस आभासी मशीन पर लिखे क्रमादेश का उपयोग करते हैं। इसी तरह दोनों प्रणालियाँ आभासी मशीन को लक्ष्य कंप्यूटर के पूर्ण संचालन प्रणाली के रूप में या किसी अन्य संचालन प्रणाली के अंतर्गत "बॉक्स" में चलाने की अनुमति देती हैं।

यूसीएसडी पास्कल संकलक को सुवाह्य संचालन प्रणाली, पी-प्रणाली के अंशों के रूप में वितरित किया गया था।

इतिहास
यूसीएसडी पी-प्रणाली यूसीएसडी के केनेथ बाउल्स के विचार के रूप में वर्ष 1974 तक प्रारंभ हुआ जिनका मानना ​​था कि उस समय आने वाले नए अभिकलन प्लेटफॉर्म की संख्या नई क्रमादेशन भाषाओं के लिए स्वीकृति प्राप्त करना कठिन बना देगी। उन्होंने ज्यूरिख से सुवाह्य संकलक के पास्कल-पी2 विमोचन पर यूसीएसडी पास्कल को आधारित किया। एक भाषा के रूप में प्रोग्रामिंग सिखाने के लिए पास्कल (प्रोग्रामिंग भाषा) में उनकी विशेष रुचि थी। सीएसडी ने दो विशेषताओं का प्रारंभ किया जो मूल पास्कल में महत्वपूर्ण सुधार थे: चर लंबाई तार, और स्वतंत्र रूप से संकलित कोड की "इकाइयां" (तत्कालीन विकसित एडीए क्रमादेशन भाषा में सम्मिलित एक विचार)। पास्कल को लोकप्रिय बनाने के लिए निक्लॉस विर्थ पी-प्रणाली और विशेष रूप से यूसीएसडी पास्कल को श्रेय देते हैं। टर्बो पास्कल के विमोचन न होने तक यूसीएसडी का संस्करण पास्कल उपयोगकर्ताओं के बीच पहले स्थान से खिसकना प्रारंभ हो गया था।

यूसीएसडी पास्कल की पास्कल उपभाषा पास्कल-पी2 में कार्यान्वित पास्कल के उपवर्ग से आई है, जिसे भाषा के पूर्ण कार्यान्वयन के लिए अभिकल्पना नहीं किया गया था, वस्तुतः "न्यूनतम उपवर्ग जो स्व-संकलित होगा", पास्कल संकलक के लिए बूटस्ट्रैप किट की तरह इसके कार्य को अनुरूप करना । यूसीएसडी ने बीएएसआईसी से स्ट्रिंग्स और कई अन्य कार्यान्वयन पर निर्भर सुविधाओं को योजित किया। यद्यपि यूसीएसडी पास्कल ने इसके पश्चात पूर्ण पास्कल भाषा की कई अन्य विशेषताओं को प्राप्त किया, पास्कल-पी2 उपवर्ग अन्य उपभाषाओं में यथास्थित रहें, विशेष रूप से बोरलैंड पास्कल, जिसने यूसीएसडी उपभाषा का अधिक अनुकरण किया।

संस्करण
यूसीएसडी पी-कोड इंजन के चार संस्करण थे, प्रत्येक में पी-प्रणाली और यूसीएसडी पास्कल के कई संशोधन थे। पी-कोड इंजन (यानी, पी-मशीन) के संशोधन का अर्थ पी-कोड भाषा में परिवर्तन है, और इसलिए संकलित कोड विभिन्न पी-मशीन संस्करणों के बीच सुवाह्य नहीं है। प्रत्येक संशोधन को एक प्रमुख रोमन अंक के साथ दर्शाया गया था, यद्यपि संचालन प्रणाली संशोधन को पी-कोड रोमन अंक के बाद "डॉट" संख्या के रूप में प्रगणित किया गया था। उदाहरण के लिए, II.3 पी-मशीन के दूसरे संशोधन पर चल रहे पी-प्रणाली के तीसरे संशोधन का प्रतिनिधित्व करता है।

संस्करण I
मूल संस्करण, कभी भी आधिकारिक रुप से कैलिफोर्निया विश्वविद्यालय, सैन डिएगो से दूर वितरित नहीं किया गया। यद्यपि, संस्करण I.3 और I.5 दोनों के लिए पास्कल स्रोतों को इच्छुक उपयोगकर्ताओं के बीच स्वतंत्र रूप से आदान-प्रदान किया गया था। विशेष रूप से, पैच संशोधन I.5a सबसे स्थिर में से एक के रूप में जाना जाता था।

संस्करण II
कई शुरुआती माइक्रो कंप्यूटरों पर व्यापक रूप से उपलब्ध है। कई संस्करणों में एप्पल II, डिजिटल उपकरण निगम पीडीपी-11, इंटेल 8080, जिलॉग जेड80 और एमओएस 6502 आधारित मशीनें, मोटोरोला 68000 और आईबीएम पीसी (पीसी पर संस्करण II एक 64K कोड खंड सीमा और एक 64K स्टैक/हीप डेटा तक सीमित था) सम्मिलित हैं। संस्करण चतुर्थ ने कोड खंड सीमा को हटाया और लागत बहुत अधिक कर दिया) सम्मिलित थे।).

इस युग के परियोजना सदस्यों में केनेथ बाउल्स, मार्क एलन (सॉफ्टवेयर डेवलपर), रिचर्ड ग्लीव्स, रिचर्ड कॉफमैन, पीट लॉरेंस, जोएल मैककॉर्मैक, मार्क ओवरगार्ड, कीथ शिलिंगटन, रोजर सुमनेर और जॉन वान ज़ंड्ट सम्मिलित हैं।

संस्करण III
पश्चिमी डिजिटल के लिए लिखा गया अनुकूलित संस्करण उनके पास्कल माइक्रोइंजिन माइक्रो कंप्यूटर पर चलने के लिए। सर्वप्रथम समानांतर प्रक्रियाओं के लिए समर्थन सम्मिलित है।

संस्करण IV
व्यावसायिक संस्करण, सॉफ्टटेक द्वारा विकसित और बेचा गया। संस्करण द्वितीय के आधार पर; संस्करण तृतीया से परिवर्तन सम्मिलित नहीं थे। उनके मूल्य निर्धारण संरचना के संयोजन के कारण अधिक विक्रय नहीं हुई, पी-कोड अनुवादक और मूल संचालन प्रणाली (जिसके शीर्ष पर यह प्रायः चलता था) के साथ प्रतिस्पर्धा के कारण प्रदर्शन की समस्याएं हुई। सॉफ्टटेक द्वारा उत्पाद स्खलित किए जाने के पश्चात, पी-प्रणाली उपयोगकर्ताओं और प्रशंसकों से बनी एक अपेक्षाकृत छोटी कंपनी पेकन प्रणाली द्वारा इसे चुना गया। अधिकतर पेकन की उचित मूल्य निर्धारण संरचना के कारण विक्रय में उचित रुप से सुधार हुआ, लेकिन पी-प्रणाली और यूसीएसडी पास्कल क्रमशः मूल संचालन प्रणाली और संकलक को व्यापार क्षय कर दिया। पी-कोड कार्ड, कमोडोर सीबीएम 8096 और सेज चतुर्थ से सुसज्जित टीआई-99/4ए के लिए उपलब्ध है।

आगे का उपयोग करें
कॉर्वस प्रणाली कंप्यूटर ने अपने सभी उपयोगकर्ता सॉफ़्टवेयर के लिए यूसीएसडी पास्कल का उपयोग किया। नक्षत्र ओएस की "अभिनव अवधारणा" पास्कल (व्याख्यात्मक या संकलित) चलाने और नियमावली (मैनुअल) में सभी सामान्य सॉफ़्टवेयर सम्मिलित करने के लिए थी, ताकि उपयोगकर्ता आवश्यकतानुसार संशोधित कर सकें।

यह भी देखें

 * पी-कोड मशीन

बाहरी संबंध

 * , UCSD has released portions of the p-System written before June 1, 1979, for non-commercial use. (Note: Webpage resizes browser window.)
 * UCSD Pascal Reunion, Presentations and Videos from a UCSD Pascal Reunion held at UCSD on October 22, 2004
 * PowerPoint and Video of "What the Heck was UCSD Pascal?," presented at the 2004 reunion PPT and Video
 * ucsd-psystem-os, cross-compilable source code for the UCSD p-System version II.0
 * ucsd-psystem-vm, a portable virtual machine for UCSD p-System p-code
 * A reconstruction of the UCSD Pascal System II.0 User Manual
 * Softech P-System disassembler
 * UCSD P-System Museum within the Jefferson Computer Museum
 * UCSD P-System at Pascal for Small Machines
 * UCSD Pascal Yahoo Group