युनिक्स ऑपरेटिंग प्रणालीच्या जन्माची कथा अत्यंत विलक्षण आहे. ते १९६० चं दशक होतं. संगणकविश्वावर आयबीएम मेनफ्रेमचं राज्य होतं. पण डीईसी कंपनीचे लघुसंगणक बाजारात यायला सुरुवात झाली होती. त्यामुळे व्यावसायिक उद्योगांबरोबर अनेक विश्वविद्यालयांतल्या संगणक संशोधन विभागांनी तुलनेने बऱ्याच स्वस्त अशा लघुसंगणकांना आपलंसं करायला सुरुवात केली होती.

हे संगणक संशोधन विभाग प्रामुख्याने मेनफ्रेम व लघुसंगणकांवर सुलभतेने वापरता येईल अशा विविध प्रकारच्या सॉफ्टवेअर प्रणालींची निर्मिती करण्यात गुंतलेले असत. मग ती संगणकाची मूळ ऑपरेटिंग प्रणाली असो, संगणकावर आकडेमोड करण्यासाठी लागणाऱ्या आज्ञावलींना संगणकावर चढवून एकत्र करणारी जुळवणी प्रणाली असो किंवा आज्ञावलींचे रूपांतर संगणकाला समजणाऱ्या यंत्रभाषेत करणारी भाषांतर व संकलन प्रणाली असो.  असंच १९६४ मध्ये अमेरिकेतल्या एमआयटी (मॅसॅच्युसेट्स इन्स्टिटय़ूट ऑफ टेक्नॉलॉजी) या प्रख्यात विद्यापीठातील संगणक केंद्रातल्या संशोधकांनी बेल लॅब्स (बेल टेलिफोन लॅबोरेटरीज – अमेरिकेतली इलेक्ट्रॉनिक, संगणक व दळणवळण क्षेत्रात मूलभूत संशोधन करणारी अग्रगण्य संस्था) व जनरल इलेक्ट्रिक (जीई) कंपनीमधल्या संशोधकांबरोबर एका संगणक प्रकल्पाला संयुक्तपणे सुरुवात केली. या प्रकल्पाचं उद्दिष्ट होतं एका अत्याधुनिक ऑपरेटिंग प्रणालीची निर्मिती करणं ज्यात अनेक वापरकर्ते एकाच वेळेला विविध आज्ञा संगणकाला देऊ  शकतील. या प्रकल्पाचं व त्यातल्या नियोजित ऑपरेटिंग प्रणालीचं नाव होतं – मल्टिक्स (Multics – Multiplexed Information and Computing Service चं लघुरूप).

मल्टिक्स प्रकल्प बराच गाजावाजा होऊन सुरू झाला असला तरीही थोडय़ाच कालावधीत विविध समस्यांच्या गर्तेत अडकला. प्रथमत: प्रकल्पाच्या तीनही संस्थांमध्ये समन्वयाचा अभाव होता. त्यामुळे प्रकल्पात काम करणाऱ्या तंत्रज्ञांमध्ये एकवाक्यता नव्हती. जरी प्रकल्पाचा बाह्य़ उद्देश हा मल्टिक्स प्रणालीची निर्मिती करणं हा असला तरीही या तीनही संस्थांचे मूळ उद्देश वेगवेगळे होते ज्यामुळे या प्रणालीच्या निर्मितीप्रक्रियेमध्ये कोणताही निर्णय घ्यायला पुष्कळ वेळ लागत होता व निर्मितीचं काम लांबणीवर पडत होतं.

अखेर प्रकल्प सुरू झाल्यानंतर ४ वर्षांनी, १९६८ मध्ये, प्रकल्पातल्या भागीदार असलेल्या तीनही संस्थांना हे कळून चुकलं की मल्टिक्स प्रकल्प संपूर्णपणे अयशस्वी ठरला आहे. ज्या प्रणालीची निर्मिती एका वेळेला हजारांपेक्षा अधिक तंत्रज्ञांच्या आज्ञा हाताळण्यासाठी झाली होती ती प्रणाली १९६८ मध्ये जेमतेम ३ वापरकर्त्यांच्या आज्ञा एकत्र हाताळू शकत होती. या प्रकल्पाचे प्रमुख प्रायोजक, अमेरिकन संरक्षण खाते, या प्रकल्पात अधिक गुंतवणूक करण्यास फारसे अनुकूल नव्हते व १९६८ साली झालेल्या वार्षिक प्रकल्प आढावा बैठकीत त्यांनी तसं उघडपणे बोलूनही दाखवलं होतं.

अशा मानखंडनेनंतर १९६९ साली अखेरीस बेल लॅब्सने या प्रकल्पामधून बाहेर पडण्याचा निर्णय घेतला. गेल्या ५ वर्षांत बेल लॅब्सने आपला वेळ, पैसा व शक्ती प्रचंड प्रमाणात या प्रकल्पासाठी खर्ची घातली होती. या प्रकल्पाच्या अपयशामुळे बेल लॅब्सचे संचालक मंडळ यापुढे कोणत्याही नव्या संगणकीय ऑपरेटिंग प्रणालीच्या निर्मितीस हात घालण्यास पूर्णपणे प्रतिकूल होते.

