CPU Governor چیست؟ (قسمت اول)

دسته بندی:آموزش های اندرویدبرچسب:

CPU Governor

یکی از مواردی که یک توسعه دهنده کرنل سفارشی در مورد کرنل خود ذکر میکند حکمران های پردازنده یا CPU Governor های پشتیبانی شده توسط آن کرنل است، اما میدانید CPU Governor چیست؟

لینوکس بیش از ۲۰ الگوریتم حکمران برای پردازنده دارد و این حکمران ها بالطبع  برای اندروید نیز وجود دارند، برای همین تیم اندرو لب مقاله ای در این زمینه را برای دوستداران اندروید در این پست منتشر میکند تا از این به بعد بدانید CPU Governorی که سازندگان کرنل به آن افتخار میکنند چیست. در این قسمت از مقاله به معرفی اجمالی CPU Governor ها میپردازیم و در قسمت های بعد هر کدام از این الگوریتم ها و نحوه کار آنها را بصورت کاملا ساده معرفی میکنیم.

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

برای درک این موضوع فرض کنید شما گوشی ای با سرعت پالس یک گیگاهرتز دارید. زمانی که شما از گوشی خود استفاده نمیکنید و صفحه نمایش خاموش است و سرویسی در Foreground در حال اجرا نیست، اصطلاحا دستگاه در حالت Sleep یا خواب فرو میرود که کمترین مصرف باطری را داشته باشد، در این حالت آیا به تمام این یک گیگاهرتز برای کار نیاز است؟

پاسخ قطعا منفی است، چراکه گوشی قادر خواهد بود با یک چهارم این سرعت نیز در حالت Sleep به خوبی کار کند. اینجاست که اهمیت الگوریتم CPU Governor خود را نشان میدهد. این الگوریتم میگوید به طور مثال سرعت کلاک پالس پردازنده در حالت Sleep بطور مثال ۳۰۰ مگاهرتز باشد و زمانی که صفحه نمایش روشن شد مثلا ۵۰۰ مگاهرتز باشد و اگر بازی سنگینی اجرا شد آن موقع سرعت پردازنده به یک گیگاهرتز برسد. همانطور که میدونید کاهش یا آندر کلاک یک پردازنده با آندر ولت یا کاهش ولتاژ ورودی بر پایه های پردازنده نیز همراه است که این امر نقش مهمی در مصرف کمتر باطری دارد.

پس حکمران­ های پردازنده الگوریتم­هایی هستند که در سیستم ­های لینوکسی وظیفه تعیین لحظه­ ای فرکانس مورد استفاده را دارند. اندروید بطور پیشفرض تنها از ۴ نوع الگوریتم حکمران پردازنده پشتیبانی میکند اما توسعه­ دهنگان اندروید کرنل­ هایی را توسعه میدهند که در آن از تمام الگوریتم­ های حکمران پردازنده لینوکس در آن پشتیبانی شده است.

پاسخ دهید

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

*

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

کلیه حقوق این سایت برای Andro Lab محفوظ است.