تولد مادر اينترنت

هر روز ميليون‌ها نفر گستره وسيعي از نيازهاي روزمره خود را از طريق اينترنت تامين مي‌كنند و در كنار آن از كار كردن با واسط‌هاي گرافيكي و مشاهده صفحه‌هاي پرزرق و برق "وب" لذت مي‌برند. از زماني كه دولت ايالات متحده -كه سرمايه‌گذار اصلي چيزي است كه امروزه اينترنت ناميده مي‌شود - تصميم گرفت بازيگران تجاري را به آن راه دهد، روز به روز بر سهولت كار با اينترنت افزوده شد. سهولت كار با اينترنت براي توسعه فراگير آن كاملاً حياتي بود. در سايه همين سهولت استفاده است كه يك نوجوان مدرسه‌اي بدون هيچ پيش‌زمينه قبلي در اولين تلاش خود براي اتصال به شبكه جهاني موفق مي‌شود و خاطره شيرين اولين وبگردي را براي هميشه با خود نگاه مي‌دارد. از طرف ديگر اين مسئله اصلاً اتفاقي نيست و نتيجه سرمايه گذاري هنگفت غول‌هاي اقتصادي و تلاش متخصصاني است كه معماري شبكه و طراحي پروتكل ها و در نهايت پياده سازي آنها را بر عهده داشتند. در تمام اين مراحل همواره پشت متخصصان به يك ابزار قوي گرم بوده و هست. اين ابزار در ايجاد و توسعه اينترنت چنان نقش مهمي ايفا كرده كه به جرات مي توان آن را مادر اينترنت ناميد. نام اين ابزار قوي Unix است. UNIX وقتي با حروف بزرگ نوشته مي‌شود يك محصول تجاري است. در عين حال از اين كلمه براي اشاره به خانواده وسيعي از سيستم عامل‌ها نيز استفاده مي‌شود كه همگي استاندارد‌هاي خاصي را رعايت مي‌كنند كه مهم ترين آنها استانداردي به نام POSIX است. براي كاربرد اخير در اين مقاله از شكل Unix استفاده مي‌كنيم.

خانواده‌اي كه با نام كلي Unix شناخته مي‌شود چنان وسيع است كه خود از چندين زيرخانواده مهم تشكيل شده است. به عنوان مثال تمام انواع توزيع‌هاي Linux اعضاي زيرخانواده Linux به شمار مي‌روند. از ديگر زير خانواده‌هاي مهم مي توان به System V و BSD اشاره كرد. در هر يك از اين خانواده ها چندين سيستم عامل جاي مي‌گيرند و علاوه بر اين كه هر زيرشاخه ويژگي‌هاي كلي خاص خود را دارد هر يك از اعضاي آنها با در عين داشتن شباهت‌هاي بي شمار با ديگران، ويژگي‌هاي خاص خود را نيز دارد. متخصص هر يك از اين سيستم ها به سادگي مي تواند دانش خود را به ديگري منتقل كند و هيچ يك از آنها نمي تواند جاي ديگران را بگيرد. به عنوان نمونه اي از ويژگي ها كلي جالب است بدانيم خانواده System V بيشتر در ميان توليدكنندگان تجاري محبوبيت دارد در حالي كه BSDها همين وضعيت را در مجامع دانشگاهي دارند. خانواده BSD بستر توسعه قسمت عمده تكنولوژي هايي است كه امروزه اينترنت براساس آنها كار مي‌كند. مجموعه اين فناوري ها تحت عنوان كلي TCP/IP شناخته مي‌شوند. از همين رو است كه سيستم عامل‌هاي اين خانواده بالاترين كارايي را در محيط هايي دارند كه وابستگي شديد به ارتباطات شبكه دارد. به علاوه اين سيستم عامل ها سابقه بسيار درخشاني در زمينه امنيت و پايداري و از همه مهم تر پشتيباني از معماري‌هاي مختلف سخت افزاري دارند. BSDها هميشه سيستم عامل هايي دانشگاهي- صنعتي بوده اند. امروزه نيز عموماً صنايع بسيار راديكال از نظر فني كه ارتباط خود با دانشگاه ها را از شروط اساسي موفقيت خود مي دانند از اين سرمايه‌هاي عظيم و رايگان بهره مي برند. يك مثال خوب از اين قبيل شركت‌ها، غول اينترنتي معروف يعني Yahoo! است.
اين شركت كه مستقيماً از Stanford بيرون آمده يكي از مهم‌ترين پشتيبان‌هاي سيستم عامل‌هاي پيشرفته BSD است.

