یونیکس

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
یونیکس
Unix history-simple.svg
تکامل سیستم‌های یونیکس و شبه یونیکس
شرکت / توسعه‌دهنده کنت تامسون، دنیس ریچی، برایان کرنیگان، داگلاس مکیلروی مایکل لسک و جو اوسانا
خانواده یونیکس
وضعیت توسعه در جریان
واسط کاربری واسط خط فرمان، سامانه پنجره اکس
پروانه انحصاری
وب‌گاه رسمی www.unix.org
تایم لاین یونیکس
سخنرانان کنفرانس تابستانی یوزنیکس در سال ۱۹۸۴، دنیس ریچی، اریک آلمن، ساموئل لفلر، مایکل کارلز و تعدادی دیگر در تصویر دیده می‌شوند.

یونیکس یک سیستم‌عامل چندوظیفه‌ای و چندکاربره است که در سال ۱۹۶۹ به دست گروهی از کارمندان آزمایشگاه‌های بل متعلق به شرکت ای‌تی‌اندتی (AT&T Bell Labs) نوشته شد. این گروه را کنت تامسون، دنیس ریچی، برایان کرنیگان، داگلاس مکیلروی مایکل لسک و جو اوسانا شکل می‌دادند. یونیکس در آغاز به زبان اسمبلی نوشته شد اما در سال ۱۹۷۳ به طور کلی به زبان سی بازنوشته شد، که این کار توسعه یونیکس را در آینده آسان‌تر می‌کرد و هم پورت کردن آن به دیگر سکوها را ساده‌تر. در سال ۱۹۷۴، یونیکس در ابتدا توسط گرگ چسون و دونالد گیلیس تحت مجوز دانشگاه ایلینوی در اربانا-شمپین درآمد. توسعه و تکامل یونیکس امروزی به شاخه‌های مختلفی تقسیم شده که توسط ای‌تی‌اندتی و همچنین دیگر فروشندگان تجاری، دانشگاه‌ها (مانند نسخه بی‌اس‌دی از دانشگاه برکلی) و سازمان‌های غیر انتفاعی توسعه می‌یابند.

امروزه نشان تجاری یونیکس در اختیار موسسه اپن گروپ قرار دارد و این گروه این نشان را به نام خود ثبت کرده است. تنها سیستم‌هایی که به صورت کامل با مشخصات یونیکس یکتا سازگار باشند، و مبلغی پول به موسسه اپن گروپ بپردازند، واجد شرایط استفاده از نام یونیکس اند. دیگر سیستم‌ها می‌توانند شبه یونیکس نامیده شوند، هرچند که موسسه اپن گروپ این نام را رد کرده است.

در اواخر دهه ۱۹۷۰ و اوایل دهه ۱۹۸۰، نفوذ یونیکس در محافل دانشگاهی (خصوصا ویرایش بی‌اس‌دی که از دانشگاه برکلی سرچشمه گرفته) باعث پذیرش گسترده یونیکس توسط بازرگانان نوپا شد و نسخه‌هایی تجاری از یونیکس بوجود آمد که مهمترین این یونیکس‌ها سولاریس، اسکوئنت, اچ‌پی-یواکس, ای‌آی‌اکس هستند.

علاوه بر یونیکس‌های تایید شده که اسامی آنها در بالا ذکر شد، سیستم‌عامل‌هایی هم وجود دارند که شبه یونیکس نامیده می‌شوند مانند مینیکس، نوادگان بی‌اس‌دی مانند فری‌بی‌اس‌دی, نت‌بی‌اس‌دی, اپن‌بی‌اس‌دی, دراگون‌فلی‌بی‌اس‌دی و لینوکس. این سیستم‌ها با آنکه با استانداردها سازگار هستند، اما توسط موسسه اپن گروپ تایید نشده‌اند و حق استفاده از نام Unix را ندارند. اصطلاح یونیکس سنتی ممکن است برای توصیف سیستم‌عامل‌هایی که مشخصات و ویژگی‌های نسخه ۷ یونیکس یا نسخه ۵ یونیکس را دارند، استفاده شود. هنگامی که کن تامسون هنوز به مولتیکس دسترسی داشت، شبیه‌سازهایی برای سیستم صفحه‌بندی و سیستم فایل نوشت. او همینطور یک بازی رایانه‌ای به نام سفر فضایی نوشت، اما این بازی برای اجرا شدن به یک ماشین کارامدتر و ارزانتر احتیاج داشت و سرانجام او یک پی‌دی‌پی-۷ کم استفاده در آزمایشگاه‌های بل پیدا کرد. در سال ۱۹۶۹ تیمی به رهبری تامسون و ریچی، بر روی این ماشین پی‌دی‌پی-۷ یک سیستم فایل سلسله مراتبی، مفاهیم فرایند رایانه و فایل دستگاه، یک مفسر خط فرمان و تعدادی برنامه کوچک دیگر نوشتند.

