سیستم عامل یونیکس / Unix

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

چهارشنبه 10 اردیبهشت 1404
مطالعه 16 دقیقه
یونیکس از دل یک شکست متولد شد، اما پایه‌گذار دنیای نرم‌افزار، زبان‌های برنامه‌نویسی و شبکه‌هایی شد که هنوز ستون فقرات تکنولوژی امروزند.
تبلیغات

سیستم‌عامل یونیکس که در سال ۱۹۶۹ در راهروهای آزمایشگاه‌های بلِ AT&T متولد شد، نه محصول دستور شرکتی، بلکه زاده‌ی کنجکاوی دو مهندس با نام‌های کن تامپسون و دنیس ریچی بود.

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

موفقیت و نبوغ یونیکس در اصول بنیادینش تعریف می‌شود: سادگی و ماژولار بودن. این مفاهیم که در دهه‌ی ۱۹۷۰ با نوآوری‌هایی مانند سلسله‌مراتب فایل‌ها، «پایپ» (Pipe) و زبان برنامه‌نویسی C تبلور یافتند، به یونیکس اجازه دادند از محدوده‌ی PDP-7 فراتر رود. ریچی و تامپسون با جداسازی سیستم‌عامل از سخت‌افزار از طریق کدهای قابل حمل، ناخواسته پایه‌های اکوسیستم‌های ناهمگون و شبکه‌ای رایانش قرن ۲۱ را بنا نهادند.

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

کپی لینک

تولد یونیکس در آزمایشگا‌ه‌های بل

در سال ۱۹۶۰، آزمایشگاه‌های بلِ AT&T، مؤسسه فناوری ماساچوست (MIT) و جنرال‌الکتریک (GE) پروژه‌ای بلندپروازانه را برای توسعه‌ی یک سیستم‌عامل اشتراک زمانی به نام مالتیکس (مخفف Multiplexed Information and Computing Service به‌معنی «خدمات محاسباتی و اطلاعاتی چندبخشی») آغاز کردند.

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

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

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

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

کپی لینک

سفر فضایی: بازی‌ای که یونیکس را شکل داد

در سال ۱۹۶۹، تامپسون که از متوقف شدن پروژه‌ی مالتیکس ناراضی بود، برای پر کردن اوقات فراغتش، بازی سفر فضایی را ساخت که یک شبیه‌ساز فضایی بود و به کاربر اجازه می‌داد فضاپیمایی را در مدلی کوچک از منظومه‌ی شمسی هدایت کند. این بازی که روی مین‌فریم جنرال‌الکتریک توسعه یافته بود، نیروی گرانش و مکانیک مداری را به‌صورت بلادرنگ محاسبه می‌کرد؛ اما با خاتمه‌ی پروژه‌ی مالتیکس، تامپسون دسترسی به سخت‌افزار را از دست داد.

پیش از آنکه یونیکس به ستون دنیای کامپیوتر تبدیل شود، یک بازی ویدیویی تقریباً مسیر توسعه‌ی آن را منحرف کرد

تامپسون که مصمم به نجات پروژه‌اش بود، بازی را به کامپیوتر قدیمی PDP-7 منتقل کرد؛ اما نبود سخت‌افزار محاسبات اعشاری در PDP-7، او را مجبور کرد محاسبات فیزیک بازی را به‌صورت نرم‌افزاری بازنویسی کند که فرایندی بسیار طاقت‌فرسا بود. برای ساده‌سازی توسعه، او یک سیستم‌عامل ابتدایی همراه با سیستم مدیریت فایل و مدیریت فرایند برای PDP-7 نوشت. در ابتدا، هدف تامپسون فقط زنده نگه داشتن بازی‌اش بود!

نسخه‌ی اولیه این سیستم‌عامل، یونیکس (UNiplexed Information and Computing Service به اختصار UNICS و سپس UNIX) نامیده شد که اشاره‌ای کوچک به پروژه‌ی مالتیکس داشت. این سیستم‌عامل شامل یک سیستم فایل سلسله‌مراتبی، مفسر خط فرمان (شِل) و ابزارهایی مانند ویرایشگر متن بود.