• تاريخچه BSD
تاريخچه ايجاد اين خانواده و زيرشاخه‌هاي مختلف آن از جذاب ترين و آموزنده ترين داستان‌هاي علمي است. در اين نوشته اين داستان زيبا را مرور مي‌كنيم. قبل از پرداختن به چگونگي توسعه اين سيستم عامل ها خوب است مشخص كنيم اين داستان براي چه كساني مفيد است. به عقيده نگارنده مخاطبان اصلي چنين داستان هايي متوليان توسعه تكنولوژيكي در داخل دولت و نيز دانشگاه ها هستند. اين افراد در كشور ما هنوز به خوبي نمي دانند با متخصصين و محققين دانشگاهي چگونه ارتباط برقرار كنند، چگونه آنها را به انجام كار‌هاي مورد نظر خود تشويق كنند و به طور خلاصه چگونه توانايي‌هاي آنها را به كار گيرند.

در اوايل دهه 1960 هنوز اكثر كامپيوتر ها و Mainframeها توسط سيستم عامل‌هاي دسته اي كه اصطلاحاً Batch Processing Operating System ناميده مي‌شوند به كار گرفته مي شدند. اولين بار در دهه 1950 ايده سيستم عامل‌هاي اشتراك زماني مطرح شده بود، اما به دليل محدوديت‌هاي كامپيوتر‌هاي آن زمان كه حتي به اندازه يك تلفن همراه امروزي حافظه نداشتند امكان استفاده مناسب از اين ايده فراهم نبود. اولين سيستم عامل اشتراك زماني معروف، CTSS نام داشت. نقاط قوت ذاتي فراوان اين سيستم عامل همه غول‌هاي دنياي كامپيوتر را متوجه ساخته بود كه دير يا زود سيستم عامل هايي از اين دست فراگير خواهند شد. براي پيشي گرفتن از ديگران شركت General Electric به همراه شركت مخابرات آمريكا يعني AT&T و با همكاري تحقيقاتي دانشگاه MIT پروژه اي به نام Multics را شروع كردند. هدف از اين پروژه توليد سيستم عاملي بود كه Mainframeهاي بزرگ را به صورت اشتراك زماني در اختيار هزاران هزار كاربر قرار دهد. Multics در واقع بسيار فراتر از زمان خود بود و اهداف اقتصادي بنيانگذاران خود را تامين نمي كرد. در نتيجه رشد بسيار كند پروژه، AT&T از Multics كناره گرفت و پس از اين اتفاق Multics به حيات خود ادامه داد اما هرگز به يك سيستم عامل فراگير تبديل نشد.
دو نفر از محققين AT&T كه در يكي از آزمايشگاه‌هاي تحقيقاتي AT&T به نام Bell Labs بر روي Multics كار مي كردند كن تامپسون و دنيس ريچي بودند. اين دو نفر با همكاري افراد ديگري با بهره گيري از ايده‌هاي بسيار پيشرفته اي كه در Multics وجود دارد و براي به كار انداختن كامپيوتر PDP-7 كه در آزمايشگاه در اختيار داشتند سيستم عاملي بسيار ساده ساختند و نام آن را Unics (بر عكس Multics) نهادند كه بعد ها به Unix تغيير پيدا كرد. به تدريج توانايي‌هاي ذاتي Unix و دانش و تجربه طراحان آن، اين سيستم عامل را در قسمت‌هاي مختلف AT&T معروف ساخت و كاربرد‌هاي واقعي آن باعث شد بودجه بيشتري براي توسعه آن در اختيار اين افراد قرار بگيرد. اما همچنان Unix يك سيستم عامل آزمايشگاهي و بستري براي تحقيقات در زمينه‌هاي مختلف كامپيوتر بود. در آن زمان بنابر قوانين ايالات متحده AT&T حق كسب درآمد از طريق فروش نرم‌افزار را نداشت. محققين Bell Labs از اين فرصت بهره جسته، Unix را به صورت رايگان در اختيار متقاضيان كه عموماً مراكز تحقيقاتي و دانشگاهي بودند قرار دادند. اين امر نقش بسيار مهمي در توسعه فناوري‌هاي مختلف در دل اين سيستم عامل جديد داشت و موجب رشد بسيار سريع آن به خصوص در ميان قشر تحصيل كرده و محققين شد، امري كه همچنان در كنار معماري خاص Unix عامل اصلي توسعه پايدار سيستم عامل ها ي اين خانواده است. در كنار اين مسئله باز بودن متن Unix نقش بسزايي در توسعه دانش سيستم عامل و نيز خود Unix داشت.
كن و دنيس اولين مقاله در زمينه Unix را در سمپوزيوم "اصول سيستم عامل ها" در دانشگاه "پرودو" در نوامبر سال 1973 ارائه كردند. يكي از حاضران به نام پروفسور باب فابري كه از اساتيد دانشگاه كاليفرنيا بود به اين سيستم عامل جديد علاقه‌مند شد و از تامپسون خواست نسخه اي از Unix را در اختيار دانشگاه وي قرار دهد. براي نصب اين سيستم عامل يك كامپيوتر جديد لازم بود. تا آن زمان تمام كامپيوتر‌هاي دانشگاه بركلي mainframe هايي بودند كه پردازش دسته‌اي انجام مي دادند. در نهايت سه دپارتمان علوم كامپيوتر، رياضيات و آمار توانستند با كمك هم يك كامپيوتر PDP-11خريداري كنند. پس از تلاش بسيار Unix بر روي اين ماشين جديد نصب شد. به زودي اين كامپيوتر كاربرد‌هاي فراواني در بركلي پيدا كرد. از جمله گروه توسعه پايگاه داده INGRES محيط پردازش دسته‌اي را رها كرده نرم‌افزار خود را به Unix منتقل كرد. آنها پس از مدتي نرم‌افزار خود را به صورت رايگان و با متن باز در اختيار متقاضيان قرار دادند. اين روند در بركلي ادامه پيدا كرد و به اين ترتيب نرم‌افزار‌هاي فراواني به صورت رايگان در اختيار متقاضيان قرار مي گرفتند. اين نرم‌افزار ها تحت عنوان BSD يا Barkeley Software Distribution توزيع مي شدند. كساني كه با دنياي Unix آشنايي دارند، همچنان با بسياري از آنها مانند ويرايشگر vi زندگي مي‌كنند.

