آیا میدانید کرنل لینوکس چیست؟ چه کاربردی در اندروید دارد، دلیل ضرورت وجود آن در اندروید چیست و چگونه میتواند باعث تقویت عملکرد گوشیهای - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - اندرویدی شود؟ در این مطلب به این - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - سؤالها پاسخ خواهیم داد و هر آنچه - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - را که باید در مورد کرنل و انواع مختلف آن بدانید، بیان میکنیم.
آیا تاکنون واژه کرنل (Kernel) لینوکس را شنیدهاید؟ اندروید هم از کرنل لینوکس استفاده میکند. در حقیقت کرنل اندروید که به آن هسته اندروید هم گفته میشود، بخش - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - مهمی از سیستمعامل لینوکس است و در عملکرد گوشی شما تأثیر بسیار مهمی دارد؛ اما کرنل چیست؟
فهم واژه لینوکس آسان است. در حقیقت واژه لینوکس ترکیبی از دو واژه لینوس (linus) و یونیکس (Unix) است. لینوس در حقیقت به نام لینوس توروالدز (Linus Torvalds)، مهندس نرمافزار اشاره میکند و یونیکس هم نام یک نرمافزار است. لینوس توروالدز نام - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - مهندس سازنده نرمافزار شبه سیستمعامل یونیکس است؛ اما کرنل چیست؟ منظور از کرنل در کامپیوترها و سایر وسایل چیست؟ منظور از کرنل لینوکس چیست؟
کرنل یا هسته بخشهایی مثل منابع سیپییوی گوشی، حافظه سیستم، برخی سخت افزارهای آن - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - و موارد دیگری مثل فایلهای سیستمی و فرآیندهای مربوط - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - به شبکه را مدیریت میکند. در ضمن کرنل مسئولیت مدیریت تمام - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - پردازشها و وظایف (تسکها) در حال اجرا در گوشیهای هوشمند را نیز برعهده دارد.
در حقیقت زمانی که اپلیکیشنی را اجرا میکنید، این بخش از اندروید - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - اپلیکیشن موردنظر را در حافظه بارگذاری میکند، فعالیتهای - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - پردازشی موردنیاز آن را انجام میدهد و درنهایت اپلیکیشن را اجرا میکند؛ به بیان دیگر زمانی - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - که اپلیکیشن نیازمند فضایی از حافظه است، کرنل فضای موردنیاز را در اختیار آن قرار میدهد یا زمانی که اپلیکیشن نیازمند شبکه است، کرنل پردازشهای - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - سطح پایین را برای این فرایند انجام میدهد.
هدایت و مدیریت دستگاههایی مثل بلوتوث گوشی نیز - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - برعهده کرنل است و بهاصطلاح درایور این وسایل محسوب میشود. زمانی که اپلیکیشنی میخواهد وظایفی را در پسزمینه سیستمعامل انجام دهد، تمام رشتههای پسزمینه را مدیریت میکند (منظور از رشتههای پسزمینه، فعالیتهای پردازشی در حال انجام در پسزمینه سیستمعامل مثل عملیاتهای محاسباتی روی اطلاعات ورودی دریافتشده از سوی کاربر است).
در ضمن پس از - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - اینکه کاربر اپلیکیشنی را میبندد، کرنل تمام اطلاعات ذخیره - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - شده در حافظه و منابعی را که اپلیکیشن در حین اجرا از آنها استفاده میکرده است، پاک میکند. همانطور که - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - میبینید، کرنل یکی از بخشهای اساسی اندروید به شمار میرود و با هدف فراهم کردن عملکردی بینقص برای سیستمعامل گوشی درست مطابق با انتظارات کاربر ایجاد شده است.
تمام - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - سیستمعاملهایی که از قابلیت مولتی تسکینگ پشتیبانی میکند و میتوانند چند کار را همزمان با یکدیگر انجام دهند، دارای یک شکل یا چند شکل متفاوت از کرنل هستند؛ بنابراین سیستمعاملهایی مثل ویندوز، OS X و iOS و البته - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - اندروید دارای کرنل هستند؛ البته تنها اندروید از کرنل لینوکس استفاده میکند. ویندوز دارای کرنل دیگری تحت عنوان کرنل NT است و iOS نیز از کرنل داروین (Darwin) بهره میبرد.
البته - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - کرنل انواع متنوع دیگری نیز دارد که از میان آنها میتوان به کرنلهای شبه یونیکس مثل کرنلهای مورد استفاده در پروژههای FreeBSD ،OpenBSD و NetBSD، کرنلهای زمان واقعی مثل پروژههای FreeRTOS، کرنلهای نهفته در پروژههایی مثل زفیر (Zephyr)، کرنلهای کمقدرت مثل کرنل - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - mbed OS با معماری ARM اشاره کرد. در واقع تمام دستگاههای دارای قابلیت انجام فعالیتهای محاسباتی - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - از کرنل استفاده میکنند؛ از وسایل اینترنت اشیاء و گجتهای پوشیدنی گرفته تا ابرکامپیوترها.
کرنل بخش پیچیدهای از سیستمعامل محسوب میشود که میلیونها خط کد منبع را در خود جای داده است. محتویات کرنل شامل تمام درایورها (بخش - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - عمدهای از کد کرنل مربوط به درایورها است) و همچنین کدهای لازم برای پشتیبانی از معماریهای مختلف ازجمله ARM، x86 ،RISC-V ،PowerPC و غیره است.
لازم به ذکر است زمانی که کرنل برای وسیلهای مثل گوشی هوشمند ایجاد میشود، تمام کدهای موجود در آن، توسط وسیله موردنظر استفاده نمیشوند؛ البته حتی درصورتیکه آن دسته از کدهای غیرضروری را که استفاده نمیشوند نیز از کرنل جدا کنیم، باز هم بخش پیچیدهای محسوب میشود.
طبیعتاً تمام سیستمهای پیچیده با رویکردهای متفاوت طراحی میشوند - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - و کرنل هم از این قاعده مستثنا نیست. کرنل لینوکس معمولاً بهعنوان کرنل مونولیتیک شناخته میشود. در واقع کرنل مونولیتیک رویکردی محسوب میشود که بر اساس آن کرنل یک برنامه کامپیوتری به شمار میرود که از یک حافظه اختصاصی استفاده میکند. جایگزین اصلی رویکرد کرنل مونولیتیک رویکرد میکروکرنل است؛ که بر اساس آن بخشهای - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - اصلی و اساسی کرنل در کوچکترین برنامه ممکن جای داده میشوند و با کرنلهای دیگر که برای اجرای سرویس یا سرویسهای مجزا به کار گرفته میشوند، تعامل برقرار میکنند.
در سال ۱۹۹۲ که لینوکس تازه ایجاد شده بود، لینوس توروالدز و پروفسور اندرو تاننبام (Andrew Tanenbaum) که به - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - دلیل تألیف کرنلهای مرتبط با طراحی سیستمعاملها و شبکه مشهور شده بود، مباحثه آنلاین داغی (در حقیقت یک مبارزه) انجام دادند که موضوع آن مقایسه پارامترهای متفاوت طراحی کرنل مونولیتیک با پارامترهای میکروکرنل بود. - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - اندرو میکرو کرنلها را ترجیح میداد؛ - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - اما لینوس در حال نوشتن یک کرنل مونولیتیک بود. به همین دلیل لینوکس و همچنین - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - کرنل مورد استفاده در اندروید یک کرنل مونولیتیک محسوب میشود - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - و - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - از ابتدا تاکنون تغییری نکرده است.
به دلیل اینکه لینوکس یک کرنل مونولیتیک محسوب میشود؛ بنابراین باید راهی وجود داشته باشد که با استفاده از آن بتوان بخشهای خاص کرنل را متناسب با نیازهای کاربر فعال یا غیرفعال کرد. انجام این کار در هنگام انجام فرآیند کامپایل توسط سیستمی که امکان تنظیم، حذف کدهای غیرضروری و پیکربندی را برای کرنل فراهم میکند، امکانپذیر میشود.
تغییرات ایجاد شده توسط برخی پیکربندیها فراتر از فعال یا غیرفعال کردن فعالیتها است و آنها توانایی تغییر رفتارهای کرنل را نیز دارد. چنین قابلیتی در زمان تغییر ویژگیهای سختافزاری گوشی هوشمند، قابلیتی مفید و کاربردی محسوب میشود. از آنجایی که لینوکس متنباز است و هسته اندروید نیز به لطف پروژه متنباز اندروید (AOSP)، چنین ماهیتی دارد، جامعهای از توسعهدهندگان - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - و علاقهمندان به اندروید ایجاد شده - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - است - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - که در آن کرنلهای متفاوتی برای گوشیهای اندرویدی منتشر میشود؛ البته - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - میزان محبوبیت و در دسترس بودن این کرنلهای منتشر شده به برند و مدل - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - گوشیتان بستگی دارد.
در ظاهر اندروید سیستمعاملی کاربردی با اپلیکیشنهای محبوب مثل گوگل کروم برای وبگردی، اپهای شبکههای اجتماعی و بازیهای جذاب - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - است، اما این سیستمعامل ساختار پیچیدهای دارد و در پشتپرده آن سیستمهای زیرمجموعه، لایبرریها و فریمورکهای زیادی وجود دارد.
اندروید در هنگام اجرای اپلیکیشنها - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - (چه مستقیماً از خود سیستمعامل و چه از ماشین جاوا) برای انجام - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - کارهایی مثل نمایش نوتیفیکیشنها، ارائه سرویسهای موقعیتیابی، رندر شدن صفحات وب، ارائه SSL، مدیریت پنجرهها و سایر موارد، لایبرریها و فریمورکهای زیادی را فراهم میکند. در ضمن در سیستمعامل اندروید سرویس ویژهای تحت عنوان SurfaceFlinger وجود دارد که مسئولیت ایجاد و جمعآوری تمام موارد لازم برای نمایش گرافیک در نمایشگر گوشی را برعهده دارد.
در حقیقت کرنل سیستم زیرمجموعه فریمورکها و لایبرریهای مختص اندروید است و علاوه بر اینکه مدیریت پردازشها، حافظه و توان پردازشی را برعهده دارد، کدهای لازم برای معماریهای مختلف تراشه و درایورهای سختافزارهایی را که دستگاه اصلی از آنها پشتیبانی میکند، در خود جای داده است. این درایورها شامل درایورهای دوربینها، بلوتوث، وایفای، حافظه فلش، پورت USB و درایورهای صوتی میشود.
در مقابل اندروید هم ویژگیهایی به کرنل لینوکس میافزاید که باعث مناسبتر شدن آن برای گوشیهای - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - اندرویدی میشود. یکی از این ویژگیها قابلیت Low Memory Killer است. این ویژگی بهمنظور بررسی وضعیت حافظه و پاک کردن بیاهمیتترین دادهها و پردازشها جهت تأمین - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - فضای - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - موردنیاز ایجاد شده است. ایجاد این ویژگی باعث میشود سیستم بدون هیچ مشکلی به کار خود ادامه دهد و در فرآیند Wake Lock مشکلی ایجاد نشود. Wake Lock در حقیقت روشی است که اپلیکیشنها با بهرهمندی از آن میتوانند به کرنل اطلاع دهند که کدام یک از سختافزارها باید فعال باقی بمانند.
در اندروید ۸ پروژه تربل (Project Treble) معرفی شد. - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - این پروژه در حقیقت بازآفرینی معماری اندروید محسوب میشود که یک رابطه که بهخوبی تعریف شده است، بین فریمورک سیستمعامل و نرمافزارهای سطح پایین اختصاصی هر یک از دستگاهها ایجاد میکند. بر اساس مبانی این پروژه، - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - سیستم روی تراشه (SoC) و درایورهای مختص برد دستگاه، با استفاده از ماژولهای کرنل لینوکس از کرنل اصلی جدا میشوند.
چنین قابلیتی به سازندگان گوشی کمک میکند بتوانند بدون نیاز به تغییر کرنل اصلی، روی ویژگیهای خاص کار کنند. در حقیقت پروژه تربل با هدف کمک به سازندگان گوشیهای برای آسانتر کردن آپدیت گوشیها بدون نگرانی در مورد کدهای سطح پایین ایجاد شده است.
با توجه به وجود تنوع بسیار بالای گوشیهای اندرویدی، کرنل مورد استفاده در - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - هر یک از گوشیهای اندرویدی دارای برند و مدل، متفاوت کمی متفاوت است. در هر گوشی برای بخشهایی مثل سیستم روی تراشه و همچنین ماژولهای دیگر مثل جیپیاس، صدا و سایر موارد، درایورهای اختصاصی وجود دارد.
تمام سازندگان گوشی برای پیکربندی کرنل جهت بهینهسازی آن به بهترین شکل ممکن برای یک گوشی با مدل خاص، با سازندگان تراشهها مثل کوالکام و مدیاتک مشارکت دارند. این موضوع به معنای این است که سازندگان گوشیها تغییراتی در پیکربندیهای متداول کرنل ایجاد میکنند و درایورهای جدیدی را به کرنل لینوکس اضافه میکند.
تغییر در زمانبند سیپییو (CPU scheduler) مثال خوبی در زمینه ایجاد تغییر - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - در کرنل محسوب میشود. کرنل زمانی که باید تصمیم بگیرد تسک بعدی کدام تسک باشد و در کدام هسته اجرا شود، از زمانبند سیپییو استفاده میکند. بسیاری از گوشیهای اندرویدی سیستمهای چندپردازندهای ناهمگن (heterogeneous multi-processor یا HMP) محسوب میشوند؛ بهعبارتدیگر - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - تمام هستههای مورد استفاده در پردازنده این گوشیها یکسان نیستند و برخی از آنها دارای عملکرد بالاتر و برخی دیگر کممصرفتر هستند. کرنل با استفاده از یک زمانبند انرژی آگاه (Energy-Aware Scheduler یا EAS) میتواند تأثیر - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - نتیجهگیریهایش روی انرژی مصرفی سیپییوها و همچنین سطح عملکرد در دسترس را - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - پیشبینی کند.
سازندگان گوشیها میتوانند با ایجاد تغییر در پارامترهای زمانبند انرژی آگاه عملکرد گوشی را با افزایش انرژی مصرفی آن، بهبود دهند یا بالعکس با کاهش سطح عملکرد، مصرف انرژی گوشی را کاهش و درنتیجه عمر باتری آن را افزایش دهند. در ضمن سازندگان گوشی میتوانند زمانبند موجود در سیستمعامل را با زمانبندی که خود آنها طراحی و ایجاد کردهاند، جایگزین کنند.
هر یک از سازندگان گوشی تلاش میکنند پیکربندی کرنل را به بهترین - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - شکل ممکن بهینهسازی کنند تا امکان استفاده از تمام ویژگیهای موردنظر با بهترین عملکرد و کمترین مصرف انرژی ممکن، امکانپذیر شود. برخی - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - از مهندسان شرکتهای سازنده گوشیها با مشارکت - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - مهندسان فعال در شرکتهای تولید تراشه تلاش میکنند نرمافزار و سیستمعامل گوشی را طوری تنظیم کنند که بیشترین بهره را از سختافزار آن ببرد.
البته باید بگوییم که سازندگان گوشیها در مورد پیکربندی - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - کرنل لینوکس اشتباه نمیکنند یا در مورد موضوع تصمیمات بدی نمیگیرند؛ اما آنها در برخی از مواقع برای حفظ عمر باتری گوشی یا حتی افزایش آن، اقدامات غیرقابلتوجیهی را انجام میدهند؛ بهعنوانمثال شرکت وان پلاس برای حفظ عمر باتری گوشی وان پلاس ۹ پرو، سطح عملکرد آن را کاهش و سرعت برخی از اپلیکیشنها را در آن عمداً به میزان قابلتوجهی کاهش داده است. برخی دیگر از شرکتها نیز به فریب دادن مشتریان خود شهرت دارند و در هنگام آزمایش گوشیهای خود با بنچمارکها، - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - عملکرد سیپییوی آنها را بهصورت - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - ساختگی افزایش میدهند.
یکی از نکات منفی در رابطه با لینوکس، تغییر - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - سریع آن است؛ البته برای ایجاد سطح مناسبی از پایداری میتوان از نسخههایی از کرنل با پشتیبانی بلندمدت (Long Term Support یا LTS) استفاده کرد که میتوان چندین سال از آنها پشتیبانی کرد. کرنلهای مشترک اندروید که - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - با نام Android Common Kernels یا AKCs شناخته میشوند از کرنل اصلی لینوکس گرفته میشوند و شامل پچهای مختص اندروید هستند.
با انتشار اندروید ۱۱ استفاده از کرنلهای مشترک اندروید برای - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - ایجاد ایمیجهای هسته عمومی (Generic Kernel Images یا GKIs شروع شد. این کرنلها در حقیقت کرنلهای ۶۴ بیتی با معماری ARM هستند که درصورتیکه ماژولهای گوشی قابلیت پشتیبانی از سیستم روی تراشه و درایورها را داشته باشند، میتوان در هر دستگاهی از آنها استفاده کرد. - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس -
هدف از استفاده از این کرنلها برطرف کردن مشکل فرگمنتیشن (fragmentation) کرنل با یکپارچه کردن کرنل اصلی و منتقل کردن بخشهای اصلی سیستم روی تراشه به خارج از کرنل آب و انتقال آنها به ماژولهای قابل بارگذاری است. - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - اگرچه این کار باعث جدا شدن قطعات سختافزاری خاص از کرنل اصلی - تعمیرات ظرفشویی تکنوگاز در شهر جهرم استان فارس - میشود، اما در مقابل فشار و بار ناشی از حفظ و نگهداری کرنل را برای سازندگان گوشی کاهش میدهد.
با انتشار اندروید ۱۲ عرضه تعدادی از دستگاهها با Generic Kernel Images شروع شد. گوگل نیز متعهد شده است ایمیجهای فایل بوت boot.img را بهصورت مرتب منتشر و مهمترین باگهای آنها را نیز برطرف کند. به دلیل اینکه ایمیجهای هسته عمومی دارای ثبات بالایی هستند، این ایمیجها میتوانند بدون هیچگونه تغییری در درایورهای مختص سختافزارها نصب شوند.
این کار میتواند زمینه تقویت انتشار کرنلهای جدیدتر لینوکس توسط گوگل برای استفادههای عمومی را فراهم کند. در ضمن چنین پیشرفتی بهنوبه خود میتواند باعث افزایش امنیت گوشیها و افزایش مدتزمان پشتیبانی از گوشی برای انتشار آپدیتهای جدید نرمافزاری و رفع باگهای آنها شود.