سیستم عامل و برنامه نویسی و اخبار

سیستم عامل و برنامه نویسی خلاصه از شیر مرغ تا جون ادمی زاد

سیستم عامل و برنامه نویسی و اخبار

سیستم عامل و برنامه نویسی خلاصه از شیر مرغ تا جون ادمی زاد

نقش خانواده سیستم عاملهاى BSD در توسعه تکنولوژى اینترنت

هر روز میلیون ها نفر گستره وسیعى از نیازهاى روزمره خود را از طریق اینترنت تامین مى کنند و در کنار آن از کار کردن با واسط هاى گرافیکى و مشاهده صفحه هاى پرزرق و برق «وب» لذت مى برند. از زمانى که دولت ایالات متحده - که سرمایه گذار اصلى چیزى است که امروزه اینترنت نامیده مى شود - تصمیم گرفت بازیگران تجارى را به آن راه دهد، روز به روز بر سهولت کار با اینترنت افزوده شد. سهولت کار با اینترنت براى توسعه فراگیر آن کاملاً حیاتى بود. در سایه همین سهولت استفاده است که یک نوجوان مدرسه اى بدون هیچ پیش زمینه قبلى در اولین تلاش خود براى اتصال به شبکه جهانى موفق مى شود و خاطره شیرین اولین وب گردى را براى همیشه با خود نگاه مى دارد. از طرف دیگر این مسئله اصلاً اتفاقى نیست و نتیجه سرمایه گذارى هنگفت غول هاى اقتصادى و تلاش متخصصانى است که معمارى شبکه و طراحى پروتکل ها و در نهایت پیاده سازى آنها را بر عهده داشتند. در تمام این مراحل همواره پشت متخصصان به یک ابزار قوى گرم بوده و هست. این ابزار در ایجاد و توسعه اینترنت چنان نقش مهمى ایفا کرده که به جرات مى توان آن را مادر اینترنت نامید. نام این ابزار قوى Unix است. UNIX وقتى با حروف بزرگ نوشته مى شود یک محصول تجارى است. در عین حال از این کلمه براى اشاره به خانواده وسیعى از سیستم عامل ها نیز استفاده مى شود که همگى استاندارد هاى خاصى را رعایت مى کنند که مهم ترین آنها استانداردى به نام POSIX است. براى کاربرد اخیر در این مقاله از شکل Unix استفاده مى کنیم.
خانواده اى که با نام کلى Unix شناخته مى شود چنان وسیع است که خود از چندین زیرخانواده مهم تشکیل شده است. به عنوان مثال تمام انواع توزیع هاى Linux اعضاى زیرخانواده Linux به شمار مى روند. از دیگر زیر خانواده هاى مهم مى توان به System V و BSD اشاره کرد. در هر یک از این خانواده ها چندین سیستم عامل جاى مى گیرند و علاوه بر اینکه هر زیرشاخه ویژگى هاى کلى خاص خود را دارد هر یک از اعضاى آنها با در عین داشتن شباهت هاى بى شمار با دیگران، ویژگى هاى خاص خود را نیز دارد. متخصص هر یک از این سیستم ها به سادگى مى تواند دانش خود را به دیگرى منتقل کند و هیچ یک از آنها نمى تواند جاى دیگران را بگیرد. به عنوان نمونه اى از ویژگى ها کلى جالب است بدانیم خانواده System V بیشتر در میان تولیدکنندگان تجارى محبوبیت دارد در حالى که BSDها همین وضعیت را در مجامع دانشگاهى دارند. خانواده BSD بستر توسعه قسمت عمده تکنولوژى هایى است که امروزه اینترنت براساس آنها کار مى کند. مجموعه این فناورى ها تحت عنوان کلى TCP/IP شناخته مى شوند. از همین رو است که سیستم عامل هاى این خانواده بالاترین کارایى را در محیط هایى دارند که وابستگى شدید به ارتباطات شبکه دارد. به علاوه این سیستم عامل ها سابقه بسیار درخشانى در زمینه امنیت و پایدارى و از همه مهم تر پشتیبانى از معمارى هاى مختلف سخت افزارى دارند. BSDها همیشه سیستم عامل هایى دانشگاهى- صنعتى بوده اند. امروزه نیز عموماً صنایع بسیار رادیکال از نظر فنى که ارتباط خود با دانشگاه ها را از شروط اساسى موفقیت خود مى دانند از این سرمایه هاى عظیم و رایگان بهره مى برند. یک مثال خوب از این قبیل شرکت ها، غول اینترنتى معروف یعنى Yahoo! است. این شرکت که مستقیماً از Stanford بیرون آمده یکى از مهم ترین پشتیبان هاى سیستم عامل هاى پیشرفته BSD است.
•تاریخچه BSD
تاریخچه ایجاد این خانواده و زیرشاخه هاى مختلف آن از جذاب ترین و آموزنده ترین داستان هاى علمى است. در این نوشته این داستان زیبا را مرور مى کنیم. قبل از پرداختن به چگونگى توسعه این سیستم عامل ها خوب است مشخص کنیم این داستان براى چه کسانى مفید است. به عقیده نگارنده مخاطبان اصلى چنین داستان هایى متولیان توسعه تکنولوژیکى در داخل دولت و نیز دانشگاه ها هستند. این افراد در کشور ما هنوز به خوبى نمى دانند با متخصصین و محققین دانشگاهى چگونه ارتباط برقرار کنند، چگونه آنها را به انجام کار هاى مورد نظر خود تشویق کنند و به طور خلاصه چگونه توانایى هاى آنها را به کار گیرند.
056817.jpg
در اوایل دهه ۱۹۶۰ هنوز اکثر کامپیوتر ها و 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-7 که در آزمایشگاه در اختیار داشتند سیستم عاملى بسیار ساده ساختند و نام آن را Unics (بر عکس Multics) نهادند که بعد ها به Unix تغییر پیدا کرد. به تدریج توانایى هاى ذاتى Unix و دانش و تجربه طراحان آن، این سیستم عامل را در قسمت هاى مختلف AT&T معروف ساخت و کاربرد هاى واقعى آن باعث شد بودجه بیشترى براى توسعه آن در اختیار این افراد قرار بگیرد. اما همچنان Unix یک سیستم عامل آزمایشگاهى و بسترى براى تحقیقات در زمینه هاى مختلف کامپیوتر بود. در آن زمان بنابر قوانین ایالات متحده AT&T حق کسب درآمد از طریق فروش نرم افزار را نداشت. محققین Bell Labs از این فرصت بهره جسته، Unix را به صورت رایگان در اختیار متقاضیان که عموماً مراکز تحقیقاتى و دانشگاهى بودند قرار دادند. این امر نقش بسیار مهمى در توسعه فناورى هاى مختلف در دل این سیستم عامل جدید داشت و موجب رشد بسیار سریع آن به خصوص در میان قشر تحصیل کرده و محققین شد، امرى که همچنان در کنار معمارى خاص Unix عامل اصلى توسعه پایدار سیستم عامل ها ى این خانواده است. در کنار این مسئله باز بودن متن Unix نقش بسزایى در توسعه دانش سیستم عامل و نیز خود Unix داشت.
کن و دنیس اولین مقاله در زمینه Unix را در سمپوزیوم «اصول سیستم عامل ها» در دانشگاه «پرودو» در نوامبر سال ۱۹۷۳ ارائه کردند. یکى از حاضران به نام پروفسور باب فابرى که از اساتید دانشگاه کالیفرنیا بود به این سیستم عامل جدید علاقه مند شد و از تامپسون خواست نسخه اى از Unix را در اختیار دانشگاه وى قرار دهد. براى نصب این سیستم عامل یک کامپیوتر جدید لازم بود. تا آن زمان تمام کامپیوتر هاى دانشگاه برکلى mainframe هایى بودند که پردازش دسته اى انجام مى دادند. در نهایت سه دپارتمان علوم کامپیوتر، ریاضیات و آمار توانستند با کمک هم یک کامپیوتر PDP-11خریدارى کنند. پس از تلاش بسیار 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 انتخاب کردند.
056814.jpg
بالاخره با سرمایه گذارى DARPA، محققان دانشگاه برکلى فعالیت خود را با سازماندهى جدید و با هدف تولید سیستم عامل مورد نظر آنان شروع کردند. اولین مرحله کار اعمال تغییرات لازم و نیز توسعه بخش هاى جدیدى در Unix موجود براى تامین نظر DARPA بود. این تغییرات عبارت بودند از تولید یک سیستم فایل کارا، فراهم آوردن امکان داشتن پردازه هاى با فضاى آدرس بزرگ و تکنیک هاى ارتباط بین پردازه ها براى تسهیل انجام محاسبات توزیع شده در ARPAnet. در کنار این ویژگى ها اولین پیاده سازى پروتکل هاى TCP/IP در BSD صورت گرفت و تلاش زیادى براى بهبود کارایى آن صورت گرفت.روش کار به این ترتیب بود که کد تغییر یافته Unix که در برکلى تولید مى شد به صورت رایگان در اختیار متقاضیان قرار مى گرفت، مشروط بر آنکه دریافت کننده هزینه مجوز استفاده از UNIX را به AT&T بپردازد. بالاخره در سال ۱۹۸۹ کد هاى تولید شده توسط CSRG به صورت جداگانه تحت عنوان Networking, Release1 و با مجوزى که امروزه به مجوز BSD معروف است ارائه شد. محبوبیت این توزیع به دلیل رایگان بودن آن به حدى رسید که توسعه دهندگان اصلى در CSRG وسوسه شدند تمام قسمت هایى را که متعلق به AT&T Unix بود را دوباره بنویسند تا بتوانند یک سیستم عامل کامل را تحت مجوز آزاد BSD در اختیار همگان قرار دهند.
مشکل اصلى ارائه یک سیستم عامل کامل بازنویسى حجم قابل توجه برنامه هاى کاربردى و کتابخانه هاى C بود. براى انجام این کار CSRG به یک ابتکار جالب دست زد. آنها در محافل مختلف علاقه مندان Unix، هدف خود را اعلام کردند و از افراد داوطلب خواستند این قسمت هاى سیستم عامل را بازنویسى کنند و در مقابل نام آنها در کنار توسعه دهندگان CSRG منتشر خواهد شد. این روش بر خلاف آنچه در آغاز به نظر مى رسید کاملاً موفق بود و در مدتى حدود دو سال تمام این قسمت ها بازنویسى شدند. پس از آن توسعه دهندگان اصلى در CSRG، کار دشوار بازنویسى قسمت هاى مختلف هسته را شروع کردند. پس از چندین ماه کار تقریباً تمام شده بود و تنها ۶ فایل مربوط به هسته باقى مانده بود که باید بازنویسى مى شد. بازنویسى این فایل ها به زمان نسبتاً طولانى نیاز داشت. در نهایت CSRG تصمیم گرفت به جاى صرف وقت لازم براى بازنویسى این ۶ فایل آنچه را که موجود بود در اختیار همگان قرار دهد.براى توزیع این مجموعه جدید که در واقع یک نسخه کاملاً جدید و رایگان از سیستم عامل Unix بود اتفاق بسیار جالب توجهى افتاد. با توجه به حجم عظیم کار انجام شده کاملاً منطقى بود که کد جدید با یک نام جدید و مناسب ارائه شود. اما CSRG به این نتیجه رسید زمان و هزینه لازم براى طى کردن مراحل حقوقى توزیع کار انجام شده تحت یک نام جدید ارزش چندانى ندارد و در نتیجه تمام این سیستم عامل جدید تحت عنوان Networking, Release2 عرضه شد، در حالى که آنچه در اختیار کاربران قرار مى گرفته در واقع یک سیستم عامل کاملاً رایگان بود.
•BSDهاى مدرن
ویژگى هاى منحصر به فردى که از همان ابتدا در کد BSD وجود داشت ادامه حیات آن را به صورت فعال تضمین مى کند. هم اکنون BSDها یک خانواده مهم از Unix محسوب مى شوند که چندین عضو مهم دارد. بیشتر این سیستم عامل ها همچنان ماهیت باز و رایگان خود را حفظ کرده اند. در این قسمت سه سیستم عامل که از بقیه مهم ترند را معرفى مى کنیم.
NetBSD
جایگزین کردن ۶ فایل باقى مانده کار چندانى نداشت. شخصى به نام Jolis به سادگى این فایل ها را براى معمارى Intel386 ایجاد کرد و سیستم عامل حاصل را BSD 386 نامید. وى نتایج کار خود را بر روى شبکه قرار داد تا هرکه مایل بود آن را Download کرده استفاده کند. BSD 386 بسیار محبوب شد و کاربران زیادى پیدا کرد. متاسفانه خود Jolits وقت کافى براى تکمیل و اصلاح BSD 386 نداشت و حتى نمى توانست اصلاحاتى را که کاربران علاقه مند به او مى دادند در سیستم اصلى اعمال کند. در نتیجه عده اى از کاربران حرفه اى۳۸۶ 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 استفاده مى کنند. بسیارى دیگر از کسانى که حساسیت هاى امنیتى بالایى دارند این سیستم عامل را به عنوان گزینه اول در نظر مى گیرند.
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد