صراط: یکی از معروف ترین پیام هایی که در تاریخ رایانه ها روی خروجی قرار گرفته، شاید پیامی باشد که 24 سال قبل در 25 آگوست 1991 منتشر شد!
در این پیام آمده بود: «سلام به همه دوستان در Minix. در حال طراحی سیستم عامل رایگان برای ابزارهای 360 (486) AT هستم، که البته بیشتر جنبه سرگرمی دارد و به اندازه GNU پیشرفته و بزرگ نیست. از ماه آوریل کار این طرح شروع و تقریبا آماده شده است».
بسیاری از کاربران این پیام «لینوس توروالدس» بر روی گروه خبری Usenet در comps.so.minix خواندند یا از دیگران درباره آن شنیدند. اکنون بسیاری از کاربران بر این موضوع واقف هستند که چطور این سیستم عامل «رایگان» ـ که بخش مهمی از رد پای تاریخ رایانه را به خود اختصاص داده ـ اکنون یک سیستم عامل هم «بزرگ» و هم «پیشرفته» است.
اما پرسش این است که وضعیت این سیستم عامل قبل از شهرتش چگونه بود؟ اتفاقات اساسی که منجر به آن شد تا «لینوس» اولین نسخه عمومی «لینوکس» را منتشر کند، چه بودند؟
مصاحبه ای که در سال 1996 با لینوس توروالدس در آپارتمان اش در هلسینکی فنلاند صورت گرفته، بخشی از این حقایق را در بر دارد که بعدها در کتابی با نام Rebel Cod گنجانده و در سال 2001 منتشر شد.
آنچه در ادامه می آید، بخش هایی با جزئیات بیشتر در مورد خلق لینوکس از زبان خالق آن است.
اولین رویارویی با Unix
در پاییز سال 1988 لینوس برای تحصیل در علوم کامپیوتر وارد دانشگاه هلسینکی و دو سال بعد بود که با Unix برای اولین بار روبرو شد. وی می گوید: «یک واحد درسی کوتاه در مورد Unix داشتیم. پاییز سال 1990 بود و دانشگاه یک سیستم از نوع MicroVAX را که با Ultrix کار می کرد، خریداری کرده بود و 16 کاربر را پشتیبانی می کرد. این واحد درسی در نتیجه بیشتر از 16 دانشجو را نمی توانست آموزش دهد، چون سخت افزار لازم را بیش از این در اختیار نداشت. لازم بود برای آنکه وارد Terminal شوید، در صف انتظار بمانید، اما با همان شرایط و بلافاصله من عاشق Unix شدم. فکر کنم بخاطر واسط کاربری مبتنی بر برنامه نویسی آن بود. میگ فتند Unix خیلی پیچیده است، اما به نظرم بسیار ساده بود».
یکی از کتاب های مرجعی که لینوس از آن استفاده کرد، کتاب معروف «آندرو تاننباوم» با عنوان سیستم های عامل بود که در عین حالی که جزئیات دقیق و مفصلی از چگونگی ساخت یک سیستم عامل در بر داشت، یک کد آموزشی از یک سیستم عامل ساده به نام Minix را نیز در دل خود داشت که در اصل برای پردازشگر Intel 8088 نوشته شده بود.
لینوس شخصا متخصص چیپ ها بود و بعد از آنکه از آخرین پردازنده اینتل به حد کافی متنفر شد، در مورد چیپ بعدی این شرکت یعنی 80386 نوشت: نمونه ای بهتر از سایر چیپ های قبلی. تا قبل از آنکه حضور این چیپ در سیستم شبیه به Unix یعنی Minix قطعی شود، لینوس برای برنامه نویسی از یک سیستم Quantum Leap و قبل از آن از یک Commodore Vice-20 استفاده می کرد؛ اما بعد از این تصمیم قطعی خود را برای خرید یک PC به شکل گرفت.
خرید اولین PC
موفقیت وی در خرید این PC مرهون پایین آمدن بهای سخت افزارها و برخی خوش شانسی های شخصی وی بود. او توانست از دانشگاه یک وام بگیرد و از آنجایی که به همراه مادرش در منزل شخصی خود بود، نیازی نداشت تا پول وام را در راه مخارج شخصی صرف کند. همچنین نزدیک کریسمس بود و بخشی از پول هدیه کریسمس نیز به کمک وی آمد و اولین روز بعد از تعطیلات برای خرید PC اقدام کرد؛ در 5 ژانویه 1991. وی در مورد مشخصات اولین PC خود می گوید: «پردازشگر اینتل 386 DX33، 4 مگابایت رم، 40 مگابایت حافظه دیسک سخت».
به رغم آنکه لینوس با شوق فراوان تمام پول و سرمایه خود را برای خرید این PC صرف کرد، تا چندین ماه بعد که فلاپی های Minix روانه بازار شود، نتوانست به سیستم عامل محبوب خود یعنی Unix دسترسی داشته باشد. در نتیجه لینوس هم بیشتر وقت خود را تا آن زمان مثل سایر برنامه نویسان به بازی Prince Of Persia روی DOS صرف کرد! البته نه تمام وقت خود، بلکه در همین حال،مشغول بررسی معماری پردازشگر 80386 اینتل بود. وی خود اولین تجربیاتش را اینگونه توصیف می کند: «در آن زمان مشغول بررسی قابلیت های Task Switching (سوییچ بین برنامه ها) بودم و در نتیجه برای آزمایش دو پروسه همزمان را نوشتم که با یک تایمر سوییچ می شدند؛ یکی از این پروسه ها حرف A را می نوشت و دیگری B را. قبل از این روی پردازشگر اینتل کد نویسی نکرده بودم».
کدی ساده که تبدیل به یک سیستم عامل شد
این کدنویسی ساده برای سوییچ بین برنامه ها، همان اولین گام اساسی در راهی است که به خلق لینوکس منتهی شد. لینوس میگوید: «دو پروسه اصلی که برای تایپ حرف A و B نوشته بودم، عملا کاربرد Task Switch داشت. یکی از این پروسه ها با صفحه کلید به شکل مستقیم در ارتباط بود و بنابراین کد مورد نظر برای درایور صفحه کلید را نوشته بودم و دیگری با مودم و VGA در ارتباط بود که به وسیله درایوری که برای آن نوشته بودم، می توانستم به دانشگاه متصل شوم و اخبار را بخوانم. این کار اصلی بود که کردم: خواندن خبرها از طریق مودم».
یکی از امتیازات خواندن اخبار از طریق این پروتکل ساده، این بود که لینوس را قادر می ساخت تا مشکلات فنی را به خوبی بررسی کند و در راه توسعه سیستم به وی کمک شایانی کرد.
وی میگوید: در تابستان سال 91 از این اخبار استفاده بهینه کردم و در مورد استانداردهای POSIX اطلاعات خوبی به دست آوردم. هر چقدر اخبار بیشتری می خواندم، این پکیج شبیه ساز را بهتر می کردم. بعد تصمیم گرفتم تا داده ها و اطلاعات را دانلود کنم که لازمه آن نوشتن یک درایور برای دیسک بود و همچنین لازم بود تا یک سیستم فایل جدید طراحی کنم که قادر به خواندن فایل سیستم Minix برای آپلود و دانلود باشد. در نتیجه وقتی شما یک برنامه برای سوییچ پروسه ها داشته باشید، عملا یک سیستم فایل و چند درایور مخصوص به آن را دارید. این همان Unix است.
لینوکس در واقع از همین زمان متولد شده بود اما لینوس هنوز به این شکل آن را عنوان نکرده بود. نام این سیستم عامل برگرفته از درخواست های لینوس برای اطلاعات POSIX در راستای همخوانی با سیستم عامل های مبتنی و شبیه به Unix بوده است. یکی از دانشجویان دانشگاه هلسینکی به نام «آری لماک» در این زمان به لینوس می گوید که استانداردها POSIX به رایگان در سطح آنلاین قرار ندارد و برای دسترسی به آنها باید مبلغی پرداخت شود. موضوعی که برای یک دانشجوی تهیدست بسیار سنگین بود.
اما لینوس می گوید: «این شخص که این خبر را به من داد، در حوزه کرنل ها و سیستم عامل ها فعالیت می کرد. وی روی یک سرور FTP فضایی داشت و به من گفت، یک دایرکتوری با آدرس pub/os/linux برای کار من ایجاد کرده است. در واقع Linux نام پروژه کاری من بود، ولی اگر با همین نام آن را به عموم معرفی می کردم، شائبه خودخواهی و خودپسندی من در میان بود. به همین دلیل نام افتضاح Freax را برای آن انتخاب کردم (Free Unix)؛ اما خوشبختانه آری لماک همچنان از نام لینوکس برای ارجاع به کار من استفاده می کرد و بعد از آن هم این نام هرگز تغییر نکرد.
لینوس در مورد نسخه های اول و دوم لینوکس می گوید: نسخه اول لینوکس را هرگز اعلام عمومی نکردم. تنها چند پیام شخصی در گروه خبری برای افرادی که به آن ابراز علاقه کرده بودند فرستادم. نسخه بعدی که چند هفته بعد منتشر شد، بسیار بهتر از نمونه اول بود و من این نسخه را اعلام رسمی کردم. نسخه اول خیلی سریع و با عجله طراحی شده بود، چون من احساس می کردم دایرکتوری من در سرور FTP نباید خالی باشد و باید چیزی به عنوان مشغول بودن به کار روی آن قرار دهم؛ اما نسخه دوم بسیار به آن چیزی که مد نظر داشتم نزدیک بود و این همان نسخه ای بود که پیامی در مورد آن در گروه خبری Minix قرار دادم.
لینوس توروالدس در سال 1996 گفت: نمی دانم اولین نسخه از لینوکس را چند نفر استفاده کردند؛ شاید 10 یا 20 نفر، اما ظاهرا این نسخه به حد کافی بزرگ و قابل احترام بود که منجر به مسیری شود که اکنون بعد از سالها شمار بسیاری از افراد از سیستم متولد شده از یک Task Switcher ساده استفاده می کنند.
در این پیام آمده بود: «سلام به همه دوستان در Minix. در حال طراحی سیستم عامل رایگان برای ابزارهای 360 (486) AT هستم، که البته بیشتر جنبه سرگرمی دارد و به اندازه GNU پیشرفته و بزرگ نیست. از ماه آوریل کار این طرح شروع و تقریبا آماده شده است».
بسیاری از کاربران این پیام «لینوس توروالدس» بر روی گروه خبری Usenet در comps.so.minix خواندند یا از دیگران درباره آن شنیدند. اکنون بسیاری از کاربران بر این موضوع واقف هستند که چطور این سیستم عامل «رایگان» ـ که بخش مهمی از رد پای تاریخ رایانه را به خود اختصاص داده ـ اکنون یک سیستم عامل هم «بزرگ» و هم «پیشرفته» است.
اما پرسش این است که وضعیت این سیستم عامل قبل از شهرتش چگونه بود؟ اتفاقات اساسی که منجر به آن شد تا «لینوس» اولین نسخه عمومی «لینوکس» را منتشر کند، چه بودند؟
مصاحبه ای که در سال 1996 با لینوس توروالدس در آپارتمان اش در هلسینکی فنلاند صورت گرفته، بخشی از این حقایق را در بر دارد که بعدها در کتابی با نام Rebel Cod گنجانده و در سال 2001 منتشر شد.
آنچه در ادامه می آید، بخش هایی با جزئیات بیشتر در مورد خلق لینوکس از زبان خالق آن است.
اولین رویارویی با Unix
در پاییز سال 1988 لینوس برای تحصیل در علوم کامپیوتر وارد دانشگاه هلسینکی و دو سال بعد بود که با Unix برای اولین بار روبرو شد. وی می گوید: «یک واحد درسی کوتاه در مورد Unix داشتیم. پاییز سال 1990 بود و دانشگاه یک سیستم از نوع MicroVAX را که با Ultrix کار می کرد، خریداری کرده بود و 16 کاربر را پشتیبانی می کرد. این واحد درسی در نتیجه بیشتر از 16 دانشجو را نمی توانست آموزش دهد، چون سخت افزار لازم را بیش از این در اختیار نداشت. لازم بود برای آنکه وارد Terminal شوید، در صف انتظار بمانید، اما با همان شرایط و بلافاصله من عاشق Unix شدم. فکر کنم بخاطر واسط کاربری مبتنی بر برنامه نویسی آن بود. میگ فتند Unix خیلی پیچیده است، اما به نظرم بسیار ساده بود».
یکی از کتاب های مرجعی که لینوس از آن استفاده کرد، کتاب معروف «آندرو تاننباوم» با عنوان سیستم های عامل بود که در عین حالی که جزئیات دقیق و مفصلی از چگونگی ساخت یک سیستم عامل در بر داشت، یک کد آموزشی از یک سیستم عامل ساده به نام Minix را نیز در دل خود داشت که در اصل برای پردازشگر Intel 8088 نوشته شده بود.
لینوس شخصا متخصص چیپ ها بود و بعد از آنکه از آخرین پردازنده اینتل به حد کافی متنفر شد، در مورد چیپ بعدی این شرکت یعنی 80386 نوشت: نمونه ای بهتر از سایر چیپ های قبلی. تا قبل از آنکه حضور این چیپ در سیستم شبیه به Unix یعنی Minix قطعی شود، لینوس برای برنامه نویسی از یک سیستم Quantum Leap و قبل از آن از یک Commodore Vice-20 استفاده می کرد؛ اما بعد از این تصمیم قطعی خود را برای خرید یک PC به شکل گرفت.
خرید اولین PC
موفقیت وی در خرید این PC مرهون پایین آمدن بهای سخت افزارها و برخی خوش شانسی های شخصی وی بود. او توانست از دانشگاه یک وام بگیرد و از آنجایی که به همراه مادرش در منزل شخصی خود بود، نیازی نداشت تا پول وام را در راه مخارج شخصی صرف کند. همچنین نزدیک کریسمس بود و بخشی از پول هدیه کریسمس نیز به کمک وی آمد و اولین روز بعد از تعطیلات برای خرید PC اقدام کرد؛ در 5 ژانویه 1991. وی در مورد مشخصات اولین PC خود می گوید: «پردازشگر اینتل 386 DX33، 4 مگابایت رم، 40 مگابایت حافظه دیسک سخت».
به رغم آنکه لینوس با شوق فراوان تمام پول و سرمایه خود را برای خرید این PC صرف کرد، تا چندین ماه بعد که فلاپی های Minix روانه بازار شود، نتوانست به سیستم عامل محبوب خود یعنی Unix دسترسی داشته باشد. در نتیجه لینوس هم بیشتر وقت خود را تا آن زمان مثل سایر برنامه نویسان به بازی Prince Of Persia روی DOS صرف کرد! البته نه تمام وقت خود، بلکه در همین حال،مشغول بررسی معماری پردازشگر 80386 اینتل بود. وی خود اولین تجربیاتش را اینگونه توصیف می کند: «در آن زمان مشغول بررسی قابلیت های Task Switching (سوییچ بین برنامه ها) بودم و در نتیجه برای آزمایش دو پروسه همزمان را نوشتم که با یک تایمر سوییچ می شدند؛ یکی از این پروسه ها حرف A را می نوشت و دیگری B را. قبل از این روی پردازشگر اینتل کد نویسی نکرده بودم».
کدی ساده که تبدیل به یک سیستم عامل شد
این کدنویسی ساده برای سوییچ بین برنامه ها، همان اولین گام اساسی در راهی است که به خلق لینوکس منتهی شد. لینوس میگوید: «دو پروسه اصلی که برای تایپ حرف A و B نوشته بودم، عملا کاربرد Task Switch داشت. یکی از این پروسه ها با صفحه کلید به شکل مستقیم در ارتباط بود و بنابراین کد مورد نظر برای درایور صفحه کلید را نوشته بودم و دیگری با مودم و VGA در ارتباط بود که به وسیله درایوری که برای آن نوشته بودم، می توانستم به دانشگاه متصل شوم و اخبار را بخوانم. این کار اصلی بود که کردم: خواندن خبرها از طریق مودم».
یکی از امتیازات خواندن اخبار از طریق این پروتکل ساده، این بود که لینوس را قادر می ساخت تا مشکلات فنی را به خوبی بررسی کند و در راه توسعه سیستم به وی کمک شایانی کرد.
وی میگوید: در تابستان سال 91 از این اخبار استفاده بهینه کردم و در مورد استانداردهای POSIX اطلاعات خوبی به دست آوردم. هر چقدر اخبار بیشتری می خواندم، این پکیج شبیه ساز را بهتر می کردم. بعد تصمیم گرفتم تا داده ها و اطلاعات را دانلود کنم که لازمه آن نوشتن یک درایور برای دیسک بود و همچنین لازم بود تا یک سیستم فایل جدید طراحی کنم که قادر به خواندن فایل سیستم Minix برای آپلود و دانلود باشد. در نتیجه وقتی شما یک برنامه برای سوییچ پروسه ها داشته باشید، عملا یک سیستم فایل و چند درایور مخصوص به آن را دارید. این همان Unix است.
لینوکس در واقع از همین زمان متولد شده بود اما لینوس هنوز به این شکل آن را عنوان نکرده بود. نام این سیستم عامل برگرفته از درخواست های لینوس برای اطلاعات POSIX در راستای همخوانی با سیستم عامل های مبتنی و شبیه به Unix بوده است. یکی از دانشجویان دانشگاه هلسینکی به نام «آری لماک» در این زمان به لینوس می گوید که استانداردها POSIX به رایگان در سطح آنلاین قرار ندارد و برای دسترسی به آنها باید مبلغی پرداخت شود. موضوعی که برای یک دانشجوی تهیدست بسیار سنگین بود.
اما لینوس می گوید: «این شخص که این خبر را به من داد، در حوزه کرنل ها و سیستم عامل ها فعالیت می کرد. وی روی یک سرور FTP فضایی داشت و به من گفت، یک دایرکتوری با آدرس pub/os/linux برای کار من ایجاد کرده است. در واقع Linux نام پروژه کاری من بود، ولی اگر با همین نام آن را به عموم معرفی می کردم، شائبه خودخواهی و خودپسندی من در میان بود. به همین دلیل نام افتضاح Freax را برای آن انتخاب کردم (Free Unix)؛ اما خوشبختانه آری لماک همچنان از نام لینوکس برای ارجاع به کار من استفاده می کرد و بعد از آن هم این نام هرگز تغییر نکرد.
لینوس در مورد نسخه های اول و دوم لینوکس می گوید: نسخه اول لینوکس را هرگز اعلام عمومی نکردم. تنها چند پیام شخصی در گروه خبری برای افرادی که به آن ابراز علاقه کرده بودند فرستادم. نسخه بعدی که چند هفته بعد منتشر شد، بسیار بهتر از نمونه اول بود و من این نسخه را اعلام رسمی کردم. نسخه اول خیلی سریع و با عجله طراحی شده بود، چون من احساس می کردم دایرکتوری من در سرور FTP نباید خالی باشد و باید چیزی به عنوان مشغول بودن به کار روی آن قرار دهم؛ اما نسخه دوم بسیار به آن چیزی که مد نظر داشتم نزدیک بود و این همان نسخه ای بود که پیامی در مورد آن در گروه خبری Minix قرار دادم.
لینوس توروالدس در سال 1996 گفت: نمی دانم اولین نسخه از لینوکس را چند نفر استفاده کردند؛ شاید 10 یا 20 نفر، اما ظاهرا این نسخه به حد کافی بزرگ و قابل احترام بود که منجر به مسیری شود که اکنون بعد از سالها شمار بسیاری از افراد از سیستم متولد شده از یک Task Switcher ساده استفاده می کنند.