هسته سیستم عامل (Operating System's Kernel) یا به اختصار «هسته» مهمترین قسمت هر سیستم عامل است.
هسته سیستم عامل، عبارت است از یک مجموعه نرمافزار، که وظیفه مدیریت منابع سیستم، و ارتباطات بین نرم افزارها و سخت افزار سیتم را بر عهده دارد.
هسته به مولفه هایی تقسیم شده است که هر کدام، وظیفه خاصی بر عهده دارد. مولفه های اصلی هر هسته سیستم عامل، در شکل زیر نشان داده شده است.
در شکل بالا، قسمتی که با رنگ قرمز نشان داده شده، هسته سیستم عامل است. همانطور که ملاحظه میشود، تمام عملکرد اصلی سیستم عامل (یعنی مدیریت منابع سخت افزار، مدیریت پردازش ها، مدیریت حافظه و...) را هسته آن انجام میدهد.
سیستم عامل در رابطه با مدیریت حافظه دو عملیات اساسی را انجام خواهد داد :
سیستم عامل در ابتدا می بایست محدودههای حافظه مورد نیاز هر نوع نرم افزار و برنامههای خاص را فراهم نمایند. مثلا" فرض کنید سیستمی دارای یک مگابایت حافظه اصلی باشد. سیستم عامل کامپیوتر فرضی، نیازمند 300 کیلو بایت حافظه است. سیستم عامل در بخش انتهائی حافظه مستقر و به همراه خود درایورهای مورد نیاز یه منظور کنترل سخت افزار را نیز مستقر خواهد کرد. درایورهای مورد نظر به 200 کیلو بایت حافظه نیاز خواهند داشت. بنابراین پس از استقرار سیستم عامل بطور کامل در حافظه، 500 کیلو بایت حافظه باقیمانده و از آن برای پردازش برنامههای کاربردی استفاده خواهد شد. زمانیکه برنامههای کاربردی در حافظه مستقر می گردند، سازماندهی آنها در حافظ بر اساس بلاک هائی خواهد بود که اندازه آنها توسط سیستم عامل مشخص خواهد شد. در صورتی که اندازه هر بلاک 2 کیلوبایت باشد، هر یک از برنامههای کاربردی که در حافظه مستقر می گردنند، تعداد زیادی از بلاک های فوق را (مضربی از دو خواهد بود)، بخود اختصاص خواهند داد. برنامهها در بلاک هائی با طول ثابت مستقر می گردند. هر بلاک دارای محدودههای خاص خود بوده که توسط کلمات چهار و یا هشت بایت ایجاد خواهند شد. بلاک ها و محدو دههای فوق این اطمینان را بوجود خواهند آورد که برنامهها در محدودههای متداخل مستقر نخواهند شد. پس از پر شدن فضای 500 کیلوبایت اختصاصی برای برنامههای کاربردی، وضعیت سیستم به چه صورت تبدیل خواهد گردید؟
در اغلب کامپیوترها، می توان ظرفیت حافظه را ارتقاء و افزایش داد. مثلا" می توان میزان حافظه RAM موجود را از یک مگابایت به دو مگابایت ارتقاء داد. روش فوق یک راهکار فیزیکی برای افزایش حافظه بوده که در برخی موارد دارای چالش های خاص خود می باشد. در این زمینه می بایست راهکارهای دیگر نیز مورد بررسی قرار گیرند. اغلب اطلاعات ذخیره شده توسط برنامهها در حافظه، در تمام لحظات مورد نیاز نخواهد نبود. پردازنده در هر لحظه قادر به دستیابی به یک محل خاص از حافظه است. بنابراین اکثر حجم حافظه در اغلب اوقات غیر فابل استفاده است. از طرف دیگر با توجه به اینکه فضای ذخیره سازی حافظهها ی جانبی نظیر دیسک ها بمراتب ارزانتر نسبت به حافظه اصلی است، می توان با استفاده از مکانیزمهائی اطلاعات موجود در حافظه اصلی را خارج و آنها را موقتا" بر روی هارد دیسک ذخیره نمود. بدین ترتیب فضای حافظه اصلی آزاد و در زمانیکه به اطلاعات ذخیره شده بر روی هارد دیسک نیاز باشد، مجددا" آنها را در حافظه مستقر کرد. روش فوق " مدیریت حافظه مجازی " نامیده میشود.
حافطههای ذخیره سازی دیسکی، یکی از انواع متفاوت حافظه موجود بوده که می بایست توسط سیستم عامل مدیریت گردد. حافطههای با سرعت بالای Cache، حافظه اصلی و حافظههای جانبی نمونههای دیگر از حافظه بوده که توسط سیستم عامل مدیریت گردند.»