اگر گفته شود یونیکس آغازگر «دوره اطلاعات» و در امتداد آن «عصر اینترنت» است، کوچک‌ترین سخنی به گزافه گفته نشده‌است. در واقع تا همین امروز هم، تقریباً ٪۱۰۰ پیمان‌های مهم و باز که جنبش اینترنت را پدید آورده‌اند، مانند وب، از خانوادهٔ یونیکس آمده و می‌آیند. اینترنت در آغاز در یونیکس گسترش یافت و تا سال‌ها، واژهٔ «اینترنت» در میان کاربران یونیکس واژه‌ای کاملاً عادی و روزمره بود، درحالی که دیگران حتی این واژه را نشنیده بودند و یا با اکراه تمام به آن بی اعتنائی و حتی آن را مسخره می‌کردند.

سیستم‌های یونیکس امروزی به شاخه‌های مختلفی تبدیل شده است که در مرور زمان به دست ای‌تی‌اندتی توسعه داده شده. یونیکس طوری طراحی شده‌ است تا قابل انتقال به هر سیستمی، چند کاره و همچنین چند کاربره باشد. سیستم‌های یونیکس با ایده‌های جدیدی که مطرح کرده‌اند، شناخته می‌شوند: پرونده‌های متنی ساده، مترجم‌های خط فرمان و سامانه پرونده‌گردانی (File System) سلسله مراتبی و غیره. در مهندسی نرم‌افزار، یونیکس به خاطر زبان برنامه‌نویسی سی و فلسفه یونیکس ذکر می‌شود.

صاحب علامت تجاری یونیکس در حال حاضر open group است. در حالی که مدعی در حال حاضر متن برنامه‌های یونیکس The sco group و Novell است.

پیشینه[ویرایش]

از آغاز تا عرضه[ویرایش]

داستان از سال ۱۹۶۰ آغاز می‌شود. در این زمان فکر سامانه‌های اشتراک زمان مطرح بود و نخستین سیستم‌عامل چند کاربره طراحی شد که به عنوان کارگزار(Server) می‌توانست با نصب شدن بر روی یک رایانه به چند رایانه دیگر سرویس دهد. این سیستم‌عامل که CTSS نام داشت و می‌توانست ۲۰ کاربر را با یک رایانه IBM ۷۰۹۰ به خوبی اداره کند به شدت مورد توجه و مفید واقع شد و همه دریافتند که بخش عظیمی از رایانه‌های آینده از این فن‌اوری بهره خواهند گرفت. به طوری که در سال ۱۹۶۵ سه شرکت از برجسته‌ترین نقش آفرینان رایانه در جهان، مؤسسه فناوری ماساچوست، آزمایشگاه‌های بل و جنرال الکتریک، یک سیستم‌عامل اشتراک زمان آزمایشی برای مین‌فریم جی‌ای-۶۴۵ طراحی کردند که مولتیکس نامیده می‌شد.

مولتیکس نوآوری‌های بسیاری را پیش روی نهاد، اما در عوض مشکلات فراوانی هم داشت. این سیستم اجزای زیادی داشت و از حد معین بزرگ‌تر شد. آزمایشگاه‌های بل که از پیچیدگی زیاد مولتیکس ناامید شده بود، به آهستگی از پروژه کناره گرفت. آخرین محققان آن‌ها، کن تامسون, دنیس ریچی, داگلاس مکیلروی و جو اوسانا تصمیم گرفتند کار را از آغاز اما در مقیاسی کوچک‌تر از سر بگیرند. ریچی گفت «چیزی که ما می‌خواستیم، تنها یک محیط خوب برای برنامه‌نویسی نبود، بلکه سامانه‌ای بود که بتوان گرد آن دوستی را شکل داد.»

