سیستم‌عاملی که امروزه روی میلیون‌ها دستگاه مک، آیفون و اپل‌واچ اجرا می‌شود، خاستگاهی فراتر از ساختمان‌های شیشه‌ای کاپرتینو دارد. این مسیر از یک شرکت نوپا آغاز شد که توسط استیو جابزِ تازه‌اخراج‌شده تأسیس شده بود. سفر از NeXTSTEP تا macOS، روایتی از تبار یونیکس، مهندسی میکروکرنل و معماری ترکیبی است که طی چهار دهه رشد و تکامل یافته است. با گذار اخیر به اپل سیلیکون، این معماری بنیادین‌ترین دگرگونی خود را پشت سر گذاشته است؛ در حالی که همچنان دی‌ان‌ای میکروکرنل Mach از دانشگاه کارنگی ملون و اجزای BSD از دانشگاه برکلی را در خود حفظ کرده است.

پایه و اساس NeXTSTEP؛ پیوند Mach و BSD

پس از درگیری‌های مدیریتی در سال ۱۹۸۵، استیو جابز اپل را ترک کرد اما هرگز از صحنه فناوری کنار نرفت. او شرکت NeXT را تأسیس کرد؛ شرکتی که ایستگاه‌های کاری پیشرفته‌ای برای دانشگاه‌ها و آزمایشگاه‌های تحقیقاتی تولید می‌کرد. اگرچه سخت‌افزارهای این شرکت به‌شدت گران‌قیمت بودند، اما نرم‌افزار آن‌ها تاریخ را دستخوش تغییر کرد.

تیم توسعه در NeXT سیستم‌عاملی به نام NeXTSTEP را ساخت که نخستین نسخه کامل آن در سال ۱۹۸۹ منتشر شد. مهندسان به جای ساخت یک سیستم‌عامل از پایه، بر پایه‌های اثبات‌شده یونیکس بنا نهادند. این ترکیب، میکروکرنل Mach را با اجزای BSD (شاخه‌ای از یونیکس که در دانشگاه برکلی توسعه یافته بود) پیوند داد. این تبار BSD هم‌اکنون در پروژه‌هایی مانند FreeBSD و OpenBSD به‌طور فعال زنده است.

وجه تمایز NeXTSTEP تنها ریشه‌های یونیکسی آن نبود، بلکه نحوه یکپارچه‌سازی ابزارها آن را متمایز می‌کرد. این سیستم کاملاً روی برنامه‌نویسی شیءگرا با زبان Objective-C متمرکز شد و با ارائه ابزارهایی مانند Interface Builder، به توسعه‌دهندگان اجازه داد اپلیکیشن‌های پیچیده‌ای را با سرعتی خیره‌کننده بسازند. چارچوب Mention شده بعدها به OpenStep و سپس به Cocoa تبدیل شد؛ پایه‌ای که نرم‌افزارهای فعلی اپل هنوز بر روی آن نوشته می‌شوند. پیشوند NS در کلاس‌هایی مثل NSString نیز دقیقاً مخفف NeXTSTEP است.

تولد XNU و هسته هیبریدی سیستم‌عامل مک

در اواسط دهه ۱۹۹۰، اپل با بحران عمیقی مواجه بود. سیستم‌عامل کلاسیک مک با thiếuبودن حافظه محافظت‌شده، چندوظیفه‌ای تعاونی ضعیف و پشته ناپایدار TCP/IP، به‌سرعت در حال کهنه شدن بود. پروژه‌های داخلی متعددی برای نجات شرکت تعریف شدند، اما همگی با شکست مواجه گردیدند. اپل فوراً به یک سیستم‌عامل مدرن نیاز داشت.

در دسامبر ۱۹۹۶، اپل خرید NeXT را با مبلغی حدود ۴۲۹ میلیون دلار اعلام کرد. این اتفاق تنها یک انتقال فناوری نبود؛ استیو جابز و مهندسان ارشدی مانند اوی توانیان (Avie Tevanian) را به شرکت بازگرداند. یک‌شبه، NeXTSTEP به سنگ بنای سیستم‌عامل آینده اپل تبدیل شد.

پایه متن‌باز سیستم‌عامل جدید که Darwin نام گرفت، به هسته‌ای به نام XNU (مخفف بازگشتی X is Not Unix) متکی بود. XNU یک هسته ترکیبی است که میراث Mach را با کدهای BSD در هم می‌آمیزد. در این معماری:

  • Mach: هسته مرکزی، مدیریت حافظه و ارتباط بین‌فرآیندی (IPC) را بر عهده دارد.
  • BSD: لایه POSIX، شبکه، سیستم‌های فایل و ابزارهای خط فرمان را فراهم می‌کند.
  • Cocoa و Objective-C: لایه ساخت اپلیکیشن‌ها را مستقیماً از NeXT به ارث می‌برد.
معماری ترکیبی هسته XNU در سیستم‌عامل Darwin

این طراحی ترکیبی دلیل اصلی شباهت محیط ترمینال (Terminal) در مک‌بوک‌ها با محیط‌های یونیکس و لینوکس است. مسیرهایی مانند /usr و /etc و ساختار مجوزهای POSIX نشان می‌دهد که زیر رابط کاربری صیقلی اپل، یک یونیکس اصیل قرار دارد. از نسخه Mac OS X 10.5 Leopard در سال ۲۰۰۷، سیستم‌عامل مک رسماً توسط The Open Group گواهی یونیکس دریافت کرده است و در کنار سیستم‌هایی مانند Oracle Solaris و IBM AIX قرار می‌گیرد.

میراث کلاسیک مک و گذار به اپل سیلیکون

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

با ورود به عصر اپل سیلیکون، هسته Darwin برای هماهنگی با پردازنده‌های مبتنی بر معماری ARM دوباره مهندسی شد. این تغییر تاریخی، کنترل کامل سخت‌افزار و نرم‌افزار را به دست اپل سپرد و بهینه‌سازی بی‌نظیری در مصرف انرژی و قدرت پردازشی ایجاد کرد. اما در نهایت، با وجود تمام این تکامل‌ها و تغییرات سخت‌افزاری، اگر به عمق خطوط کد هسته این سیستم‌عامل نگاه بیندازیم، همچنان اثر حضور استیو جابز در NeXT و مهندسی میکروکرنل‌های دهه ۱۹۸۰ را با وضوح مشاهده می‌کنیم.