تحقيق و توسعه به شكل خودجوش و داوطلبانه تا سال 1979 در بركلي ادامه پيدا كرد. تا اين زمان سه نسخه از BSD منتشر شده بود. اين نسخه ها به عنوان مكملي براي Unix اصلي كه توسط AT&T منتشر مي شد عمل مي كردند. علاوه بر اين دانشگاه بركلي نقش عمده اي در قابل اجرا كردن Unix بر روي يكي از مهم ترين سخت افزار‌هاي آن زمان به نام VAX ايفا كرد. Unix در آن زمان سيستم عاملي محسوب مي شد كه مي توانست با كم ترين هزينه بر روي سخت افزار‌هاي جديد اجرا شود. اين امر ناشي از اين واقعيت بود كه بر خلاف سيستم عامل‌هاي ديگر رايج در آن زمان Unix به زبان ماشين نوشته نشده بود بلكه آن را با زباني "سطح بالا" به نام C -كه اختراع Dennis Ritchie بود- نوشته بودند.
در همين زمان اتفاق مهم ديگري در آژانس تحقيقات پيشرفته وزارت دفاع آمريكا (DARPA) در حال رخ دادن بود كه تاثير بسيار مهمي بر Unix و به خصوص BSD داشت. DARPA پايه گذار شبكه اي به نام ARPAnet بود كه پدر اينترنت محسوب مي‌شود. يكي از مشكلات اصلي DARPA وابستگي به محصولات يك شركت خاص براي رايانه‌هاي ARPAnet بود. DARPA ترجيح مي داد به محققاني كه از ARPAnet استفاده مي كردند اين امكان را بدهد كه هر سخت افزاري را انتخاب كنند و با نصب يك سيستم عامل استاندارد بر روي آن بتوانند با تمام كامپيوتر‌هاي ديگر موجود در ARPAnet ارتباط برقرار كنند. پس از مطالعاتي در اين زمينه مديران DARPA سيستم عامل Unix را با توجه به قابليت انتقال سريع به سخت‌افزار‌هاي جديد به عنوان سيستم عامل استاندارد ARPAnet انتخاب كردند.

بالاخره با سرمايه‌گذاري DARPA، محققان دانشگاه بركلي فعاليت خود را با سازماندهي جديد و با هدف توليد سيستم عامل مورد نظر آنان شروع كردند. اولين مرحله كار اعمال تغييرات لازم و نيز توسعه بخش‌هاي جديدي در Unix موجود براي تامين نظر DARPA بود. اين تغييرات عبارت بودند از توليد يك سيستم فايل كارا، فراهم آوردن امكان داشتن پردازه‌هاي با فضاي آدرس بزرگ و تكنيك‌هاي ارتباط بين پردازه ها براي تسهيل انجام محاسبات توزيع شده در ARPAnet. در كنار اين ويژگي ها اولين پياده سازي پروتكل‌هاي TCP/IP در BSD صورت گرفت و تلاش زيادي براي بهبود كارايي آن صورت گرفت.روش كار به اين ترتيب بود كه كد تغيير يافته Unix كه در بركلي توليد مي شد به صورت رايگان در اختيار متقاضيان قرار مي گرفت، مشروط بر آنكه دريافت كننده هزينه مجوز استفاده از UNIX را به AT&T بپردازد. بالاخره در سال 1989 كد‌هاي توليد شده توسط CSRG به صورت جداگانه تحت عنوان Networking, Release1 و با مجوزي كه امروزه به مجوز BSD معروف است ارائه شد. محبوبيت اين توزيع به دليل رايگان بودن آن به حدي رسيد كه توسعه دهندگان اصلي در CSRG وسوسه شدند تمام قسمت هايي را كه متعلق به AT&T Unix بود را دوباره بنويسند تا بتوانند يك سيستم عامل كامل را تحت مجوز آزاد BSD در اختيار همگان قرار دهند.

مشكل اصلي ارائه يك سيستم عامل كامل بازنويسي حجم قابل توجه برنامه‌هاي كاربردي و كتابخانه‌هاي C بود. براي انجام اين كار CSRG به يك ابتكار جالب دست زد. آنها در محافل مختلف علاقه مندان Unix، هدف خود را اعلام كردند و از افراد داوطلب خواستند اين قسمت‌هاي سيستم عامل را بازنويسي كنند و در مقابل نام آنها در كنار توسعه دهندگان CSRG منتشر خواهد شد. اين روش بر خلاف آنچه در آغاز به نظر مي رسيد كاملاً موفق بود و در مدتي حدود دو سال تمام اين قسمت ها بازنويسي شدند. پس از آن توسعه دهندگان اصلي در CSRG، كار دشوار بازنويسي قسمت‌هاي مختلف هسته را شروع كردند. پس از چندين ماه كار تقريباً تمام شده بود و تنها 6 فايل مربوط به هسته باقي مانده بود كه بايد بازنويسي مي شد. بازنويسي اين فايل ها به زمان نسبتاً طولاني نياز داشت. در نهايت CSRG تصميم گرفت به جاي صرف وقت لازم براي بازنويسي اين 6 فايل آنچه را كه موجود بود در اختيار همگان قرار دهد.براي توزيع اين مجموعه جديد كه در واقع يك نسخه كاملاً جديد و رايگان از سيستم عامل Unix بود اتفاق بسيار جالب توجهي افتاد. با توجه به حجم عظيم كار انجام شده كاملاً منطقي بود كه كد جديد با يك نام جديد و مناسب ارائه شود. اما CSRG به اين نتيجه رسيد زمان و هزينه لازم براي طي كردن مراحل حقوقي توزيع كار انجام شده تحت يك نام جديد ارزش چنداني ندارد و در نتيجه تمام اين سيستم عامل جديد تحت عنوان Networking, Release2 عرضه شد، در حالي كه آنچه در اختيار كاربران قرار مي گرفته در واقع يك سيستم عامل كاملاً رايگان بود.