در ۱۹۷۰، پیتر نیومن نام Unics را برای پروژه ابداع کرد. این نام در حقیقت یک جور بازی با نام مولتیکس (Multics) بود. دنیس ریچی، کن تامسون و برین کرنیگان، یونیکس (Unics) را بر اساس مولتیکس در آزمایشگاه بل پدید آوردند. بعدها که Unics توانست هم‌زمان به چند کاربر سرویس‌ دهد، به Unix آوازه یافت.

تا آن زمان، هیچ حمایت مالی از طرف آزمایشگاه‌های بل وجود نداشت. وقتی که گروه تحقیقات علوم رایانه می‌خواست از یونیکس بر روی یک رایانه بزرگ‌تر از پی‌دی‌پی-۷ استفاده کند، تامسون و ریچی قول دادند که برای ماشین پی‌دی‌پی۱۱/۲۰‎، قابلیت‌های پردازش متن را به یونیکس اضافه کنند. این کار باعث حمایت مالی آزمایشگاه بل شد. برای اولین بار در سال ۱۹۷۰، سیستم‌عامل یونیکس رسما نامگذاری و بر روی یک پی‌دی‌پی۱۱/۲۰‎ اجرا شد. یک برنامه قالب‌بندی متن به نام roff و یک ویرایشگر متن هم اضافه شدند. تمام این سه جزء (یونیکس، roff و ویرایشگر متن) به زبان اسمبلی ماشین پی‌دی‌پی۱۱/۲۰‎ نوشته شده بودند. آزمایشگاه‌های بل از این سیستمِ پردازش متن اولیه که از یونیکس، roff و ویرایشگر تشکیل شده بود، برای پردازش متن برنامه‌های پتنت شده استفاده کرد. roff به زودی به troff، اولین برنامه چاپ و نشر الکترونیکی با قابلیت کامل حروف‌چینی تبدیل شد. کتاب راهنمای برنامه‌نویسان یونیکس هم در سوم نوامبر ۱۹۷۱ چاپ شد.

از آن جا که ای‌تی‌اندتی، یکی از شرکت‌های دست اندرکار، از پروژه کنار گرفته بود، بنا بر قوانین آمریکا نمی‌توانست از یونیکس استفادهٔ بازرگانی کند؛ به این ترتیب یونیکس رایگان به بازار عرضه شد. ای‌تی‌اندتی نیز یونیکس را برای دانشگاه‌های مختلف فرستاد و یونیکس کم‌کم در محافل علمی محبوب شد.

بازنوشتن به زبان سی[ویرایش]

در ۱۹۷۲، یونیکس به زبان سی بازنوشته شد. این برخلاف پندار همگانی آن زمان بود که می‌گفت «هر چیز پیچیده‌ای مثل یک سیستم‌عامل که باید با رویدادهای حساس به زمان سر و کار داشته باشد، باید منحصرا به زبان اسمبلی نوشته شود.» نتیجه مهاجرت از زبان اسمبلی به زبان سطح بالاتر سی این بود که کد یونیکس پرتابلتر و قابل حمل‌تر شد و برای اجرا بر روی ماشین‌های دیگر تنها کافی بود قسمت‌های کوچکی از آن به زبان اسمبلی مخصوص همان ماشین نوشته شوند.

ای‌تی‌اندتی کد منبع یونیکس را تحت مجوزهایی در دسترس دانشگاه‌ها، شرکت‌های تجاری و دولت ایالات متحده قرار دارد. مجوزها در همه جای کد منبع قرار داده شده بودند، حتی کدهای وابسته به ماشین در داخل هسته سیستم‌عامل، که به زبان اسمبلی پی‌دی‌پی-۱۱ نوشته شده بودند. در اواخر دهه ۱۹۷۰، کدهای منبع یونیکس در کتابی به نام «نسخه ۶ یونیکس به روایت لیونز، به همراه کد منبع» که توسط جان لینوز نوشته شده بود، به صورت گسترده منتشر شد. این کار باعث شد یونیکس به شکل قابل توجهی برای مقاصد آموزشی استفاده گردد.

ویرایش‌های گوناگون[ویرایش]

