در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

تفاوت بین Kernel و Operating System

Operating System یا سیستم عامل در واقع نرم افزاری است که کامپیوتر شما را مدیریت می کند. وظایف اولیه ای که سیستم عامل بر عهده دارد شامل مدیریت منابع کامپیوتر و اختصاص منابع ارتباطی مورد نیاز برای انجام یک Task یا Process در دستگاه می باشد. Kernel یه هسته سیستم عامل در واقع قطعه اصلی پازل سیستم عامل می باشد که در بیشتر موارد ارتباط مستقیمی با سخت افزارهای نصب شده روی دستگاه دارد. بدون هسته یا Kernel سیستم عامل نمی تواند کار کند اما با توجه به اینکه هسته یا Kernel سیستم عامل با امکانات مختلفی در سیستم عامل ارائه می شوند بسیاری از کاربران اصلا از وجود چنین چیزی بر روی سیستم عامل خود بی خبرند ، کاربرانی که فقط از کامپیوتر به عنوان یک دستگاه بازی استفاده می کنند طبیعی است که هیچ درکی از درون سیستم عامل نداشته باشند.

سیستم عامل یا Operating System چیست ؟


همانطور که قبلا هم اشاره کردیم سیستم عامل یا OS نرم افزاری است که کامپیوتر شما را مدیریت می کند. OS مجموعه ای از داده ها و نرم افزارها است که مدیریت منابع سخت افزاری سیستم را بر عهده دارند. همچنین اجرا کردن نرم افزارهایی که کاربر قادر به لمس آنها و مشاهده آنها است اعم از مجموعه Office یا غیره نیز بر عهده سیستم عامل می باشد.سیستم عامل را رابط بین نرم افزار و سخت افزار نیز می نامیم زیرا از طرفی که مدیریت ورودی و خروجی اطلاعات را بر عهده دارد و ارتباط مستقیمی با سخت افزار دارد یک لایه واسط بین نرم افزارهای اجرایی روی سیستم و پردازنده و حافظه های داخلی سیستم نیز می باشد ، تمامی فرآیند های اختصاص حافظه و قدرت پردازشی به نرم افزارها از طریق سیستم عامل انجام می شود. در واقع می توان گفت سیستم عامل مهمترین نرم افزاری است که بر روی یک سیستم نصب می شود و دلیل این نامگذاری هم مشخص است ، اگر کاربری بر روی سیستم خود سیستم عامل نداشته باشد نمی تواند هیچ نرم افزار کاربردی را اجرا کند و به همین دلیل مهمترین نرم افزار یک کامپیوتر OS یا سیستم عامل آن است .

تفاوت سیستم عامل و کرنل

سیستم عامل در همه ماشین هایی که دارای پردازنده و حافظه می باشند وجود دارد و فقط مختص به کامپیوترها نیست ، گوشی هایی که شما استفاده می کنید و دستگاه هایی که برای بازی استفاده می شوند ، Super Computer و سرورها همه و همه دارای سیستم عامل هستند ، حتی دستگاه های حضور و غیاب ، تلوزیون و ... همه دارای سیستم عامل می باشند. محبوب ترین سیستم عامل هایی که شما هم شاید با آنها کار کرده باشید Microsoft Windows ، Mac OSX ، Linux و UNIX هستند. سیستم عامل های شرکت مایکروسافت بیشتر مصارف عمومی و کاربری دارند اما سیستم عامل هایی مثل لینوکس و یونیکس بیشتر برای استفاده سرورها و افراد حرفه ای هستند ، این نوع سیستم عامل ها متن باز یا Open Source هستند و شما می توانید براحتی به کدهای نوشته شده برای کرنل آنها دسترسی پیدا کنید برخلاف سیستم عامل های شرکت مایکروسافت که به هیچ عنوان شما نمی توانید به کدهای موجود در ان دسترسی پیدا کنید.

Kernel یا هسته چیست ؟


Kernel اصلی ترین قسمت یک سیستم عامل است و در واقع می توان کرنل یا هسته را به قلب تپنده سیستم عامل تشبیه کرد. Kernel به عنوان یک واسط یا یک پل ارتباطی بین سخت افزار و نرم افزارهای کاربردی عمل می کند ، وظیفه اصلی Kernel مدیریت منایع سیستم شامل منابع سخت افزاری و نرم افزاری و ارتباطات بین این منابع و مصرف کنندگان است. Kernel یک لایه انتزاعی بسیار سطح پایین بین پردازنده ها و دستگاه های ورودی و خروجی ایجاد می کند. ارتباطات درون پردازنده ای یا Inter-Process Communications و System Call ها یا فراخوان های سیستمی از اصلی ترین مکانیزمهایی هستند که این لایه انتزاعی برای سرویس دهی به نرم افزارهای کاربردی با استفاده از Kernel فراهم می کند. Kernel ها بصورت کلی به دو نوع مختلف دسته بندی می شوند که بر اساس طراحی و نوع پیاده سازی و اینکه چگونه وظایف سیستم عامل سرویس دهی می شود طبقه بندی می شوند. نوع اول به Monolithic ها معروف هستند که در این نوع Kernel ها برای بال رفتن کارایی سیستم کدهای سیستم درون همان فضای آدرسی اجرا می شود که در ابتدا به آن اختصاص یافته بود. اگر فضاهای دیگری برای اجرای کدها اختصاص یابد نوع Kernel نیز عوض می شود و Mikrokernel ها به میان می آیند ، بیشتر سرویس ها برای اجرا از فضاهایی که Mikrokernel ها در اختیار آنها قرار می دهند استفاده می کنند ، در Mikrokernel ها مدیریت و ماژولاریتی بیشتری را شاهد هستیم.

خلاصه : تفاوت اصلی بین Kernel و Operating System در چیست ؟


Kernel در واقع هسته یا پایین ترین لایه سیستم عامل نزدیک به سخت افزار است. سایر قسمت های سیستم عامل اعم از رابط گرافیکی ، مدیریت فایل ها ، Shell ، نرم افزار ها و ... وابستگی کاملی به Kernel دارند. Kernel مسئول برقراری ارتباط با سخت افزارهای سیستم است و در واقع قسمتی از سیستم عامل است که بدون واسط و مستقیما با سخت افزار صحبت می کند. فرآیند های فراخوانی که در سیستم عامل انجام می شود اعم از دسترسی به فایل ها ، نمایش تصاویر ، دستورهای کیبورد و ماوس و ... در واقع توسط Kernel آماده می شوند و در اختیار نرم افزار قرار می گیرند. ITPRO باشید

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

منبع : انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#kernel_چیست #هسته_یا_Kernel__در_لینوکس #تفاوت_operating_system_و_kernel #کرنل_چیست #کاربرد_سیستم_عامل #تفاوت_سیستم_عامل_و_کرنل #سیستم_عامل_چیست #تفاوت_kernel_و_operating_system
4 نظر
احسان فواکهی

سلام ،مطلب خوب،جالب و آموزنده ای بود.،فقط یک سوال برام پیش اومد،و اون اینکه چطوری میشه مقدار در گیر بودن Kernel در ویندوز را مانیتور کرد،برای مثال در ویندوز 7 در قسمت Task Manager گزینه ای بود که میزان عملکرد Kernel رو با نمودار قرمز رنگ بر روی عملکرد و CPU Usage نشان میداد،آیا ویندوز سرویس و یا راه دیگه ای برای نشان دادن عملکرد Kernel داره.،ممنون میشم اگر توضیح بدید.

محمد نصیری

لطفا سئوالتون رو در انجمن سخت افزار مطرح کنید با تشکر

حسین افراد

با سپاس از مطلب خوبتون . فقط یک سوال

این وسط Firmware کجای قضیه است اگه کرنل مستقیما با سخت افزارها در ارتباطه ؟

محمد نصیری

Firmware اصلا به سیستم عامل نمیرسه ... قبل از همه اینها ارتباط میگیره برای بوت کردن سخت افزارها ...سیستم عامل خودش ارتباط میگیره با سخت افزار ... در واقع Firmware ای مثل CMOS سیستم میاد مدیریت رو تقدیم سیستم عامل می کنه .

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....