دفتر تهران : ۰۲۱-۷۷۴۳۸۸۸۲

دفتر بندرعباس : ۰۷۶-۳۳۳۳۹۵۳۸

  • صفحه نخست
  • میزبانی وب
  • خدمات نمایندگی
  • خدمات دامنه
  • سرور مجازی
  • سرور اختصاصی
  • سایر خدمات
  • ارتباط با ما

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

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

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

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

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

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

 

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

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

 

 

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

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

 

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



برچسب ها :