اگرچه یونیکس اولیه کاملاً به زبان اسمبلی و مختص معماری PDP-7 نوشته شده بود و قابلیت انتقال به سخت‌افزارهای دیگر را نداشت، اصول طراحی آن نظیر سادگی، ترکیب‌پذیری ابزارها و فلسفه‌ی «همه‌چیز یک فایل است»، پایه‌های آینده‌ی یونیکس را بنا نهاد.

سال‌ها بعد تامپسون با شوخی گفت یونیکس «سیستمی برای اجرای بازی سفر فضایی بود»

تحول بزرگ زمانی رخ داد که آزمایشگاه‌های بل در سال ۱۹۷۰ یک کامپیوتر PDP-11 خریداری کرد و بازنویسی یونیکس آغاز شد. ریچی بین سال‌های ۱۹۶۹ تا ۱۹۷۳ زبان برنامه‌نویسی C را بر پایه‌ی زبان قدیمی‌تر B توسعه داد. زبان C دسترسی به سخت‌افزار در سطح پایین و انتزاع سطح بالا (مانند ایده‌های نزدیک به شیءگرایی نظیر struct) را ترکیب می‌کرد و امکان نوشتن کدهای قابل انتقال به سخت‌افزارهای مختلف را فراهم کرد.

تا سال ۱۹۷۳، یونیکس کاملاً به زبان C بازنویسی و از وابستگی به کد اسمبلی سخت‌افزار رها شد. در دستاوردی انقلابی در عصری که سیستم‌ها عموماً انحصاری و وابسته به سخت‌افزار بودند، این قابلیت، یونیکس را قادر ساخت تا به‌راحتی با معماری‌های جدید سازگار شود.

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

کپی لینک

نوآوری‌های معماری و فلسفه‌ طراحی

هسته‌‌ یونیکس مفاهیم نوینی در مدیریت فرایندها معرفی کرد، از جمله فراخوان سیستمی ()fork که با تکثیر فرایندهای موجود، ایجاد فرایندهای جدید را ساده می‌کرد؛ اما همچنان فرایندها از هم مستقل بودند و ارسال و دریافت داده بین آن‌ها با مشکل صورت می‌گرفت.

در سال ۱۹۷۳ داگ مک‌ایلروی (Doug McIlroy)، ریاضیدان و از پیشگامان توسعه‌ی یونیکس، از روش‌های ناکارآمد انتقال داده بین برنامه‌ها ناراضی بود. در آن زمان، توسعه‌دهندگان مجبور بودند خروجی یک برنامه را در فایل‌های موقت ذخیره کنند تا برنامه‌ی بعدی آن را بخواند. این روش نه‌تنها کند بود، بلکه دایرکتوری‌ها را شلوغ می‌کرد و پردازش بلادرنگ را غیرممکن می‌ساخت.

ایده‌ی «پایپ» از مک‌ایلروی، بخشی از نماد فلسفه‌ی ماژولاریتی یونیکس شد

مک‌ایلروی با الهام از خطوط مونتاژ صنعتی، مفهوم پایپ را پیشنهاد کرد. در این طرح، خروجی یک برنامه مستقیماً به‌عنوان ورودی برنامه‌ی بعدی و بدون نیاز به ذخیره‌سازی موقت، جریان می‌یافت. کن تامپسون، از خالقان یونیکس، ابتدا این ایده را رد کرد، اما درنهایت اصرار مک‌ایلروی نتیجه داد. طی یک جلسه‌ی برنامه‌نویسی شبانه در ۱۹۷۳، تامپسون پیاده‌سازی ایده را در هسته‌ی یونیکس کامل کرد و عملگر نمادین «|» را به شل افزود. مک‌ایلروی بعدها با طنز گفت:

باید برنامه را مانند قطعات شلنگ به هم وصل کنیم. یعنی هرگاه لازم شد داده‌ها را به شکلی جدید پردازش کنیم، قطعه‌ای جدید اضافه می‌کنیم.
- داگ مک‌ایلروی، ریاضیدان و از پیشگامان توسعه‌ی یونیکس

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

