معماری سیستم عامل؛ کرنل و همچنین عملکرد آن هم چیست؟

معماری سیستم عامل؛ کرنل و همچنین عملکرد آن هم چیست؟

|معماری سیستم عامل؛ کرنل و همچنین عملکرد آن هم چیست؟ از ام سی الکترونیک|

KernelPanic
Photo Credit To Electronica.ir

احتمالا از زمانی که صاحب گوشی اندرویدی هستید یا بهره بری و استفاده‌ی تخصصی از سیستم عامل کامپیوتر خود دارید با عبارت «کرنلِ لینوکس» آشنا شده‌اید.

آن هم روش که مطلع هستید سیستم عامل آندروید از کرنل لینوکس بهره بری و استفاده می‌کند و همچنین شاید از آن مبحث با لینوکس آشنایی دارید؛ لینوکس یک سیستم عامل متن‌باز و همچنین از خانواده‌ی شبه یونیکس می باشد. همه توزیع‌های لینوکس بر پایه هسته اصلی آن هم یا کرنل بنا شده‌اند که نرم افزارهای مجانی و رایگان با آن هم تلفیق شده و همچنین ورژن و نسخه کامل یا آن هم توزیع را تشکیل می‌دهند. آن سیستم عامل توزیع‌های متعددی دارد که هر توزیع بر اساس یکی از نیازهای کاربران توسعه داده شده‌اند که از مهم‌ترین و همچنین محبوب‌ترین آن هم‌ها می‌قدرت به اوبونتو (توزیع دسکتاپ-مستلزم و نیاز کاربر معمولی)، کالی لینوکس (توزیع امنیتی) و همچنین ردهت (توزیع تجاری) و همچنین دیگر توزیع‌های اصلی مانند دبیان، آرچ لینوکس و همچنین CentOS و همچنین دیگر توزیع‌ها اشاره کرد. ولی باید توجه داشت کرنل یا هسته سیستم عامل چیست؟

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

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

اجزای سیستم عامل

ولی باید توجه داشت سیستم عاملی مانند آندروید از یک هسته‌ی قوی بهره‌مند می باشد که با بررسی کردن جزئی‌تر به آن سطح می‌رسیم؛ آن سطح کرنل یا هسته‌ی سیستم عامل نام دارد که در آندروید، کرنل لینوکس می باشد. همگی عملیات چند وظیفه‌ای در سیستم عامل‌ها از کرنل بهره‌ می‌برند. مثلا سیستم عامل‌هایی مانند ویندوز، OS X، آی‌اواس، ویندوزفون و همچنین آندروید هر کدام کرنل مخصوص خود را دارند. ولی باید توجه داشت در بین همه‌ی آن سیستم عامل‌ها، تنها آندروید از کرنلِ لینوکس بهره بری و استفاده می‌کند. سیستم عامل‌های ویندوز و همچنین ویندوزفون کرنل خاص خود را دارند که معمولا با نام NT Kernel شناخته می‌می شود و همچنین کرنل‌های OS X و همچنین آی‌اواس، Darwin نام دارد.

همچنین و علاوه بر آن، تعدادی کرنل نیز وجود دارد که شامل‌ی آن هم‌ها می‌قدرت به کرنل‌های شبه یونیکس در پروژه‌ی FreeBSD و همچنین NetBSD، کرنل زمان واقعی در پروژه‌ی FreeRTOS، کرنل‌های نهفته یا سیستم‌های embedded در پروژه‌ی Contiki، کرنل کم اقتدار و قدرت مانند کرنل mbed OS از کمپانی آرم نام برد. به عبارت کلی همه‌ی دستگاه‌های موجود از اینترنت اشیا گرفته تا ابزارهای پوشیدنی و همچنین ابر رایانه‌ها، از کرنل بهره بری و استفاده می‌کنند.

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

ورژن و نسخه کرنل

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

