Kernel چیست و نحوه حذف Kernel های قدیمی

هسته سیستم عامل (Kernel) چیست؟

هسته سیستم عامل (Kernel) مهمترین قسمت یک سیستم عامل و در اصل مغز آن است و وظیفه آن، مدیریت درخواست‌های داده شده از طرف اپلیکیشن‌های دیگر به منابع سخت افزاری و بلعکس را دارد. درواقع اگر سیستم عامل را به یک ماشین تشبیه کنیم، هسته سیستم عامل موتور آن خواهد بود که بدون این موتور، ماشین قادر به انجام کاری نخواهد بود.

هسته سیستم عامل تقریباً پایین ترین سطح انتزاعی ممکن برای یک نرم افزار به حساب می‌آید. به طوری که پس از کرنل، تنها برنامه سطح پایین تر موجود، اسمبلر (Assembler) است که کدها و درخواست‌های داده شده را برای پردازش به صورت اپکد (Opcode) تبدیل کند.

سیستم های اندرویدی از کرنل های لینوکسی استفاده میکنند اما نه همان کرنل های لینوکس که سیستم عامل لینوکس از آنها استفاده میکند . سیستم عامل اندروید دارای کدهای داخلی بسیاری است که در لینوکس وجود ندارند و این مورد بر عهده کرنل های اندرویدی است که بتوانند این کدها را بشناسند .

 
همچنین کارخانه های سازنده دستگاه ها نیز باید برنامه نویسی درایور بسیاری از قطعات خود را طوری تغییر دهد تا با کرنل سیستم عامل منطبق باشد . این همان دلیلی است که زمان زیادی می برد تا شاهد یک سیستم و یا قابلیت جدید در همه دستگاه های اندرویدی باشیم . درایورهایی که با کرنل Gingerbread خوب کار میکنند لزوما نباید با کرنل Ice Cream Sandwich هم به خوبی کار کنند . و این مورد خیلی مهمی است زیرا یکی از وظایف کرنل کنترل کامل سخت افزار است .
 
وقتی نرم افزار نیاز به انجام هر عملی دارد که سخت اقزار در آن دخیل است ؛ نرم افزار درخواست خود را برای کرنل ارسال میکند . وقتی از کلمه هر استفاده میکنید واقعا منظور 'تمام عملیات نرم افزار مبتنی بر سخت افزار' است . روشنایی تصویر ؛ کم و زیاد کردن ولوم صدا و حتی تماس های تلفنی که ارتباط نرم افزار تلفن با رادیو را برقرار میکنند از جمله این عملیات هستند ...
کرنل چیست ؟
بخشی از نرم افزار است که همه چیز را در سیستم کنترل میکند.کرنل در واقع رابط بین سخت افزار و نرم افزار است و نرم افزارها در سیستم هرچیزی را نیاز داشته باشند که سخت افزار میبایست انجام دهد به کرنل مراجعه میکنند و کرنل دستورات را به سخت افزار جهت اجرا میدهد. کرنل CPU را همراه با فرمان ها کنترل میکند.فرمان ها در مورد رفتار CPU تصمیم میگیرند،مانند زمانیکه CPU باید روی حداکثر clock و یا زمانیکه باید روی حداقل clock باشد.
 
کرنل رفتار RAM و sd-card را با سازمان دهنده ها کنترل میکند.سازمان دهنده در مورد اینکه چه مدت پردازش ها باید در RAM ذخیره شود و تاثیر آن در سرعت خواندن و نوشتنsd-card تصمیم میگیرد. همچنین کرنل ولتاژ باتری را در یک clock خاص CPU کنترل میکند.
 
 

نحوه حذف مطمئن Kernel های قدیمی

برای حذف Kernel های قدیمی از دستورالعمل زیر استفاده نمایید: 

توجه - دستورات فوق می بایست با دقت تمام اجرا شود، در صورت عدم اجرای صحیح سیستم شما غیرفعال می شود. توجه داشته باشید Kernel فعال را حذف نکنید!

مرحله اول

ابتدا با دستور زیر Kernel فعال را پیدا کنید:

uname -r

نمونه خروجی:

2.6.18-53.1.4.el5

مرحله دوم
سپس با دستور زیر کلیه Kernel های نصب شده بر روی سیستم را مشاهده نمائید:

rpm -q kernel #

نمونه خروجی:

kernel-2.6.12-1.el5
kernel-2.6.18-17.el5
kernel-2.6.18-53.el5
kernel-2.6.18-53.1.4.el5

کاربران توزیع های Ubunto و Debian از دستور زیر استفاده نمایند:

 dpkg --list 'linux-image*' $

نمونه خروجی:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-f/Unpacked/Failed-cfg/Half-inst/t-aWait/T-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name                          Version                       Description
+++-=============================-=============================-==========================================================================
ii  linux-image                   2.6.22.14.21                  Generic Linux kernel image.
un  linux-image-2.6                                       (no description available)
rc  linux-image-2.6.20-15-generic 2.6.20-15.27                  Linux kernel image for version 2.6.20 on x86/x86_64
ii  linux-image-2.6.20-16-generic 2.6.20-16.32                  Linux kernel image for version 2.6.20 on x86/x86_64
ii  linux-image-2.6.22-14-generic 2.6.22-14.47                  Linux kernel image for version 2.6.22 on x86/x86_64
ii  linux-image-generic           2.6.22.14.21                  Generic Linux kernel image

 

مرحله سوم - حذف Kernel های قدیمی

با استفاده از دستور زیر نسبت به حذف در سیستم های RHEL / CentOS / Fedora Linux اقدام نمائید:

# rpm -e kernel-2.6.12-1.el5

با استفاده از دستور زیر نسبت به حذف در سیستم های Debian / Ubunto Linux اقدام نمائید:

 sudo apt-get remove linux-image-2.6.22-14-generic $