کپی لینک

تولد «دیمِن» یونیکس: میراث یک اشتباه تایپی

یکی از پایدارترین مفاهیم فنی یونیکس، دیمِن (Daemon) است که به فرایندهای پس‌زمینه‌ای مدیریت وظایف سیستم اشاره دارد. این نامگذاری همچنین ریشه در یک اشتباه تایپی طنزآمیز و شوخی داخلی مهندسان آزمایشگاه‌های بل دارد.

سال‌ها پیش از تولد یونیکس، سیستم اشتراک زمانی MIT موسوم به CTSS، ایده‌ی برنامه‌های «شیطانی» (Demon) را برای انجام خودکار وظایف معرفی کرد؛ اما این اصطلاح در دوران توسعه‌ی یونیکس در آزمایشگاه‌های بل جان تازه‌ای گرفت.

در سال ۱۹۷۱، تام لیون، برنامه‌نویس آزمایشگاه‌های بل، برای مدیریت خودکار ارسال ایمیل در آرپانت (پیشگام اینترنت)، نیاز به یک فرایند پس‌زمینه‌ای داشت که بدون نیاز به کاربر، پیام‌ها را ارسال کند. او بر اساس آزمایش فکری جیمز کلارک ماکسول (فیزیکدانی که درباره‌ی «شیطانی» فرضی صحبت می‌کرد که مولکول‌ها را مرتب می‌کند) این فرایند را با طنز، «دیمِن» نامید.

اما پذیرش اصطلاح دیمِن در فرهنگ یونیکس مدیون یک اشتباه تایپی بود. هنگام نوشتن گزارش‌ها، یکی از مسئولان آزمایشگاه به اشتباه «Demon» را «Daemon» تایپ کرد. این اشتباه ماندگار شد و تیم توسعه‌ی آن را به‌عنوان سرواژه‌ی «Disk And Execution MONitor» (به‌ معنی «نظارت‌گر دیسک و اجرا») تعریف کردند!

دیمِن‌ها به بخشی جدایی‌ناپذیر از معماری یونیکس تبدیل شدند و وظایفی مانند چاپ (lpd)، زمان‌بندی (cron) و خدمات شبکه (inetd) را مدیریت می‌کردند. این فرایندها در پس‌زمینه و مستقل از ترمینال کاربرها اجرا می‌شدند.

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

کپی لینک

یونیکس چگونه همگانی شد؟

در اولین قدم و برای معرفی به علاقه‌مندان، در نوامبر ۱۹۷۱، نخستین نسخه‌ی یونیکس همراه با کتاب راهنمای برنامه‌نویسان یونیکس منتشر شد. در آن دوران، انتشار مستندات فنی همراه محصولات، رویکردی استاندارد بود تا محققان بتوانند با مطالعه‌ی جزئیات، به درک عمیقی از سیستم برسند.

در نوامبر ۱۹۷۳ (آبان ۱۳۵۲)، تامپسون و ریچی، یونیکس را در کنفرانس اصول سیستم‌عامل‌ها در دانشگاه پردو آمریکا رسماً به علاقه‌مندان معرفی کردند. در این رویداد، دانشجویان، استادان، محققان و نمایندگان شرکت‌های فناوری حضور داشتند. یکی از حضار تأثیرگذار، پروفسور باب فابری از دانشگاه کالیفرنیا برکلی بود که مسیر توسعه‌ی یونیکس را با انتقال آن به برکلی تغییر داد.

امروز میراث یونیکس در سیستم‌عامل‌هایی مانند لینوکس و BSD زنده است

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

