هسته سیستم عامل چیست؟

هسته سیستم عامل (Kernel) یک نرم افزار سطح پایین است که وظیفه کنترل درخواست‌های خروجی یا ورودی از طرف نرم افزارهای دیگر (و همچنین سخت افزارها) را دارد.

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

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

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

Kernel Access Diagram

سطوح انتزاعی دسترسی‌ها

کرنل درواقع رابط بین اپلیکیشن‌ها و منابع سخت افزاری (نظیر هارد دیسک‌ها، مموری‌ها و...) است. هر برنامه و اپلیکیشنی که بخواهد از منابع سیستم (System Resources) استفاده کند، درخواست خود را به کرنل می‌فرستد (برنامه، خود این درخواست‌ها را ارسال نمی‌کند بلکه با استفاده از منابع و رابط‌های سیستم عامل این کار را می‌کند). این درخواست System Call نام دارد.

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

وظیفه هسته سیستم عامل چیست؟

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

هسته سیستم عامل چیست

اجرای درخواست‌های اپلیکیشن‌ها

سپس کرنل این دستورات را به اسمبلر می‌فرستد. واحد اسمبلر نیز کدهای ورودی را به کدهای قابل درک سخت افزارها (Opcodes) تبدیل می‌کند سپس طبق دستور داده شده، آن‌ را به سخت افزار مورد نظر می‌فرستد.

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

ارسال پاکت‌های داده به اپلیکیشن‌ها

ارسال پاکت‌های داده به اپلیکیشن‌ها

بنابراین هسته سیستم عامل یک وظیفه کلی دارد و آن واسطه گری میان منابع نرم افزاری و منابع سخت افزاری است.

هسته سیستم عامل چیست

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

حمایت مالی از سایت

مبلغ مورد نظر:
نام:
ایمیل:
دلیل حمایت:
* فیلدهای نام، ایمیل و دلیل حمایت اختیاری اند.
* پرداخت با کمک پورتال زرین پال و با کارت‌های عضو شتاب انجام می‌پذیرد.