نسخه‌های سیستم‌عامل یونیکس، توسط ویرایش‌های کتاب راهنمای کاربرانش مشخص می‌شدند. برای مثال «پنجمین ویرایش یونیکس» و «نسخه ۵ یونیکس» هر دو برای اشاره به یک نسخه استفاده می‌شدند. توسعه یونیکس با انتشار نسخه‌های ۴، ۵ و ۶ که در سال ۱۹۷۵ ادامه یافت. در این نسخه‌ها مفهوم تازه‌ ی لوله‌ها اضافه شده بود که به طراحی ماژولار یونیکس و چرخه توسعه سریع‌تر آن کمک کرد. نسخه ی ۵ و به ویژه نسخه ی ۶، به پیدابش نسخه‌های مختلفی از یونیکس، چه در داخل آزمایشگاه‌های بل و چه در خارج از آن انجامید. مانند پی‌دبلیوبی/یونیکس و همچنین اولین نسخه تجاری یونیکس یعنی آی‌اس/۱. همان طور که قسمت‌های بیش‌تری از یونیکس به زبان سی بازنویسی می‌شد، پورتابل بودن آن هم افزایش می‌یافت و آسان‌تر می‌شد آن را به دیگر سکوها انتقال داد. یونیکس توسط گروهی در دانشگاه ولونگوگ به اینتردیتا ۷/۳۲ پورت شد. آزمایشگاه‌های بل هم چند نسخه مختلف برای اهداف تحقیقاتی و استفاده داخلی در همان جا توسعه داد.

در سال ۱۹۷۴ دانشجویان دانشگاه برکلی آغاز به برنامه‌نویسی برای یونیکس می‌کردند و آن را برای دانشگاه‌های دیگر و ای‌تی‌اندتی فرستادند وبا ادامهٔ این کار یونیکس در سال ۱۹۷۷ به یک سیستم‌عامل کامل تبدیل می‌شود. در می ۱۹۷۵، دارپا مزایای سیستم اشتراک زمانی یونیکس که «چند قابلیت جالب ارائه کرده بود» را در RFC 681 مستند کرد. در ۱۹۷۸، یونیکس/۳۲وی برای وی‌ای‌اکس، سیستم جدید DEC عرضه شد. در آن هنگام، یونیکس به اَشکال مختلفی بر روی ۶۰۰ ماشین اجرا می‌شد. آخرین نسخه تحقیقاتی از یونیکس، یعنی نسخه ۷ یونیکس، در سال ۱۹۷۹ منشتر شد. نسخه‌های ۸، ۹ و ۱۰ هم در دهه ۱۹۸۰ نوشته شدند اما فقط در بین چند دانشگاه منتشر شدند. دانشگاه‌های دیگر نیز مانند ام‌آی‌تی، Purdue، استنفورد و... کارهای بسیاری برای یونیکس کردند. با نوشتن برنامه‌های اینترنتی برای یونیکس در سال ۱۹۸۰ به وسیلهٔ دانشگاه برکلی یونیکس در سازمان‌های دولتی و شرکت‌های شبکه و کارگزارها(Servers) به گستردگی به کار گرفته شد.

سیستم عامل‌های یونیکس مانند[ویرایش]

از این زمان شمار فراوانی از شرکت‌های بازرگانی نیز از یونیکس برای کارهای بازرگانی خود بهره می‌جویند و نسخه‌های بازرگانی یونیکس هم به بازار می‌آیند که از این گروه می‌توان پخش‌های زیر را نام برد.

  • Xenix by Microsoft
  • AIX by IBM
  • HP-UX by HP
  • ULTRIX by Digital
  • SunOS by Sun

گذشته از سیستم عامل‌هایی که موسسه ی اپن گروپ، آن‌ها را کاملا سازگار با مشخصات یونیکس یکتا دانسته، سیستم عامل‌های فراوانی در عرضه شده اند که اگرچه استانداردهای لازم را فراهم آورده اند اما با نام شبه یونیکس آوازه دارند. ویرایش‌های پرشمار سیستم عامل متن باز لینوکس از این‌ دسته اند. همچنین سیستم عامل نکست‌ستپ (NextStep) که بر مبنای بی‌اس‌دی دانشگاه برکلی پدید آمد، خود پایه ی سیستم عامل مک اُ.اس (Mac OS X‌) شرکت اپل شد. اپل آی.اُ.اس (iOS) را نیز بر پایه ی مک اُ.اس گسترش داد. بسیاری از سیستم‌عامل‌های دیگر مانند اُربیت (Orbis) که بر روی پلی استیشن چهار ارائه می‌شود نیز بر مبنای یکی از انواع سیستم عامل بی‌اس‌دی گسترش یافته اند.

جستارهای وابسته[ویرایش]

منبع[ویرایش]

پیوند به بیرون[ویرایش]

جستجو در ویکی‌انبار در ویکی‌انبار پرونده‌هایی دربارهٔ یونیکس موجود است.