پروفسور باب فابری نسخه‌ای از یونیکس را با تنها ۹۹ دلار برای کاهش هزینه‌های راه‌اندازی منابع رایانه‌ای دانشگاه خریداری کرد. در آن زمان، مجوز یونیکس شامل تمام کدهای منبع نیز می‌شد و محققان اجازه داشتند آن را تغییر داده یا گسترش دهند. بیل جُوی، دانشجوی کارشناسی ارشد، به همراه گروهی از محققان و هکرهای برکلی، شروع به اصلاح و توسعه‌ی نسخه‌ی اصلی یونیکس کردند.

شهرت این نسخه‌ی اصلاح‌شده به سرعت افزایش یافت و یونیکس برکلی در میان پژوهشگران، مؤسسات آموزشی و دانشگاه‌ها، محبوبیت فراوانی پیدا کرد. در اوایل ۱۹۷۷، جُوی این نسخه را تحت نام BSD (توزیع نرم‌افزار برکلی) منتشر کرد، درحالی‌که AT&T همچنان به توسعه‌ی یونیکس با نام‌های «سیستم III» و بعدها «سیستم V» ادامه می‌داد. تا سال ۱۹۸۰، آزمایشگاه‌های بل چندین نسخه از یونیکس را برای استفاده‌ی داخلی و سازگاری با سخت‌افزارهای مختلف توسعه دادند.

یونیکس هم به‌وسیله‌ی شرکت‌های معتبر و هم زیر نظر دانشگاه‌ها توسعه می‌یافت

در این دوره، دو مسیر موازی برای توسعه‌ی یونیکس شکل گرفت: یکی تحت مدیریت AT&T و دیگری جامعه‌ی آکادمیک به رهبری گروه تحقیقات سیستم‌های رایانه‌ای (CSRG) در دانشگاه برکلی کالیفرنیا.

کپی لینک

جنگ‌های یونیکس

از اواخر دهه‌ی ۱۹۸۰ تا اوایل ۱۹۹۰، رقابت بین دو شاخه‌ی اصلی یونیکس، سیستم V و BSD، به اوج خود رسید. با گذشت سال‌ها، هر دو نسخه ویژگی‌های کلیدی یکدیگر را اقتباس کردند. از نظر تجاری، سیستم V از این نبرد پیروز بیرون آمد و اکثر رابط‌های آن به استانداردهای رسمی تبدیل شد. این امر باعث شد شرکت‌های سخت‌افزاری به سمت سیستم V جذب شوند.

در دهه‌ی ۱۹۸۰، شرکت‌های متعددی با اقتباس از یونیکس، سیستم‌عامل‌های اختصاصی خود را توسعه دادند. آن‌ها با دریافت مجوز از آزمایشگاه‌های بل یا توزیع برکلی، یونیکس را برای سخت‌افزارهای خود سازگار می‌کردند. نتیجه‌ی این تلاش‌ها، ظهور سیستم‌عامل‌هایی مانند FreeBSD، NetBSD، Sun Solaris، زنیکس، IBM-AIX و HP-UX بود.

پیش از سلطه‌ی ویندوز، آزمایشگاه‌های بل یک مجوز یونیکس را به مایکروسافت فروخت. مایکروسافت در سال ۱۹۸۰ این سیستم را با وجود مخالفت‌های بخش بازاریابی، با نام زنیکس به تولیدکنندگان سخت‌افزار (OEMها) عرضه کرد. در آن زمان، بازار OEMها عمدتاً شامل دستگاه‌های PDP بود.

مایکروسافت درنهایت زنیکس را به گروه SCO فروخت و این آغاز دعوای حقوقی بی‌پایان بین SCO و IBM بود. اگرچه مایکروسافت قصد داشت از تجارت یونیکس خارج شود، اما پیش از توسعه‌ی DOS و ویندوز، در ساخت سری سیستم‌عامل‌های IBM OS مشارکت کرد. این حرکت، مسیر تبدیل شدن ویندوز را به استاندارد همه‌گیر رایانه‌های شخصی، هموار ساخت.

در سال ۱۹۸۲، شرکت سان مایکروسیستمز، سیستم‌عامل SunOS را برای ایستگاه‌های کاری و سرورهای خود معرفی کرد. این سیستم که مبتنی بر BSD (از نسخه‌ی ۱ تا ۵) بود، بعدها با ایده‌برداری از سیستم V، تحت نام سولاریس به بازار عرضه شد.