آن هم طوری که متوجه شدید کرنل تکه نرم افزار پیچیده‌ای می باشد؛ کرنل لینوکس شامل بیش از ۱۵ میلیون خط در کدمنبع خود می باشد که همه‌ی آن کدها شامل تمامی درایورها (درایورها ۷۰ قسمت و بخش از کد کرنل را تشکیل می‌دهند)، کدهای پشتیبانی از دیگر معماری سیستم‌ها مانند ARM, x86, MIPS, IBM, PowerPC و همچنین SPARC می باشد. زمانی که کرنلی جهت یک دستگاه مانند گوشی هوشمند توسعه داده می‌می شود، همه‌ی ۱۵ میلیون خط کد بهره بری و استفاده نمی‌می شود و همچنین تنها کدهایی که لازمه‌ی مصرف می باشد مورد بهره بری و استفاده قرار می‌گیرد.

کرنلِ Monolithic و همچنین میکرو کرنل

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

در سال شمسی ۱۹۹۲ که لینوکس جدید و تو و تازه متولد شده بود، لینوس توروالدز و همچنین پروفسور اندرو تننبائوم در حال بحث در مورد‌ی معماری‌‌های متنوع و گوناگون و مختلف کرنل Monolithic و همچنین میکرو کرنل بودند. در آن هم زمان تننبائوم میکروکرنل را ترجیح داد و همچنین لینوس کرنل Monolithic را نوشت. به همین دلیل آن نوع کرنل به دلیل ترجیح لینوس، در سیستم لینوکس و همچنین به دنبال آن هم در آندروید نیز بهره بری و استفاده شد.

کرنل monolithic

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

شاید شناخته شده‌ترین کرنل جایگزین جهت آندروید کرنلِ The Franco باشد که جهت دستگاه‌های متنوع و گوناگون و مختلف نکسوسی فراهم شده می باشد. همچنین جهت بهره بری و استفاده‌ی راحت از آن کرنل، اپلیکیشنی نیز طراحی شده می باشد. البته The Franco تنها کرنل جایگزین جهت آندروید نیست، کرنل‌های غیره ای مانند ElementalX و همچنین The Jolla نیز وجود دارند.

عملکرد کرنل ها

مزایا و همچنین معایب

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

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

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

پس نتیجه آن می شود که گیری

تمامی سیستم عامل‌های چند وظیفه‌ای شامل کرنل خواهند بود؛ آن کرنل می باشد که وظیفه‌ی مدیریت منابع سیستم شامل حافظه، پردازش‌ها و همچنین درایورها را بر عهده دارد. دیگر اجزای سیستم عامل‌ها مانند ویندوز، OS X، آندروید و همچنین آی‌اواس در سطوحی مجزا از کرنل قرار دارند. کرنل مورد بهره بری و استفاده در آندروید، کرنل لینوکس می باشد. از آنجایی که هر دو کرنل لینوکس و همچنین آندروید متن‌باز خواهند بود، بنابراین قابلیت ساخته یا ایجاد کاستوم کرنل به همراه تنظیمات متنوع و گوناگون و مختلف جهت آندروید وجود دارد و همچنین می‌قدرت از آن هم به عنوان کرنل جایگزین در دستگاه‌ اندرویدی بهره بری و استفاده کرد. جهت آن منظور ابتدا بایستی و حتما دستگاه اندرویدی را روت و همچنین بوت لودر آن هم را آنلاک کرد. از کرنل‌های محبوب می‌قدرت به the Franco و همچنین ElementalX اشاره کرد.

نظر تو در خصوص آن کرنل‌ها چیست؟ آیا تا به حال کاستوم کرنل در دستگاه خود نصب کرده‌اید؟ تجربیات خود را در قسمت و بخش نظرات با ما در میان بگذارید.

نویسنده: سمیه حسین پور

معماری سیستم عامل؛ کرنل و همچنین عملکرد آن هم چیست؟ در تاریخ ۹ April 2016 | 1:11 pm نشر یافته شده شده می باشد

ممکن است به این موارد نیز علاقه مند باشید:

0 دیدگاه در “معماری سیستم عامل؛ کرنل و همچنین عملکرد آن هم چیست؟”

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *