یونیکس یک سیستم‌عامل مبناست. تقریباً پایه تمامی سیستم‌های عامل یا داس است یا یونیکس. ساده‌ترین تفاوت این دو سلسله، کاربرد به ترتیب \ و / برای انتساب یک زیرشاخه است، که باعث خطای زمان اجرا در اجرای برنامه‌ها و اپهای نوشته شده در سکوهای لینوکس و مک در ویندوز و بالعکس می‌شود.

یونیکس
سیر تکامل سیستم‌های یونیکس و شبه یونیکس
توسعه‌دهندهکن تامسون
دنیس ریچی
برایان کرنیگان
داگلاس مکیلروی
مایکل لسک
جو اوسانا
نوشته شده به زبانسی و زبان اسمبلی
خانوادهیونیکس
وضعیت توسعهفعال
مدل منبعبه‌طور تاریخی متن بسته، درحال حاضر بعضی پروژه‌ها شامل خانواده گنو /لینوکس که یکی از مشهور ترین‌های آنها هستند متن باز هستند.
گونه هستههسته یکپارچه
پروانهمالکیتی
وبگاه رسمی
تایم لاین یونیکس
سخنرانان کنفرانس تابستانی یوزنیکس در سال ۱۹۸۴، دنیس ریچی، اریک آلمن، ساموئل لفلر، مایکل کارلز و تعدادی دیگر در تصویر دیده می‌شوند.

انواع سیستم‌های عامل بر پایه یونیکس ویرایش

یونیکس‌های رسمی عبارتند از:

یونیکس‌های غیررسمی با آن که با استانداردهای یونیکس سازگارند، اما توسعه دهندگان یونیکس تأییدشان نکردند و حق استفاده از نام Unix را ندارند. اینها عبارتند از:

مشخصات ویرایش

یونیکس یک سیستم‌عامل چند کاربره با قابلیت چندکارگی است.

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

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

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

توسعه یونیکس در سال ۱۹۶۹ به دست گروهی از کارمندان آزمایشگاه‌های بل متعلق به شرکت مخابرات آمریکا آغاز شد. اعضای این گروه کن تامسون، دنیس ریچی، برایان کرنیگان، داگلاس مکیلروی، مایکل لسک و جو اوسانا بودند. یونیکس در آغاز به زبان اسمبلی نوشته شد اما در سال ۱۹۷۳ به‌طور کلی به زبان سی بازنویسی شد، که این کار توسعه یونیکس و پورت کردن آن به دیگر platform (سکو)ها را ساده‌تر می‌کرد. یونیکس در ابتدا برای استفاده در بل سیستم در نظر گرفته شد ولی از اواخر دهه ۷۰ شرکت مخابرات آمریکا مجوز یونیکس را به طرف‌های بیرونی مختلفی داد که منجر به گونه‌های آکادمیک و تجاری از یونیکس شد، مانند BSD از دانشگاه کالیفرنیا، برکلی، AIX از آی‌بی‌ام، SunOS/سولاریس از سان مایکروسیستمز و زنیکس از مایکروسافت. شرکت تلفن و تلگراف آمریکا در ابتدای دهه ۹۰ حقوق خود در یونیکس را به شرکت نوول فروخت که نوول هم تجارت یونیکس را به شرکت سانتا کروز اوپریشن در سال ۱۹۹۵ فروخت؛ ولی نشان تجاری یونیکس در اختیار اوپن گروپ که یک کنسرسیوم استانداردهای تجاری است قرار گرفت و این گروه این نشان را به نام خود ثبت کرده‌است. تنها سیستم‌هایی که به صورت کامل با مشخصات یونیکس یکتا سازگار باشند و مبلغی پول به کنسرسیوم اوپن گروپ بپردازند، واجد شرایط استفاده از نام یونیکس هستند. دیگر سیستم‌ها می‌توانند شبه یونیکس نامیده شوند، هرچند که مؤسسه اوپن گروپ این نام را رد کرده‌است.

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

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

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

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

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

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

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

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

بازنویسی به زبان سی ویرایش

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

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

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

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

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

سیستم عامل‌های شبه‌یونیکس ویرایش

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

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

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

منابع ویرایش

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