مدیریت حافظه
سیستم عامل در رابطه با مدیریت حافظه دو عملیات اساسی را انجام خواهد داد:
- هر پردازه یه منظور اجراء میبایست دارای حافظه مورد نیاز و اختصاصی خود باشد.
- از انواع متفاوتی حافظه در سیستم استفاده میکند تا هر پردازه قادر به اجراء با بالاترین سطح کارآیی باشد.
سیستم عامل ابتدا میبایست، محدودههای حافظه مورد نیاز هر نوع نرمافزار و برنامههای خاص را فراهم نماید. مثلاً فرض کنید سیستمی دارای یک مگابایت حافظه اصلی باشد. سیستم عامل کامپیوتر فرضی، نیازمند ۳۰۰ کیلو بایت حافظه است. سیستم عامل در بخش انتهائی حافظه مستقر و به همراه خود درایورهای مورد نیاز یه منظور کنترل سختافزار را نیز مستقر خواهد کرد. درایورهای مورد نظر به ۲۰۰ کیلو بایت حافظه نیاز خواهند داشت. بنابراین پس از استقرار سیستم عامل بهطور کامل در حافظه، ۵۰۰ کیلو بایت حافظه باقی مانده و از آن برای پردازش برنامههای کاربردی استفاده خواهد شد. زمانی که برنامههای کاربردی در حافظه مستقر میگردند، سازماندهی آنها در حافظ بر اساس بلاک هائی خواهد بود که اندازه آنها توسط سیستم عامل مشخص خواهد شد. در صورتی که اندازه هر بلاک ۲ کیلوبایت باشد، هر یک از برنامههای کاربردی که در حافظه مستقر میگردنند، تعداد زیادی از بلاکهای فوق را (مضربی از دو خواهد بود)، به خود اختصاص خواهند داد. برنامهها در بلاک هائی با طول ثابت مستقر میگردند. هر بلاک دارای محدودههای خاص خود بوده که توسط کلمات چهار یا هشت بایت ایجاد خواهند شد. بلاکها و محدو دههای فوق این اطمینان را به وجود خواهند آورد که برنامهها در محدودههای متداخل مستقر نخواهند شد.
در اغلب رایانهها، میتوان ظرفیت حافظه را ارتقاء و افزایش داد. مثلاً میتوان میزان حافظه RAM موجود را از یک مگابایت به دو مگابایت ارتقاء داد. روش فوق یک راهکار فیزیکی برای افزایش حافظه بوده که در برخی موارد دارای چالشهای خاص خود میباشد. در این زمینه میبایست راهکارهای دیگر نیز مورد بررسی قرار گیرند. اغلب اطلاعات ذخیره شده توسط برنامهها در حافظه، در تمام لحظات مورد نیاز نخواهد نبود. پردازنده در هر لحظه قادر به دستیابی به یک محل خاص از حافظهاست. بنابراین اکثر حجم حافظه در اغلب اوقات غیر فابل استفادهاست. از طرف دیگر با توجه به اینکه فضای ذخیرهسازی حافظهها ی جانبی نظیر دیسکها به مراتب ارزانتر نسبت به حافظه اصلی است، میتوان با استفاده از مکانیزمهایی اطلاعات موجود در حافظه اصلی را خارج و آنها را موقتاً بر روی هارد دیسک ذخیره نمود. بدین ترتیب فضای حافظه اصلی آزاد و در زمانیکه به اطلاعات ذخیره شده بر روی هارد دیسک نیاز باشد، مجدداً آنها را در حافظه مستقر کرد. روش فوق «مدیریت حافظه مجازی» نامیده میشود.
به عبارت دیگر، حافظه مجازی (virtual memory) به بهتر اجرا شدن برنامه های کاربردی در ویندوز کمک شایانی میکند و سرعت اجرای برنامه ها را بالا میرود.[۱]
حافظههای ذخیرهسازی دیسکی، یکی از انواع متفاوت حافظه موجود بوده که میبایست توسط سیستم عامل مدیریت گردد. حافظههای با سرعت بالای Cache، حافظه اصلی و حافظههای جانبی نمونههای دیگر از حافظه بوده که توسط سیستم عامل مدیریت گردند.