अशा निराशाजनक वातावरणात बेल लॅब्समधल्या मल्टिक्स प्रकल्पात महत्त्वपूर्ण योगदान देणाऱ्या संशोधकांची कुचंबणा होत होती. यात आघाडीवर होता कुशाग्र बुद्धिमत्तेचा व महत्त्वाकांक्षी संशोधक केन थॉम्पसन व त्याच्याच तोडीचा सहकारी डेनिस रिची! त्यांच्या योग्यतेचे व अभिरुचीचे काम करण्यास संस्था आता अनुत्सुक होती.  जरी मल्टिक्स प्रकल्प अयशस्वी झाला असला तरीही थॉम्पसन, रिची व त्यांच्या इतर सहकाऱ्यांनी यातून तांत्रिक प्रकल्प व्यवस्थापनाबद्दलचे योग्य ते धडे घेतले होते. याच अनुभवातून आलेल्या शहाणपणाचा वापर करून मल्टिक्सपेक्षा अधिक सुटसुटीत ऑपरेटिंग प्रणाली बनविण्याची संकल्पना या दोघांच्याही मनात घोळत होती.

१९६९ च्या उन्हाळ्यात केन थॉम्पसनला आपल्या मनातल्या संकल्पनेला मूर्त स्वरूप देण्याची सुवर्णसंधी मिळाली. त्याची पत्नी त्यांच्या नवजात शिशूला घेऊन चार आठवडय़ांसाठी आपल्या माहेरी गेली व अशा कामांसाठी लागणारी मानसिक शांती व निवांतपणा केनला अनायासे मिळाला. त्याच्याकडे चार आठवडय़ांचा अवधी होता व हातापाशी पीडीपी – ७ लघुसंगणक होता. त्याने ऑपरेटिंग प्रणाली निर्मितीच्या कामाला चार भागांत विभागले.

१) कर्नल (Kernel) – कुठल्याही ऑपरेटिंग प्रणालीचा सर्वात महत्त्वाचा आणि मध्यवर्ती भाग, जो संगणकाचे हार्डवेअर आणि संगणकांवर चालणारे विविध प्रोग्राम्स किंवा आज्ञावल्या यातला दुवा असतो. २) शेल (Shell) – ऑपरेटिंग प्रणालीमधली अशी जागा जेथे संगणक तंत्रज्ञ संगणकाला विविध आज्ञा अथवा सूचना देऊ  शकतात. ३) एडिटर (Editor) –  ऑपरेटिंग प्रणालीमधली अशी जागा जेथे संगणक तंत्रज्ञ विविध आज्ञावल्यांचे लेखन करू शकतात. आणि ४) असेम्ब्लर (Assembler) – एक प्रकारचा दुभाषा जो संगणकाला मानवसदृश भाषेत दिलेल्या आज्ञांचे यंत्रभाषेत रूपांतर करतो. वर उल्लेखलेले चारही भाग थॉम्पसनने प्रत्येकी एका आठवडय़ात एक अशा पद्धतीने लिहून काढले. (पत्नी माहेरी जाण्याचे फायदे हे सार्वकालिक आहेत व त्यांना कोणत्याही भौगोलिक सीमांचे बंधन नाही ही बाब जाता जाता येथे अधोरेखित करावीशी वाटते. असो.)

तर महिन्याभरात थॉम्पसनची ऑपरेटिंग प्रणाली तयार होती; जिला त्याने युनिक्स (UNICS – UNiplexed Information and Computing Services चं लघुरूप) असं नाव दिलं. केवळ चार आठवडय़ांच्या कालावधीत ऑपरेटिंग प्रणालीसारख्या अत्यंत गुंतागुंतीच्या व किचकट सॉफ्टवेअरची एकहाती निर्मिती करणं हे थॉम्पसनची अलौकिक प्रतिभा दर्शवतेच, पण त्याने या प्रणालीला युनिक्स नाव देऊन आधीच्या मल्टिक्स प्रणालीवर जी मार्मिक कोटी केली आहे ती त्याच्या तिरकस विनोदबुद्धीचीसुद्धा झलक देते. पुढे याच UNICS चं Unix असं नामकरण झालं जे आजतागायत टिकून राहिलं.

युनिक्स ऑपरेटिंग प्रणाली दोन गोष्टींसाठी फार महत्त्वाची आहे. एक म्हणजे, जरी कालपरत्वे तिच्यात विविध बदल होत गेले, वेगवेगळ्या आवृत्त्या निघत गेल्या, तरीही ती काळाला पुरून उरली. केवळ संशोधनापुरती मर्यादित न राहता व्यावसायिक क्षेत्रातदेखील युनिक्स प्रचंड मान्यता पावली. पुढील काळात म्हणजे १९९० व २०००च्या दशकात आलेल्या ऑपरेटिंग प्रणाली जशा लायनक्स, सन मायक्रोसिस्टिम या कंपनीची सोलारिस, आयबीएमची एआयक्स, एचपीची युक्स  किंवा अगदी अ‍ॅप्पलची मॅक ओएस, या सगळ्याच युनिक्ससदृश ऑपरेटिंग प्रणाली आहेत कारण त्यांचं सॉफ्टवेअर आरेखन व बांधणी युनिक्सशी मिळतीजुळती आहे. यावरूनच युनिक्सचा प्रभाव किती दीर्घकाळपर्यंत टिकून राहिला हे लक्षात येईल.

दुसरं म्हणजे (आणि जे आपल्या लेखमालिकेशी निगडित आहे), युनिक्स ऑपरेटिंग प्रणालीच्या निर्मिती व व्यवस्थापनामागची जी तात्त्विक बैठक आहे ती ओपन सोर्सच्या तत्त्वांशी पुष्कळ जवळीक साधणारी आहे. किंबहुना असं म्हणता येईल की युनिक्स ऑपरेटिंग प्रणालीने नकळतपणे का होईना ओपन सोर्स व्यवस्थेची मुहूर्तमेढ संगणक क्षेत्रात प्रथमत: रोवली; ज्याचा आढावा आपण पुढील लेखात घेऊ.

अमृतांशू नेरुरकर

amrutaunshu@gmail.com