سولاریس به‌عنوان نرم‌افزاری انحصاری شناخته می‌شد، تا اینکه در ژوئن ۲۰۰۵، سان مایکروسیستمز بخش عمده‌ی کدهای آن را تحت مجوز CDDL منتشر و پروژه‌ی متن‌باز اوپن‌سولاریس را پایه‌گذاری کرد. هدف سان، ایجاد جامعه‌ای از توسعه‌دهندگان حول این نرم‌افزار بود.

HP نیز در سال ۱۹۸۴ سیستم‌عامل HP-UX را بر پایه‌ی سیستم V آزمایشگاه‌های بل معرفی کرد. این حرکت، گامی کلیدی در تثبیت جایگاه یونیکس به‌عنوان پایه‌ای برای سیستم‌عامل‌های شرکتی بود و نشان داد که فلسفه‌ی ماژولاریتی و انعطاف‌پذیری یونیکس، چقدر می‌تواند الهام‌بخش نسل‌های بعدی فناوری باشد.

یونیکس به‌دلیل نبود قوانین مشخص برای کپی‌رایت نرم‌افزاری، موضوع درگیری‌های حقوقی بسیاری شد

سال ۱۹۸۴، سالی پر رخداد برای یونیکس بود. AT&T که یونیکس را به‌عنوان محصولی انحصاری می‌فروخت، وارد نبرد حقوقی با BSD شد. این دادگاه پنج سال طول کشید و در نهایت AT&T برنده شد. در این دوره، شرکت‌ها برای جلوگیری از مشکلات قانونی، به سمت سیستم V گرایش پیدا کردند و محبوبیت BSD کاهش یافت.

در سال ۱۹۸۶، غول فناوری IBM نسخه‌ای از یونیکس سیستم V با قابلیت‌های سازگار با 4.3 BSD را از آزمایشگاه‌های بل خریداری کرد. این شرکت، سیستم را با سخت‌افزارهای مبتنی بر معماری IBM سازگار کرد و آن را تحت نام IBM-AIX (Advanced Interactive eXecutive) به بازار عرضه کرد.

AIX در دهه‌ی ۹۰ میلادی و حتی پس از آن، به محبوب‌ترین توزیع تجاری یونیکس تبدیل شد. این سیستم‌عامل ابتدا برای ایستگاه‌های کاری RISC مدل RT PC طراحی شد، اما امروز از طیف وسیعی از سکوهای سخت‌افزاری مانند سری RS/6000، سیستم‌های مبتنی‌بر POWER و PowerPC، سرورهای اپل و حتی رایانه‌های شخصی PS/2 پشتیبانی می‌کند.

آخرین نسخه‌ی رسمی یونیکس از برکلی در سال ۱۹۹۵ همزمان با نام انتشار دوم BSD-Lite 4.4 منتشر شد و سرانجام، گروه CSRG منحل و توسعه‌ی یونیکس در برکلی متوقف شد. از آن زمان، جامعه‌ی متن‌باز مسئولیت نگهداری و توسعه‌ی شاخه‌هایی مانند FreeBSD، NetBSD و OpenBSD را برعهده گرفت که به‌صورت مستقیم یا غیرمستقیم از 4.4 BSD-Lite الهام گرفته‌اند.

کپی لینک

تکامل یونیکس پس از ۱۹۹۵ و میراث آن در محاسبات مدرن

داستان یونیکس پس از سال ۱۹۹۵، روایتی از پراکندگی، سازگاری و تأثیر ماندگار است. درحالی‌که ظهور لینوکس و نرم‌افزارهای متن‌باز، چهره‌ی سیستم‌عامل‌ها را دگرگون کرد، یونیکس در محیط‌های تخصصی سازمانی باقی ماند و الهام‌بخش پیشرفت‌های بنیادین در فناوری‌های مدرن شد.

کپی لینک

یونیکس تجاری در اواخر قرن بیستم

تا اواسط دهه‌ی ۱۹۹۰، اکوسیستم یونیکس به شاخه‌های انحصاری مانند سولاریس سان مایکروسیستمز، IBM AIX و HP-UX تقسیم شده بود. این سیستم‌ها بر پایداری، مقیاس‌پذیری و سازگاری با نرم‌افزارهای قدیمی تمرکز داشتند و برای پردازش‌های حیاتی سازمان‌ها طراحی شده بودند. برای مثال، سولاریس معرفی‌شده در سال ۲۰۰۵ قابلیت انقلابی ZFS (سیستم فایل زتابایت) را معرفی کرد که ترکیبی از سیستم فایل و مدیریت حجم منطقی برای تضمین یکپارچگی داده‌ها و مقیاس‌پذیری عظیم ذخیره‌سازی بود.

با‌این‌حال، این سیستم‌ها با چالش‌هایی روبه‌رو شدند. وابستگی به سخت‌افزارهای انحصاری و هزینه‌های بالای مجوزها، آن‌ها را در مقایسه با جایگزین‌های متن‌باز جدید، کُندتر کرد. در دهه‌ی ۲۰۰۰، ادغام‌های بزرگی رخ داد: اوراکل در سال ۲۰۱۰ سان مایکروسیستمز را خریداری کرد و توسعه‌ی سولاریس را با تمرکز بر زیرساخت ابری ادامه داد. HP-UX نیز که به پردازنده‌های ایتانیوم وابسته بود، با سلطه‌ی معماری x86 اینتل بر مراکز داده، به حاشیه رانده شد.

کپی لینک

صعود لینوکس

پرسش مهم اینجاست: با وجود سلطه‌ی یونیکس در دو شاخه‌ی تجاری (سیستم V) و آکادمیک (BSD)، لینوکس چگونه به صحنه آمد و به جایگاه پرطرفدار امروزی رسید؟

در سال ۱۹۸۳، ریچارد استالمن پروژه‌ی گنو را با هدف ایجاد یک سیستم‌عامل شبه‌یونیکس و کاملاً رایگان آغاز کرد. تا اوایل ۱۹۹۰، ابزارهایی مانند کامپایلرها، ویرایشگرهای متن و پوسته‌ی یونیکس آماده بودند، اما بخش‌های پایه‌ای مانند درایورهای سخت‌افزاری تکمیل نشده بود. این خلأ با ظهور هسته‌ی لینوکس در سال ۱۹۹۱ پر شد.

لینوکس در سال ۱۹۹۱ از سوی لینوس توروالدز، دانشجوی دانشگاه هلسینکی، معرفی شد. برخلاف یونیکس که برای سرورها طراحی شده بود، لینوکس ابتدا بر رایانه‌های شخصی متمرکز بود. توروالدز هسته‌ی خود را با ابزارهای گنو ادغام کرد و سیستم‌عامل کامل گنو/لینوکس متولد شد.

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

گذار از یونیکس به لینوکس به‌صورت جدی از اواخر دهه‌ی ۱۹۹۰ آغاز شد. مدل متن‌باز لینوکس، هزینه‌ی پایین و چرخه‌ی سریع نوآوری، عوامل کلیدی این تحول بودند. هسته‌ی لینوکس در ترکیب با ابزارهای گنو، معماری یونیکس را بازآفرینی کرد و در عین حال، ماژولاریتی و توسعه‌ی جامعه‌محور را به آن افزود.

شرکت‌هایی مانند IBM که پیش‌تر حامی پروپاقرص AIX بودند، سرمایه‌گذاری سنگینی روی لینوکس انجام دادند. رد هت، که در ۱۹۹۳ تأسیس شد، با ارائه‌ی پشتیبانی تجاری و معرفی فناوری‌هایی مانند SELinux (لینوکس تقویت‌شده‌ی امنیتی) و systemd (سیستم مدیریت سرویس‌ها)، نقش محوری‌ای در آماده‌سازی لینوکس برای محیط‌های سازمانی ایفا کرد.

