موضوع مقاله: یونیکس | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # یونیکس | مقدمه: ساده‌ترین تفاوت این دو سلسله، کاربرد به ترتیب \ و / برای انتساب یک زیرشاخه است، که باعث خطای زمان اجرا در اجرای برنامه‌ها و نرم‌افزار‌های نوشته شده در سکوهای لینوکس و مک در ویندوز و بالعکس می‌شود. | ## بخش 1: یونیکس | انواع سیستم‌های عامل بر پایه یونیکس یونیکس‌های رسمی عبارتند از: BSD از دانشگاه کالیفرنیا، برکلی AIX از آی‌بی‌ام SunOS/سولاریس از سان مایکروسیستمز زنیکس از مایکروسافت یونیکس‌های غیررسمی با آن که با استانداردهای یونیکس سازگارند، اما توسعه دهندگان یونیکس تأییدشان نکردند و حق استفاده از نام Unix را ندارند. اصطلاح یونیکس سنتی ممکن است برای توصیف سیستم‌عامل‌هایی که مشخصات و ویژگی‌های نسخه ۷ یونیکس یا نسخه ۵ یونیکس را دارند، استفاده شود. هنگامی که کن تامسون هنوز به مولتیکس دسترسی داشت، شبیه‌سازهایی برای سیستم صفحه‌بندی و فایل سیستم نوشت. او همچنین یک بازی رایانه‌ای به نام سفر فضایی نوشت، اما این بازی برای اجرا شدن به یک ماشین کارامدتر و ارزان‌تر احتیاج داشت و سرانجام او یک پی‌دی‌پی-۷ کم‌استفاده در آزمایشگاه‌های بل پیدا کرد. در سال ۱۹۶۹ تیمی به رهبری تامسون و ریچی، بر روی این ماشین پی‌دی‌پی-۷ یک سیستم فایل سلسله مراتبی، مفاهیم فرایند و فایل دستگاه، یک مفسر خط فرمان و تعدادی برنامه کوچک دیگر نوشتند. سیستم‌های یونیکس امروزی به شاخه‌های مختلفی تبدیل شده‌است که در مرور زمان به دست شرکت مخابرات آمریکا توسعه داده شده‌اند. سیستم‌های یونیکس با ایده‌های جدیدی که مطرح کرده‌اند، شناخته می‌شوند: پرونده‌های متنی ساده، مفسر خط فرمان و فایل سیستم سلسله مراتبی و غیره. در مهندسی نرم‌افزار، از یونیکس به خاطر زبان برنامه‌نویسی سی و فلسفه یونیکس یاد می‌شود. پیشینه توسعه یونیکس در سال ۱۹۶۹ به دست گروهی از کارمندان آزمایشگاه‌های بل متعلق به شرکت مخابرات آمریکا آغاز شد. اعضای این گروه کن تامسون، دنیس ریچی، برایان کرنیگان، داگلاس مکیلروی، مایکل لسک و جو اوسانا بودند. یونیکس در آغاز به زبان اسمبلی نوشته شد اما در سال ۱۹۷۳ به‌طور کلی به زبان سی بازنویسی شد، که این کار توسعه یونیکس و پورت کردن آن به دیگر platform (سکو)ها را ساده‌تر می‌کرد. یونیکس در ابتدا برای استفاده در بل سیستم در نظر گرفته شد ولی از اواخر دهه ۷۰ شرکت مخابرات آمریکا مجوز یونیکس را به طرف‌های بیرونی مختلفی داد که منجر به گونه‌های آکادمیک و تجاری از یونیکس شد، مانند BSD از دانشگاه کالیفرنیا، برکلی، AIX از آی‌بی‌ام، SunOS/سولاریس از سان مایکروسیستمز و زنیکس از مایکروسافت. شرکت تلفن و تلگراف آمریکا در ابتدای دهه ۹۰ حقوق خود در یونیکس را به شرکت نوول فروخت که نوول هم تجارت یونیکس را به شرکت سانتا کروز اوپریشن در سال ۱۹۹۵ فروخت؛ ولی نشان تجاری یونیکس در اختیار اوپن گروپ که یک کنسرسیوم استانداردهای تجاری است قرار گرفت و این گروه این نشان را به نام خود ثبت کرده‌است. تنها سیستم‌هایی که به صورت کامل با مشخصات یونیکس یکتا سازگار باشند و مبلغی پول به کنسرسیوم اوپن گروپ بپردازند، واجد شرایط استفاده از نام یونیکس هستند. دیگر سیستم‌ها می‌توانند شبه یونیکس نامیده شوند، هرچند که مؤسسه اوپن گروپ این نام را رد کرده‌است. در اواخر دهه ۱۹۷۰ و اوایل دهه ۱۹۸۰، نفوذ یونیکس در محافل دانشگاهی (به‌ویژه ویرایش BSD که از دانشگاه برکلی سرچشمه گرفته‌است) باعث پذیرش گسترده یونیکس توسط شرکت‌های مختلف شد و نسخه‌های تجاری مختلفی از یونیکس پدید آمد، همانند SunOS, اچ‌پی-یواکس، AIX. اگر گفته شود یونیکس آغازگر «دوره اطلاعات» و در امتداد آن «عصر اینترنت» است، سخنی گزاف نیست. | ## بخش 2: یونیکس | در واقع تا همین امروز هم، تقریباً ۱۰۰٪ پروتکل‌های مهم و باز که جنبش اینترنت را پدیدآورده‌اند، مانند وب، از خانوادهٔ یونیکس آمده و می‌آیند. اینترنت در آغاز در یونیکس گسترش یافت و تا سال‌ها، واژهٔ «اینترنت» در میان کاربران یونیکس واژه‌ای کاملاً عادی و روزمره بود، درحالی که دیگران حتی این واژه را نشنیده بودند یا با اکراه تمام به آن بی‌اعتنایی و حتی آن را مسخره می‌کردند. در این زمان فکر سامانه‌های اشتراک زمان مطرح بود و نخستین سیستم‌عامل چند کاربره طراحی شد که به عنوان کارگزار(Server) می‌توانست با نصب شدن بر روی یک رایانه به چند رایانه دیگر سرویس دهد. این سیستم‌عامل که CTSS نام داشت و می‌توانست ۲۰ کاربر را با یک رایانه IBM ۷۰۹۰ به خوبی اداره کند به شدت مورد توجه و مفید واقع شد و همه دریافتند که بخش عظیمی از رایانه‌های آینده از این فناوری بهره خواهند گرفت. به‌طوری‌که در سال ۱۹۶۵ سه شرکت از برجسته‌ترین نقش آفرینان رایانه در جهان، مؤسسه فناوری ماساچوست، آزمایشگاه‌های بل و جنرال الکتریک، یک سیستم‌عامل اشتراک زمان آزمایشی برای مین‌فریم جی‌ای-۶۴۵ طراحی کردند که مولتیکس نامیده می‌شد. آزمایشگاه‌های بل که از پیچیدگی زیاد مولتیکس ناامید شده بود، به آهستگی از پروژه کناره گرفت. آخرین محققان آن‌ها، کن تامسون، دنیس ریچی، داگلاس مکیلروی و جو اوسانا تصمیم گرفتند کار را از آغاز اما در مقیاسی کوچک‌تر از سر بگیرند. ریچی گفت «چیزی که ما می‌خواستیم، تنها یک محیط خوب برای برنامه‌نویسی نبود، بلکه سامانه‌ای بود که بتوان گرد آن دوستی را شکل داد.» در ۱۹۷۰، پیتر نیومن نام Unics را برای پروژه ابداع کرد. دنیس ریچی، کن تامسون و برایان کرنیگان، یونیکس (Unics) را بر اساس مولتیکس در آزمایشگاه بل پدیدآوردند. وقتی که گروه تحقیقات علوم رایانه می‌خواست از یونیکس بر روی یک رایانه بزرگ‌تر از پی‌دی‌پی-۷ استفاده کند، تامسون و ریچی قول دادند که برای ماشین پی‌دی‌پی۱۱/۲۰، قابلیت‌های پردازش متن را به یونیکس اضافه کنند. برای اولین بار در سال ۱۹۷۰، سیستم‌عامل یونیکس رسماً نامگذاری و بر روی یک پی‌دی‌پی۱۱/۲۰ اجرا شد. تمام این سه جزء (یونیکس، roff و ویرایشگر متن) به زبان اسمبلی ماشین پی‌دی‌پی۱۱/۲۰ نوشته شده بودند. آزمایشگاه‌های بل از این سیستمِ پردازش متن اولیه که از یونیکس، roff و ویرایشگر تشکیل شده بود، برای پردازش متن برنامه‌های پتنت شده‌استفاده کرد. از آن جا که شرکت مخابرات آمریکا، یکی از شرکت‌های دست اندرکار، از پروژه کنار گرفته بود، بنا بر قوانین آمریکا نمی‌توانست از یونیکس استفادهٔ بازرگانی کند؛ به این ترتیب یونیکس رایگان به بازار عرضه شد. شرکت مخابرات آمریکا نیز یونیکس را برای دانشگاه‌های مختلف فرستاد و یونیکس کم‌کم در محافل علمی محبوب شد. این برخلاف پندار همگانی آن زمان بود که می‌گفت «هر چیز پیچیده‌ای مثل یک سیستم‌عامل که باید با رویدادهای حساس به زمان سروکار داشته باشد، باید منحصراً به زبان اسمبلی نوشته شود.» نتیجه مهاجرت از زبان اسمبلی به زبان سطح بالاتر سی این بود که کد یونیکس پرتابل‌تر و قابل حمل‌تر شد و برای اجرا بر روی ماشین‌های دیگر تنها کافی بود قسمت‌های کوچکی از آن به زبان اسمبلی مخصوص همان ماشین نوشته شوند. شرکت مخابرات آمریکا کد منبع یونیکس را تحت مجوزهایی در دسترس دانشگاه‌ها، شرکت‌های تجاری و دولت ایالات متحده قرار داد. | ## بخش 3: یونیکس | مجوزها در همه جای کد منبع قرار داده شده بودند، حتی کدهای وابسته به ماشین در داخل هسته سیستم‌عامل، که به زبان اسمبلی پی‌دی‌پی-۱۱ نوشته شده بودند. در اواخر دهه ۱۹۷۰، کدهای منبع یونیکس در کتابی به نام «نسخه ۶ یونیکس به روایت لیونز، به همراه کد منبع» که توسط جان لینوز نوشته شده بود، به صورت گسترده منتشر شد. ویرایش‌های گوناگون نسخه‌های سیستم‌عامل یونیکس، توسط ویرایش‌های کتاب راهنمای کاربرانش مشخص می‌شدند. برای مثال «پنجمین ویرایش یونیکس» و «نسخه ۵ یونیکس» هر دو برای اشاره به یک نسخه استفاده می‌شدند. در این نسخه‌ها مفهوم تازهٔ لوله‌ها اضافه شده بود که به طراحی ماژولار یونیکس و چرخه توسعه سریع‌تر آن کمک کرد. نسخهٔ ۵ و به ویژه نسخهٔ ۶، به پیدایش نسخه‌های مختلفی از یونیکس، چه در داخل آزمایشگاه‌های بل و چه در خارج از آن انجامید. همان‌طور که قسمت‌های بیش‌تری از یونیکس به زبان سی بازنویسی می‌شد، پرتابل بودن آن هم افزایش می‌یافت و آسان‌تر می‌شد آن را به دیگر سکوها انتقال داد. آزمایشگاه‌های بل هم چند نسخه مختلف برای اهداف تحقیقاتی و استفاده داخلی در همان‌جا توسعه داد. در سال ۱۹۷۴ دانشجویان دانشگاه برکلی آغاز به برنامه‌نویسی برای یونیکس می‌کردند و آن را برای دانشگاه‌های دیگر و ای‌تی‌اندتی فرستادند وبا ادامهٔ این کار یونیکس در سال ۱۹۷۷ به یک سیستم‌عامل کامل تبدیل می‌شود. در می ۱۹۷۵، دارپا مزایای سیستم اشتراک زمانی یونیکس که «چند قابلیت جالب ارائه کرده بود» را در RFC 681 مستند کرد. نسخه‌های ۸، ۹ و ۱۰ هم در دهه ۱۹۸۰ نوشته شدند اما فقط در بین چند دانشگاه منتشر شدند. دانشگاه‌های دیگر نیز مانند ام‌آی‌تی، Purdue، استنفورد و… کارهای بسیاری برای یونیکس کردند. با نوشتن برنامه‌های اینترنتی برای یونیکس در سال ۱۹۸۰ به وسیلهٔ دانشگاه برکلی یونیکس در سازمان‌های دولتی و شرکت‌های شبکه و کارگزارها(Servers) به گستردگی به کار گرفته شد. سیستم عامل‌های شبه‌یونیکس از این زمان شمار فراوانی از شرکت‌های بازرگانی نیز از یونیکس برای کارهای بازرگانی خود بهره می‌جویند و نسخه‌های بازرگانی یونیکس هم به بازار می‌آیند که از این گروه می‌توان پخش‌های زیر را نام برد. زنیکس از مایکروسافت ای‌آی‌اکس از آی بی ام اچ پی-یواکس از اچ‌پی ULTRIX by Digital سان او اس از سان مایکروسیستمز گذشته از سیستم عامل‌هایی که مؤسسهٔ اپن گروپ، آن‌ها را کاملاً سازگار با مشخصات یونیکس یکتا دانسته، سیستم عامل‌های فراوانی عرضه شده‌اند که اگرچه استانداردهای لازم را فراهم آورده‌اند اما با نام شبه یونیکس آوازه دارند. همچنین سیستم عامل نکست‌ستپ (NextStep) که بر مبنای بی‌اس‌دی دانشگاه برکلی پدید آمد، خود پایهٔ سیستم عامل مک اُ. | ## جمع‌بندی | بسیاری از سیستم‌عامل‌های دیگر مانند اُربیت (Orbis) که بر روی پلی استیشن چهار ارائه می‌شود نیز بر مبنای یکی از انواع سیستم عامل بی‌اس‌دی گسترش یافته‌اند.