33 دیدگاه در“هسته سیستم عامل چیست؟

  • ۲۲ دی ۱۳۹۲ در۱۲:۳۰
    پیوند یکتا

    من ترم سه کاردانی هستم. مثل خودت عاشق it خصوصا برنامه نویسی وب ولی هیچی یاد نگرفتم

    پاسخ
    • ۲۲ دی ۱۳۹۲ در۱۹:۱۷
      پیوند یکتا

      خب دوست عزیز بزار با یک مثال واستون توضیح بدم:
      شما اینترنتی که در اختیار دارین رو نرم افزار فرض کنین، سرویس دهنده اینترنتی (ISP) تونو هم نرم افزار سیستم‌عامل و منابعش در نظر بگیر. مخابرات رو هم کرنل و سرور اون طرف رو هم سخت افزار فرض کن.
      مخابرات درواقع رابط بین نرم افزار و سخت افزار (ISP و سرورهای دیگه) قرار داره و اونارو کنترل میکنه. کرنل هم دقیقا کارش همینه؛ یعنی هر دستوری که میاد و قصد هرگونه استفاده از منابع سخت افزاری رو داشته باشه (که همه دستورات رو شامل میشه)اول باید بره به کرنل (در این مثال یعنی اول میره به مخابرات، یعنی دستوری نمیتونه بدون رد شدن از کرنل از منابع سخت افزاری استفاده کنه) بعد کرنل میتونه طبق دستور منابع رو در اختیار سیستم عامل (یا نرم افزار) قرار بده.
      این خلاصه نحوه کار کرنل هستش. اگه مشکلی بود در خدمتم

      پاسخ
    • ۷ اسفند ۱۳۹۲ در۱۳:۳۱
      پیوند یکتا

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

      پاسخ
      • ۲۳ فروردین ۱۳۹۳ در۱۸:۰۰
        پیوند یکتا

        ایول بابا پروفسورااااااااااااااااا

        پاسخ
  • ۱۳ اردیبهشت ۱۳۹۳ در۱۰:۴۳
    پیوند یکتا

    خیلی ساده و شیرین توضیح دادی
    ممنون

    پاسخ
  • ۸ شهریور ۱۳۹۳ در۱۱:۴۱
    پیوند یکتا

    سلام
    بسیار ممنونم
    فوق العاده توضیحتون عالی بود و خیلی استفاده بردیم
    واقعا متشکر

    پاسخ
  • ۴ دی ۱۳۹۳ در۰۰:۱۵
    پیوند یکتا

    منظورت اینه که اگه یه بازی یا نرمافزار اجرا نمیشه مثل بازی و نرمافزار های دیتا دار مربوط به کرنل گوشیه؟

    پاسخ
    • ۴ دی ۱۳۹۳ در۰۰:۵۴
      پیوند یکتا

      نخیر، امکان این که مشکل از کرنل باشه بسیار کمه. باز نشدن برنامه ها و بازی ها دلایل خیلی متنوعی داره که میشه گفت مشکل کرنل تو ته لیسته چون اگه کرنل مشکل داشته باشه، معمولا سیستم عامل اصلا اجازه استفاده کاربر رو نمیده. مشکل میتونه از منابع سیستم عاملی (که سطحش بالاتر از کرنله) باشه یا سازگار بودن برنامه و …. .

      پاسخ
  • ۳ اسفند ۱۳۹۳ در۱۱:۵۵
    پیوند یکتا

    سلام
    خیلی دمت گرمه حال کردم با توضیحاتت

    پاسخ
  • ۲ اردیبهشت ۱۳۹۴ در۰۲:۱۵
    پیوند یکتا

    منون خیلی عالی بود دوست عزیز میتونی بگی که ویندوز با چه زبان هایی نوشته شده مثلا کرنل باچی نوشته شده رابط گرافیکی با چی نوشته شده لطفا جواب دادین لینکشو برا ایمیل کنیی مرسی

    پاسخ
    • ۲ اردیبهشت ۱۳۹۴ در۰۹:۴۴
      پیوند یکتا

      سلام. معمولا با زبان C نوشته میشن و در قسمت هایی هم به صورت مستقیم از دستورات اسمبلی استفاده میشه. البته نا گفته نمونه که هر زبانی رو میشه نهایتا به زبان ماشین تبدیل کرد و به عنوان یه زبان برای نوشتن کرنل ازش استفاده کرد

      پاسخ
  • ۴ اردیبهشت ۱۳۹۴ در۰۹:۰۱
    پیوند یکتا

    سلام دوست خوبم
    انشاالله با یه رتبه خوب روزانه IT قبول میشی
    زبان اموزشت عالی ی ی ی
    موفق باشی

    پاسخ
    • ۵ اردیبهشت ۱۳۹۴ در۰۲:۴۱
      پیوند یکتا

      😀 خیلی ممنونم، ایشالا.

      پاسخ
  • ۴ اردیبهشت ۱۳۹۴ در۲۲:۵۵
    پیوند یکتا

    سلام اقا امیر انشاالله ک خوبید بنده چند تا سوال داشتم من یه لپ تاپ خریدم میخوام روش بک ترک رو نصب کنم ارور کرنل میده هم از بوت و هم از ماشین مجازی شما میدونید مشکلش چیه؟ ایا حل میشه ؟ اخه من به بک ترک نیاز دارم

    پاسخ
    • ۶ اردیبهشت ۱۳۹۴ در۰۷:۱۵
      پیوند یکتا

      سلام. مشکل میتونه از فایل ایزوی دانلود شده باشه ولی بهتره خطا رو به صورت کامل بنویسید تا راهنماییتون کنم. فروم های backtrack هم میتونه جای خوبی باشه برای پرسیدن چنین سوالاتی.

      پاسخ
  • ۱ خرداد ۱۳۹۴ در۲۳:۱۳
    پیوند یکتا

    سلام دوست عزیز لطفا میشه یه توضیحی راجب هسته ویندوز 98 بدین مختصر

    پاسخ
    • ۲ خرداد ۱۳۹۴ در۱۷:۱۲
      پیوند یکتا

      سلام. کرنل ویندوز های 95 و 98 و ME یکیه و برای ویندوز های جدیدتر از کرنل های NT استفاده شده. هسته 98 یه کرنل 32 بیتی و 16 بیتی (برای ms-dos) به صورت هیبریدی هست و برخلاف ویندوز 95 از رابط WDM (فرم ورک هسته برای درایورها) برای شناسایی و استفاده از درایور ها استفاده میکنه. نحوه بوت کردن در این کرنل با NT ها فرق میکنه میتونید تو {این لینک} پروسه بوتش رو هم ببینید.

      پاسخ
  • ۳ تیر ۱۳۹۴ در۰۰:۱۴
    پیوند یکتا

    سلام عالی بود.
    ویندوز با سی نوشته میشه یا با سی پلاس پلاس ؟

    پاسخ
    • ۳ تیر ۱۳۹۴ در۰۵:۱۰
      پیوند یکتا

      سلام. هسته ویندوز اکثرا با C و بعضی قسمت هاش با اسمبلی نوشته شده. سایر اجزای ویندوز با C و C++ و C#.

      پاسخ
  • ۳۰ مرداد ۱۳۹۴ در۲۰:۴۸
    پیوند یکتا

    سلام
    پشتیبانی از کابلotg بستگی به سخت افزار گوشی دارد یا نه؟
    مثلا به رام گوشی یا کرنل یا چیز دیگه ای؟
    چون یه جا خوندم که گفته بود به رام مربوط میشه

    پاسخ
    • ۱ شهریور ۱۳۹۴ در۱۲:۴۳
      پیوند یکتا

      سلام. اگه دستگاه پورت USB داشته باشه، به صورت سخت افزاری قاعدتا باید ساپورت کنه چون USB OTG از یه پروتکلی استفاده میکنه که به صورت نرم افزاریه و باید از سمت سیستم عامل گوشی ساپورت شه.

      پاسخ
  • ۲۳ مهر ۱۳۹۴ در۲۱:۳۲
    پیوند یکتا

    مهندس خسته نباشی.الان گوشی من نوت۴ هست که به آندروید ۵ ،۱،۱ آپدیت کردم.الان این گوشی من با کابل OGT میتونه هارد خارجی رو بشنلسه و ساپورت کنه مثل یک یو اس بی؟راستی منظور تو هارد های خارجی که میگن رابطش با سینه و کابل ی اس بی چی هست؟مگر با استفاده از خود درگاه یو اس بی بهش نمیشه وصل کرد.یا این وصل با سیم نسبت به وصل با استفاده از درگاه چه تفاوتی داره.ممنون میشم راهنماییم کنید.تشگر

    پاسخ
    • ۲۶ مهر ۱۳۹۴ در۱۴:۲۲
      پیوند یکتا

      سلام. بله فکر کنم بشه با کابل OTG بشه هارد اکسترنال رو وصل کرد. اکسترنال ها معمولا با پورت یو اس بی وصل میشن و برقشونو هم از همون پورت میگیرن. اگه اکسترنالی داشته باشید که منبع تغذیش جدا باشه بهتره چون واسه باتری گوشی مشکل میشه که برقشو تامین کنه.

      پاسخ
  • ۲۶ مهر ۱۳۹۴ در۱۴:۵۶
    پیوند یکتا

    علیرضا خسته نباشی…….
    واقعا لذت میبرم اینقد قشنگ و با حوصله جواب میدی
    همه چی رو میتونم از اینجا پیدا کنم
    مــــــــــــــــرسی
    _____
    امیر رضا جان ببخشید اسمتون رو اشتباه گفتم

    پاسخ
  • ۲۲ آبان ۱۳۹۴ در۱۱:۱۷
    پیوند یکتا

    با عرض سلام و خسته نباشید.من گوشی HTC D 816 داشتم و خواستم اونو به اندروید ۵ ارتقا بدم بعد از اینکه ارتقا دادم گوشیم با ی مشکل خیلی بد مواجه شد.من هرچیزی رو ک بر روی تاچ لمس میکردم نگه داشته میشد حالا نمیدونم ایراد از چیه.ممنون میشم کمکم کنید

    پاسخ
    • ۲۵ آبان ۱۳۹۴ در۱۷:۰۶
      پیوند یکتا

      سلام. من تخصصی درباره گوشی ها ندارم. بهتره تو انجمن های مربوط به گوشی بپرسید.

      پاسخ
  • ۱۴ اسفند ۱۳۹۴ در۱۵:۲۵
    پیوند یکتا

    سلام
    فرق سفت افزار و سخت افزار که داخل یکی از عکسهای بالا هست چیه؟
    ممنون

    پاسخ
    • ۱۴ اسفند ۱۳۹۴ در۲۳:۱۱
      پیوند یکتا

      سلام. سخت افزار که قطعات فیزیکیه کامپیوتره مثل رم، هارد دیسک و … . فیرم ویر یا سفت افزار هم برنامه ایه که اون سخت افزار رو کنترل میکنه. مثلا سفت افزار هارد دیسک میگه که چطور اطلاعاتو ذخیره کن، چطور بخون و … .

      پاسخ

پاسخی بگذارید

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