لینوکس اکنون بیشترین اشتراک را با یونیکس دارد. ابزارهایی مانند Emacs، Vi، پوسته‌های خط فرمان و کامپایلرها در هر دو سیستم یکسان هستند. فلسفه‌ی ماژولار بودن، استفاده از فایل‌سیستم سلسله‌مراتبی و تمرکز بر خط فرمان، میراثی است که یونیکس برای دنیای متن‌باز به جا گذاشت. این اصول نه‌تنها در لینوکس، بلکه در پروژه‌های مدرنی مانند اندروید و کروم‌اواس نیز دیده می‌شود.

صفحه دسکتاپ یونیکس GhostBSD
مرور سایت زومیت از دید یونیکس
صفحه مرورگر فایل و دایرکتوری ریشه یونیکس GhostBSD
صفحه‌ی مرورگر فایل و دایرکتوری ریشه‌ی یونیکس
کپی لینک

میراث معماری یونیکس

تأثیر یونیکس در سیستم‌عامل‌های مدرن مشهود است. در سال ۱۹۸۰، سیستم‌عامل شبه‌یونیکس NeXTSTEP از سوی شرکت NeXT به رهبری استیو جابز توسعه یافت. هسته‌ی این سیستم مبتنی بر ماک (Mach) بود که خود ریشه در BSD داشت. پس از خریداری NeXT از سوی اپل در ۱۹۹۶، این فناوری به هسته‌ی اصلی مک‌اواس تبدیل شد.

مک‌اواس که مطابق با استاندارد POSIX (مبتنی بر یونیکس) توسعه یافته، بخش کوچکی از هسته‌ی XNU خود را از BSD به ارث برده است، ولی ارتباط مستقیمی با یونیکس ندارد.

با وجود سلطه‌ی لینوکس، گونه‌های یونیکس در بخش‌هایی که نیازمند قابلیت اطمینان اثبات‌شده هستند، زنده مانده‌اند. اوراکل سولاریس ۱۱.۴ با معرفی یکپارچه‌سازی ابری و مجموعه داده‌های رمزگذاری‌شده ZFS، هدف خود را به تسخیر بخش‌های دولتی و مالی معطوف کرد.

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

آخرین نسخه از IBM AIX 7.3 که در سال ۲۰۲۲ معرفی شد، با افزودن قابلیت‌های ابر هیبریدی و تنظیم عملکرد مبتنی بر هوش مصنوعی، جایگاه خود را در صنایع حفظ کرده است. این سیستم‌ها در محیط‌های هیبریدی که نیازمند اجرای برنامه‌های قدیمی با رفتار قطعی (Deterministic) یونیکس هستند، همزیستی مسالمت‌آمیزی با لینوکس دارند.

مسیر یونیکس پس از ۱۹۹۵ نشان‌دهنده‌ی یک پارادوکس است؛ چراکه کاربردهای تجاری آن کاهش یافت، اما اصول معماری‌اش همه‌گیر شد. گذار به لینوکس نه یک جایگزینی، بلکه تکاملی بود که روح یونیکس را به عصر متن‌باز گسترش داد.

میراث یونیکس اکنون در زیرساخت‌های ابری و حتی رابط‌های خط فرمانی که توسعه‌دهندگان روزانه استفاده می‌کنند، زنده است. همان‌طور که فناوری به پیشرفت خود ادامه می‌دهد، «روش یونیکس» با سادگی، ترکیب‌پذیری و شفافیت، به‌عنوان الگویی برای حل مسائل پیچیده باقی می‌ماند و ثابت می‌کند که ایده‌های بزرگ، بسیار فراتر از پیاده‌سازی اولیه عمر می‌کنند.

مقاله رو دوست داشتی؟
نظرت چیه؟
تبلیغات
داغ‌ترین مطالب روز
تبلیغات

نظرات

با چشم باز خرید کنید
زومیت شما را برای انتخاب بهتر و خرید ارزان‌تر راهنمایی می‌کند
ورود به بخش محصولات