• BSDهاي مدرن
ويژگي‌هاي منحصر به فردي كه از همان ابتدا در كد BSD وجود داشت ادامه حيات آن را به صورت فعال تضمين مي‌كند. هم اكنون BSDها يك خانواده مهم از Unix محسوب مي‌شوند كه چندين عضو مهم دارد. بيشتر اين سيستم عامل ها همچنان ماهيت باز و رايگان خود را حفظ كرده اند. در اين قسمت سه سيستم عامل كه از بقيه مهم ترند را معرفي مي‌كنيم.
NetBSD
جايگزين كردن 6 فايل باقي مانده كار چنداني نداشت. شخصي به نام Jolis به سادگي اين فايل ها را براي معماري Intel386 ايجاد كرد و سيستم عامل حاصل را BSD 386 ناميد. وي نتايج كار خود را بر روي شبكه قرار داد تا هركه مايل بود آن را Download كرده استفاده كند. BSD 386 بسيار محبوب شد و كاربران زيادي پيدا كرد. متاسفانه خود Jolits وقت كافي براي تكميل و اصلاح BSD 386 نداشت و حتي نمي توانست اصلاحاتي را كه كاربران علاقه مند به او مي دادند در سيستم اصلي اعمال كند. در نتيجه عده اي از كاربران حرفه‌اي386 BSD گروهي به نام NetBSD را تشكيل دادند تا امكانات 386 BSD را توسعه داده اشكالات آن را برطرف كنند. به تدريج گروه NetBSD شروع به توسعه سيستم كرد. اين افراد هدف خود را پشتيباني از تمام سخت افزار‌هاي ممكن قرار دادند و از روشي مشابه آنچه در CSRG استفاده مي شد براي تحقيق و توسعه استفاده كردند. گروه NetBSD همچنان در حال فعاليت است و سيستم عامل NetBSD جايگاه بسيار ويژه‌اي در ميان محققين و دانشگاه‌ها دارد.
FreeBSD
كمي بعد از تاسيس گروه NetBSD عده اي ديگر از علاقه‌مندان BSD گروهي به نام FreeBSD تشكيل دادند تا اشكالات موجود در386 BSD را حل كنند و سيستم عاملي قوي براي سخت افزار‌هاي PC ايجاد كنند كه براي همه كاربران -حتي كاربران غيرحرفه‌اي- قابل استفاده باشد. امروزه FreeBSD يكي از پركاربرد ترين Unixها است. هزاران هزار كارگزار اينترنتي از اين سيستم عامل پيشرفته اينترنتي براي ارائه خدمات خود استفاده مي‌كنند. تلاش‌هاي توسعه دهندگان FreeBSD در جهت افزايش كارآيي آن در كنار ويژگي‌هايي كه از BSD به ارث رسيده است FreeBSD را به يكي از كاراترين Unixهاي موجود تبديل كرده است.
OpenBSD
در سال 1995 در پي اختلافاتي كه ميان تيم NetBSD و يكي از اعضاي اصلي اين تيم پيش آمد، سيستم عامل جديدي به نام OpenBSD از NetBSD مشتق شد. تيم OpenBSD هدف اصلي خود را توسعه يك سيستم عامل امن قرار داده است و در اين زمينه بسيار موفق بوده است. هم اكنون به اعتراف همگان امن‌ترين سيستم عامل موجود سيستم عامل رايگان OpenBSD است. اين سيستم عامل يكي از سردمداران عرصه امنيت سيستم عامل ها است.بسياري از حفاظ ها (ديوار‌هاي آتش) در شبكه‌هاي كوچك و بزرگ از سيستم عامل فوق العاده امن OpenBSD استفاده مي‌كنند. بسياري ديگر از كساني كه حساسيت‌هاي امنيتي بالايي دارند اين سيستم عامل را به عنوان گزينه اول در نظر مي‌گيرند.



برگرفته از روزنامه شرق