پنجشنبه, ۶ اردیبهشت, ۱۴۰۳ / 25 April, 2024
مجله ویستا

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


تولد مادر اینترنت
هر روز میلیون‌ها نفر گستره وسیعی از نیازهای روزمره خود را از طریق اینترنت تامین می‌كنند و در كنار آن از كار كردن با واسط‌های گرافیكی و مشاهده صفحه‌های پرزرق و برق "وب" لذت می‌برند. از زمانی كه دولت ایالات متحده -كه سرمایه‌گذار اصلی چیزی است كه امروزه اینترنت نامیده می‌شود - تصمیم گرفت بازیگران تجاری را به آن راه دهد، روز به روز بر سهولت كار با اینترنت افزوده شد. سهولت كار با اینترنت برای توسعه فراگیر آن كاملاً حیاتی بود. در سایه همین سهولت استفاده است كه یك نوجوان مدرسه‌ای بدون هیچ پیش‌زمینه قبلی در اولین تلاش خود برای اتصال به شبكه جهانی موفق می‌شود و خاطره شیرین اولین وبگردی را برای همیشه با خود نگاه می‌دارد. از طرف دیگر این مسئله اصلاً اتفاقی نیست و نتیجه سرمایه گذاری هنگفت غول‌های اقتصادی و تلاش متخصصانی است كه معماری شبكه و طراحی پروتكل ها و در نهایت پیاده سازی آنها را بر عهده داشتند. در تمام این مراحل همواره پشت متخصصان به یك ابزار قوی گرم بوده و هست. این ابزار در ایجاد و توسعه اینترنت چنان نقش مهمی ایفا كرده كه به جرات می توان آن را مادر اینترنت نامید. نام این ابزار قوی Unix است. UNIX وقتی با حروف بزرگ نوشته می‌شود یك محصول تجاری است. در عین حال از این كلمه برای اشاره به خانواده وسیعی از سیستم عامل‌ها نیز استفاده می‌شود كه همگی استاندارد‌های خاصی را رعایت می‌كنند كه مهم ترین آنها استانداردی به نام POSIX است. برای كاربرد اخیر در این مقاله از شكل Unix استفاده می‌كنیم.خانواده‌ای كه با نام كلی Unix شناخته می‌شود چنان وسیع است كه خود از چندین زیرخانواده مهم تشكیل شده است. به عنوان مثال تمام انواع توزیع‌های Linux اعضای زیرخانواده Linux به شمار می‌روند. از دیگر زیر خانواده‌های مهم می توان به System V و BSD اشاره كرد. در هر یك از این خانواده ها چندین سیستم عامل جای می‌گیرند و علاوه بر این كه هر زیرشاخه ویژگی‌های كلی خاص خود را دارد هر یك از اعضای آنها با در عین داشتن شباهت‌های بی شمار با دیگران، ویژگی‌های خاص خود را نیز دارد. متخصص هر یك از این سیستم ها به سادگی می تواند دانش خود را به دیگری منتقل كند و هیچ یك از آنها نمی تواند جای دیگران را بگیرد. به عنوان نمونه ای از ویژگی ها كلی جالب است بدانیم خانواده System V بیشتر در میان تولیدكنندگان تجاری محبوبیت دارد در حالی كه BSDها همین وضعیت را در مجامع دانشگاهی دارند. خانواده BSD بستر توسعه قسمت عمده تكنولوژی هایی است كه امروزه اینترنت براساس آنها كار می‌كند. مجموعه این فناوری ها تحت عنوان كلی TCP/IP شناخته می‌شوند. از همین رو است كه سیستم عامل‌های این خانواده بالاترین كارایی را در محیط هایی دارند كه وابستگی شدید به ارتباطات شبكه دارد. به علاوه این سیستم عامل ها سابقه بسیار درخشانی در زمینه امنیت و پایداری و از همه مهم تر پشتیبانی از معماری‌های مختلف سخت افزاری دارند. BSDها همیشه سیستم عامل هایی دانشگاهی- صنعتی بوده اند. امروزه نیز عموماً صنایع بسیار رادیكال از نظر فنی كه ارتباط خود با دانشگاه ها را از شروط اساسی موفقیت خود می دانند از این سرمایه‌های عظیم و رایگان بهره می برند. یك مثال خوب از این قبیل شركت‌ها، غول اینترنتی معروف یعنی Yahoo! است.این شركت كه مستقیماً از Stanford بیرون آمده یكی از مهم‌ترین پشتیبان‌های سیستم عامل‌های پیشرفته BSD است.
• تاریخچه BSD
تاریخچه ایجاد این خانواده و زیرشاخه‌های مختلف آن از جذاب ترین و آموزنده ترین داستان‌های علمی است. در این نوشته این داستان زیبا را مرور می‌كنیم. قبل از پرداختن به چگونگی توسعه این سیستم عامل ها خوب است مشخص كنیم این داستان برای چه كسانی مفید است. به عقیده نگارنده مخاطبان اصلی چنین داستان هایی متولیان توسعه تكنولوژیكی در داخل دولت و نیز دانشگاه ها هستند. این افراد در كشور ما هنوز به خوبی نمی دانند با متخصصین و محققین دانشگاهی چگونه ارتباط برقرار كنند، چگونه آنها را به انجام كار‌های مورد نظر خود تشویق كنند و به طور خلاصه چگونه توانایی‌های آنها را به كار گیرند.در اوایل دهه ۱۹۶۰ هنوز اكثر كامپیوتر ها و Mainframeها توسط سیستم عامل‌های دسته ای كه اصطلاحاً Batch Processing Operating System نامیده می‌شوند به كار گرفته می شدند. اولین بار در دهه ۱۹۵۰ ایده سیستم عامل‌های اشتراك زمانی مطرح شده بود، اما به دلیل محدودیت‌های كامپیوتر‌های آن زمان كه حتی به اندازه یك تلفن همراه امروزی حافظه نداشتند امكان استفاده مناسب از این ایده فراهم نبود. اولین سیستم عامل اشتراك زمانی معروف، CTSS نام داشت. نقاط قوت ذاتی فراوان این سیستم عامل همه غول‌های دنیای كامپیوتر را متوجه ساخته بود كه دیر یا زود سیستم عامل هایی از این دست فراگیر خواهند شد. برای پیشی گرفتن از دیگران شركت General Electric به همراه شركت مخابرات آمریكا یعنی AT&T و با همكاری تحقیقاتی دانشگاه MIT پروژه ای به نام Multics را شروع كردند. هدف از این پروژه تولید سیستم عاملی بود كه Mainframeهای بزرگ را به صورت اشتراك زمانی در اختیار هزاران هزار كاربر قرار دهد. Multics در واقع بسیار فراتر از زمان خود بود و اهداف اقتصادی بنیانگذاران خود را تامین نمی كرد. در نتیجه رشد بسیار كند پروژه، AT&T از Multics كناره گرفت و پس از این اتفاق Multics به حیات خود ادامه داد اما هرگز به یك سیستم عامل فراگیر تبدیل نشد.
دو نفر از محققین AT&T كه در یكی از آزمایشگاه‌های تحقیقاتی AT&T به نام Bell Labs بر روی Multics كار می كردند كن تامپسون و دنیس ریچی بودند. این دو نفر با همكاری افراد دیگری با بهره گیری از ایده‌های بسیار پیشرفته ای كه در Multics وجود دارد و برای به كار انداختن كامپیوتر PDP-۷ كه در آزمایشگاه در اختیار داشتند سیستم عاملی بسیار ساده ساختند و نام آن را Unics (بر عكس Multics) نهادند كه بعد ها به Unix تغییر پیدا كرد. به تدریج توانایی‌های ذاتی Unix و دانش و تجربه طراحان آن، این سیستم عامل را در قسمت‌های مختلف AT&T معروف ساخت و كاربرد‌های واقعی آن باعث شد بودجه بیشتری برای توسعه آن در اختیار این افراد قرار بگیرد. اما همچنان Unix یك سیستم عامل آزمایشگاهی و بستری برای تحقیقات در زمینه‌های مختلف كامپیوتر بود. در آن زمان بنابر قوانین ایالات متحده AT&T حق كسب درآمد از طریق فروش نرم‌افزار را نداشت. محققین Bell Labs از این فرصت بهره جسته، Unix را به صورت رایگان در اختیار متقاضیان كه عموماً مراكز تحقیقاتی و دانشگاهی بودند قرار دادند. این امر نقش بسیار مهمی در توسعه فناوری‌های مختلف در دل این سیستم عامل جدید داشت و موجب رشد بسیار سریع آن به خصوص در میان قشر تحصیل كرده و محققین شد، امری كه همچنان در كنار معماری خاص Unix عامل اصلی توسعه پایدار سیستم عامل ها ی این خانواده است. در كنار این مسئله باز بودن متن Unix نقش بسزایی در توسعه دانش سیستم عامل و نیز خود Unix داشت.كن و دنیس اولین مقاله در زمینه Unix را در سمپوزیوم "اصول سیستم عامل ها" در دانشگاه "پرودو" در نوامبر سال ۱۹۷۳ ارائه كردند. یكی از حاضران به نام پروفسور باب فابری كه از اساتید دانشگاه كالیفرنیا بود به این سیستم عامل جدید علاقه‌مند شد و از تامپسون خواست نسخه ای از Unix را در اختیار دانشگاه وی قرار دهد. برای نصب این سیستم عامل یك كامپیوتر جدید لازم بود. تا آن زمان تمام كامپیوتر‌های دانشگاه بركلی mainframe هایی بودند كه پردازش دسته‌ای انجام می دادند. در نهایت سه دپارتمان علوم كامپیوتر، ریاضیات و آمار توانستند با كمك هم یك كامپیوتر PDP-۱۱خریداری كنند. پس از تلاش بسیار Unix بر روی این ماشین جدید نصب شد.به زودی این كامپیوتر كاربرد‌های فراوانی در بركلی پیدا كرد. از جمله گروه توسعه پایگاه داده INGRES محیط پردازش دسته‌ای را رها كرده نرم‌افزار خود را به Unix منتقل كرد. آنها پس از مدتی نرم‌افزار خود را به صورت رایگان و با متن باز در اختیار متقاضیان قرار دادند. این روند در بركلی ادامه پیدا كرد و به این ترتیب نرم‌افزار‌های فراوانی به صورت رایگان در اختیار متقاضیان قرار می گرفتند. این نرم‌افزار ها تحت عنوان BSD یا Barkeley Software Distribution توزیع می شدند. كسانی كه با دنیای Unix آشنایی دارند، همچنان با بسیاری از آنها مانند ویرایشگر vi زندگی می‌كنند.تحقیق و توسعه به شكل خودجوش و داوطلبانه تا سال ۱۹۷۹ در بركلی ادامه پیدا كرد. تا این زمان سه نسخه از 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 بپردازد. بالاخره در سال ۱۹۸۹ كد‌های تولید شده توسط CSRG به صورت جداگانه تحت عنوان Networking, Release۱ و با مجوزی كه امروزه به مجوز BSD معروف است ارائه شد. محبوبیت این توزیع به دلیل رایگان بودن آن به حدی رسید كه توسعه دهندگان اصلی در CSRG وسوسه شدند تمام قسمت هایی را كه متعلق به AT&T Unix بود را دوباره بنویسند تا بتوانند یك سیستم عامل كامل را تحت مجوز آزاد BSD در اختیار همگان قرار دهند.مشكل اصلی ارائه یك سیستم عامل كامل بازنویسی حجم قابل توجه برنامه‌های كاربردی و كتابخانه‌های C بود. برای انجام این كار CSRG به یك ابتكار جالب دست زد. آنها در محافل مختلف علاقه مندان Unix، هدف خود را اعلام كردند و از افراد داوطلب خواستند این قسمت‌های سیستم عامل را بازنویسی كنند و در مقابل نام آنها در كنار توسعه دهندگان CSRG منتشر خواهد شد. این روش بر خلاف آنچه در آغاز به نظر می رسید كاملاً موفق بود و در مدتی حدود دو سال تمام این قسمت ها بازنویسی شدند. پس از آن توسعه دهندگان اصلی در CSRG، كار دشوار بازنویسی قسمت‌های مختلف هسته را شروع كردند. پس از چندین ماه كار تقریباً تمام شده بود و تنها ۶ فایل مربوط به هسته باقی مانده بود كه باید بازنویسی می شد. بازنویسی این فایل ها به زمان نسبتاً طولانی نیاز داشت. در نهایت CSRG تصمیم گرفت به جای صرف وقت لازم برای بازنویسی این ۶ فایل آنچه را كه موجود بود در اختیار همگان قرار دهد.برای توزیع این مجموعه جدید كه در واقع یك نسخه كاملاً جدید و رایگان از سیستم عامل Unix بود اتفاق بسیار جالب توجهی افتاد. با توجه به حجم عظیم كار انجام شده كاملاً منطقی بود كه كد جدید با یك نام جدید و مناسب ارائه شود. اما CSRG به این نتیجه رسید زمان و هزینه لازم برای طی كردن مراحل حقوقی توزیع كار انجام شده تحت یك نام جدید ارزش چندانی ندارد و در نتیجه تمام این سیستم عامل جدید تحت عنوان Networking, Release۲ عرضه شد، در حالی كه آنچه در اختیار كاربران قرار می گرفته در واقع یك سیستم عامل كاملاً رایگان بود.
• BSDهای مدرن
ویژگی‌های منحصر به فردی كه از همان ابتدا در كد BSD وجود داشت ادامه حیات آن را به صورت فعال تضمین می‌كند. هم اكنون BSDها یك خانواده مهم از Unix محسوب می‌شوند كه چندین عضو مهم دارد. بیشتر این سیستم عامل ها همچنان ماهیت باز و رایگان خود را حفظ كرده اند. در این قسمت سه سیستم عامل كه از بقیه مهم ترند را معرفی می‌كنیم.
NetBSD
جایگزین كردن ۶ فایل باقی مانده كار چندانی نداشت. شخصی به نام Jolis به سادگی این فایل ها را برای معماری Intel۳۸۶ ایجاد كرد و سیستم عامل حاصل را BSD ۳۸۶ نامید. وی نتایج كار خود را بر روی شبكه قرار داد تا هركه مایل بود آن را Download كرده استفاده كند. BSD ۳۸۶ بسیار محبوب شد و كاربران زیادی پیدا كرد. متاسفانه خود Jolits وقت كافی برای تكمیل و اصلاح BSD ۳۸۶ نداشت و حتی نمی توانست اصلاحاتی را كه كاربران علاقه مند به او می دادند در سیستم اصلی اعمال كند. در نتیجه عده ای از كاربران حرفه‌ای۳۸۶ BSD گروهی به نام NetBSD را تشكیل دادند تا امكانات ۳۸۶ BSD را توسعه داده اشكالات آن را برطرف كنند. به تدریج گروه NetBSD شروع به توسعه سیستم كرد. این افراد هدف خود را پشتیبانی از تمام سخت افزار‌های ممكن قرار دادند و از روشی مشابه آنچه در CSRG استفاده می شد برای تحقیق و توسعه استفاده كردند. گروه NetBSD همچنان در حال فعالیت است و سیستم عامل NetBSD جایگاه بسیار ویژه‌ای در میان محققین و دانشگاه‌ها دارد.
FreeBSD
كمی بعد از تاسیس گروه NetBSD عده ای دیگر از علاقه‌مندان BSD گروهی به نام FreeBSD تشكیل دادند تا اشكالات موجود در۳۸۶ BSD را حل كنند و سیستم عاملی قوی برای سخت افزار‌های PC ایجاد كنند كه برای همه كاربران -حتی كاربران غیرحرفه‌ای- قابل استفاده باشد. امروزه FreeBSD یكی از پركاربرد ترین Unixها است. هزاران هزار كارگزار اینترنتی از این سیستم عامل پیشرفته اینترنتی برای ارائه خدمات خود استفاده می‌كنند. تلاش‌های توسعه دهندگان FreeBSD در جهت افزایش كارآیی آن در كنار ویژگی‌هایی كه از BSD به ارث رسیده است FreeBSD را به یكی از كاراترین Unixهای موجود تبدیل كرده است.
OpenBSD
در سال ۱۹۹۵ در پی اختلافاتی كه میان تیم NetBSD و یكی از اعضای اصلی این تیم پیش آمد، سیستم عامل جدیدی به نام OpenBSD از NetBSD مشتق شد. تیم OpenBSD هدف اصلی خود را توسعه یك سیستم عامل امن قرار داده است و در این زمینه بسیار موفق بوده است. هم اكنون به اعتراف همگان امن‌ترین سیستم عامل موجود سیستم عامل رایگان OpenBSD است. این سیستم عامل یكی از سردمداران عرصه امنیت سیستم عامل ها است.بسیاری از حفاظ ها (دیوار‌های آتش) در شبكه‌های كوچك و بزرگ از سیستم عامل فوق العاده امن OpenBSD استفاده می‌كنند. بسیاری دیگر از كسانی كه حساسیت‌های امنیتی بالایی دارند این سیستم عامل را به عنوان گزینه اول در نظر می‌گیرند.

محمد حسین فلكی
منبع : روزنامه جوان


همچنین مشاهده کنید