برخی کاربران لینوکس و مک‌او‌اس با توجه به شباهت بین دستوراتی که در ترمینال macOS و Linux اجرا می‌شود، تصور می‌کنند که شاید هسته یا کرنل این دو سیستم عامل یکسان است و حتی برخی تصور می‌کنند که مک‌او‌اس اپل هم یکی از توزیعات لینوکس است!

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

تاریخچه کرنل macOS

در سال ۱۹۸۵ استیو جابر کمپانی اپل را به دلیل اختلافاتی که با تیم مدیریت و مدیر عامل این کمپانی داشت، ترک کرد و شرکتی جدید به اسم NeXT تأسیس کرد. جابز می‌خواست کامپیوتری با یک سیستم عامل جدید و ساده را سریعاً راهی بازار کند و با توجه به کمبود زمان، از هسته‌ی Mach که متعلق به Carnegie Mellon بود و برخی کدهای BSC استفاده کرد تا سیستم عاملی به اسم NeXTSTEP را پایه‌گذاری کند.

پروژه‌ی NeXT هیچ گاه از نظر اقتصادی موفق نشد اما با توجه به اینکه کمپانی Apple نیز به دنبال یک سیستم عامل خوب و جدید بود و حتی در سال ۱۹۹۷ با IBM شراکت جدیدی را آغاز کرده بود، در نهایت شرکت NeXT را با پرداخت ۴۲۹ میلیون دلار خریداری کرد. به این ترتیب استیو جابز مجدداً به اپل پیوست و سیستم عاملی که پایه‌گذاری کرده بود، اساس شکل‌گیری دو سیستم عامل macOS و iOS شد.

تاریخچه کرنل لینوکس

کرنل یا هسته‌ی لینوکس برخلاف هسته‌ی مک‌او‌اس، در یک برنامه و پروژه‌ی تجاری شکل نگرفته بلکه در سال ۱۹۹۱ توسط یکی از دانشجویان فنلاندی رشته‌ی علوم کامپیوتر به اسم Linus Torvalds ساخته شده است. کرنل اصلی لینوکس با در نظر گرفتن مشخصه‌های کامپیوتر Linus که پردازنده‌ی 80386 داشته، نوشته شده است. وی کدی که نوشته بود را در آگوست سال ۱۹۹۱ روی Usenet پست کرد و سریعاً کدها و پیشنهاداتی برای اضافه کردن قابلیت‌ها را از برنامه‌نویسان سراسر جهان دریافت کرد.

سال بعد Orest Zborowski توانست سیستم X Windows را برای لینوکس پورت کند و در نتیجه واسط کاربری گرافیکی نیز در لینوکس پشتیبانی شد.

در سال‌های اول توسعه‌ی هسته‌ی لینوکس برخی بر این باور بودند که لینوکس پروژه‌ای مرده است اما در گذر ۲۷ سال اخیر، لینوکس مرتباً رشد کرده و اکنون بیشترین درصد ابرکامپیوترها و سرورهای جهان از این سیستم عامل بهره می‌گیرند.

ویژگی‌ها و قابلیت‌های هسته‌ی macOS اپل

کرنل سیستم عامل مک‌او‌اس با نام رسمی آن XNU شناخته می‌شود. XNU مخفف عبارت XNU is Not Unix است که معنای آن این است که XNU همان یونیکس نیست!

بنابر آنچه در صفحه‌ی گیت‌هاب اپل ذکر شده، XNU یک کرنل ترکیبی است که از ترکیب Mach با بخش‌هایی از FreeBSD و همین‌طور واسط برنامه‌نویسی C++ برای نوشتن درایورها ساخته شده است. بخش BSD برای سرورهای فضای کاربر استفاده می‌شود و برخی Mach برای کارهای سطح پایین مثل مالتی‌تسکینگ یا چندوظیفگی و حافظه‌ی محافظت‌شده و مدیریت حافظه‌ی مجازی و پشتیبانی از دیباگ کردن کرنل و همین‌طور ورودی و خروجی‌های کنسول استفاده می‌شود.

ویژگی‌های کرنل لینوکس

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

تفاوت بین هسته‌ی لینوکس و مک‌او‌اس

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

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

برای آشنایی بیشتر با سیستم عامل مک‌او‌اس و مقدمات استفاده از کامپیوترهای اپل و همین‌طور برای آشنایی با روش نصب کردن لینوکس‌هایی مثل اوبونتو و فدورا در کنار ویندوز، به مقالات قبلی سیاره‌ی آی‌تی مراجعه فرمایید: