سیستم عامل مک او اس: معماری، ویژگیها و کاربرد انحصاری در رایانههای اپل
۱. هستهٔ ایکسانیو و معماری ترکیبی
هستهٔ سیستمعامل مک او اس با نام ایکسانیو(XNU) شناخته میشود که مخفف "X is Not Unix" است. این هسته از ترکیب دو نوع معماری اصلی بهره میبرد: هستهٔ یکپارچه(Monolithic Kernel) برای سرعت و ریز هسته(Microkernel) برای پایداری. به این ترکیب، هستهٔ ترکیبی گفته میشود.
در هستهٔ ایکسانیو، بخش مدیریت حافظه و زمانبندی وظایف در حالت هسته اجرا میشوند (مانند هستهٔ یکپارچه) اما درایورهای سختافزاری و سامانههای فایل به صورت ماژولهای جداگانه در فضای کاربر اجرا میگردند. این طراحی باعث میشود اگر یک درایور دچار مشکل شود، کل سیستم از کار نیفتد. برای مثال، اگر درایور صفحهکلید مکبوک دچار نقص نرمافزاری شود، فقط آن دستگاه از کار میافتد ولی سیستمعامل همچنان به فعالیت ادامه میدهد.
۲. مدیریت حافظه و صفحهبندی در مک او اس
مک او اس از مدل حافظهٔ مجازی(Virtual Memory) با اندازهٔ صفحه 4 کیلوبایت استفاده میکند. هر فرآیند فضای آدرس مجازی خود را دارد که به صفحات تقسیم میشود. جدول صفحات (Page Table) نگاشت آدرس مجازی به فیزیکی را ذخیره میکند. اگر حافظهٔ فیزیکی پر شود، سیستم از فایل سواپ (Swap) روی دیسک سخت استفاده میکند.
فرمول محاسبهٔ تعداد ورودیهای جدول صفحات برای یک فرآیند به صورت زیر است:
مثال: اگر اندازهٔ فضای آدرس مجازی 4 گیگابایت (یعنی 4 \times 2^{30} بایت) و اندازهٔ صفحه 4 کیلوبایت (4 \times 2^{10}) باشد، آنگاه:
یعنی بیش از یک میلیون ورودی جدول که هرکدام 8 بایت فضا اشغال میکنند. به همین دلیل مک او اس از جدول صفحات چندسطحی (Multi-level Page Table) استفاده میکند تا حافظهٔ مصرفی را کاهش دهد.
| ویژگی | اچافاس (پیشفرض تا نسخهٔ ۱۰.۱۲) | ایپیافاس (از نسخهٔ ۱۰.۱۳) |
|---|---|---|
| حداکثر حجم | 8 اگزابایت | 2^63 بایت (عملاً نامحدود) |
| پشتیبانی از کپیدرنوشتن | ندارد | دارد |
۳. انحصار سختافزاری: چرا مک او اس فقط روی مک نصب میشود؟
دلیل اصلی انحصار، طراحی سیستم روی تراشه(SoC)های خانوادهٔ اپل سیلیکون(Apple Silicon) مانند تراشهٔ اموان (M1)، امتو (M2) و امتری (M3) است. این تراشهها شامل هستهٔ پردازنده، حافظهٔ یکپارچه و کنترلکنندههای ورودی/خروجی هستند. مک او اس بهینهسازیهای عمیقی برای این معماری دارد که روی سختافزارهای دیگر (مثلاً رایانههای مبتنی بر ویندوز) کار نمیکند.
مثال عملی: در مکبوک پرو با تراشهٔ امتری، موتور عصبی (Neural Engine) با سرعت 18 تریلیون عملیات در ثانیه، وظایف یادگیری ماشین را انجام میدهد. اگر همین سیستمعامل روی یک رایانهٔ معمولی نصب شود، چون چنین سختافزاری وجود ندارد، یا از شبیهساز استفاده میکند که بسیار کند است یا اصلاً اجرا نمیشود.
۴. کاربرد عملی: رابط کاربری و سامانهٔ پنجرهها
رابط کاربری مک او اس از سامانهٔ پنجرههای کوارتز(Quartz Compositor) استفاده میکند. هر پنجره یک بافر تصویر است و ترکیبکننده (Compositor) آنها را روی هم سوار میکند. فرمول نرخ فریم خروجی به صورت زیر است:
که $T_{\text{render}}$ زمان رندر هر فریم، $T_{\text{composite}}$ زمان ترکیب لایهها و $T_{\text{display}}$ زمان بازخوانی نمایشگر است. برای مثال، اگر مجموع این زمانها برابر 16.67 میلیثانیه باشد، نرخ فریم 60 فریم بر ثانیه خواهد بود.
۵. چالشهای مفهومی
از نظر فنی امکانپذیر است اما نیاز به شبیهسازی درایورها و دور زدن قفل امنیتی تی۲ (T2 Security Chip) دارد. اپل با بهروزرسانیهای سیستمعامل، این روشها را مسدود میکند. همچنین عملکرد بهینه نخواهد بود زیرا بهینهسازیهای سختافزاری موجود نیست.
برای اجرای همزمان چندین برنامهٔ بزرگ. مثلاً اگر یک نرمافزار ویرایش ویدیو به 8 گیگابایت حافظه نیاز داشته باشد ولی سیستم فقط 4 گیگابایت حافظهٔ فیزیکی داشته باشد، سیستمعامل صفحات کماستفاده را روی دیسک سخت (سواپ) ذخیره میکند و فضای فیزیکی را آزاد مینماید.
هستهٔ لینوکس یکپارچه است یعنی همهٔ درایورها و سامانهٔ فایل در فضای هسته اجرا میشوند. اما ایکسانیو ترکیبی است: بخش مدیریت حافظه و زمانبندی در هسته و بقیهٔ ماژولها در فضای کاربر. این طراحی پایداری بیشتری میدهد اما کمی کندتر است.
• مک او اس فقط روی مکبوک، آیمک و سایر رایانههای اپل نصب میشود.
• هستهٔ ایکسانیو ترکیبی از هستهٔ یکپارچه و ریز هسته است.
• مدیریت حافظه با صفحهبندی (Page size = 4KB) و جدول صفحات چندسطحی انجام میشود.
• انحصار سختافزاری به دلیل معماری اپل سیلیکون و بهینهسازیهای عمیق سیستمعامل است.
• سامانهٔ پنجرهها از ترکیبکنندهٔ کوارتز برای نرخ فریم بالا استفاده میکند.
پاورقی
1ایکسانیو (XNU): هستهٔ سیستمعامل مک او اس که مخفف "X is Not Unix" است. این هسته در ابتدا توسط شرکت نکست (NeXT) توسعه یافت و سپس اپل آن را برای مک او اس به کار برد.
2حافظهٔ مجازی (Virtual Memory): تکنیکی که به هر فرآیند یک فضای آدرس بزرگتر از حافظهٔ فیزیکی موجود میدهد و از دیسک سخت به عنوان حافظهٔ اضافی استفاده میکند.
3سامانهٔ فایل ایپیافاس (APFS): مخفف "Apple File System"، سامانهٔ فایل مدرن اپل که از کپیدرنوشتن و رمزنگاری پیشرفته پشتیبانی میکند.
4کوارتز (Quartz): موتور رندرینگ دو بعدی در مک او اس که از فرمت پیدیاف (PDF) به عنوان مدل گرافیکی پایه استفاده میکند.