مدیریت حافظه

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

سیستم عامل در رابطه با مدیریت حافظه دو عملیات اساسی را انجام خواهد داد:

  • هر پردازه یه منظور اجراء می‌بایست دارای حافظه مورد نیاز و اختصاصی خود باشد.
  • از انواع متفاوتی حافظه در سیستم استفاده می‌کند تا هر پردازه قادر به اجراء با بالاترین سطح کارآئی باشد.

سیستم عامل در ابتدا می‌بایست محدوده‌های حافظه مورد نیاز هر نوع نرم‌افزار و برنامه‌های خاص را فراهم نمایند. مثلاً فرض کنید سیستمی دارای یک مگابایت حافظه اصلی باشد. سیستم عامل کامپیوتر فرضی، نیازمند ۳۰۰ کیلو بایت حافظه است. سیستم عامل در بخش انتهائی حافظه مستقر و به همراه خود درایورهای مورد نیاز یه منظور کنترل سخت‌افزار را نیز مستقر خواهد کرد. درایورهای مورد نظر به ۲۰۰ کیلو بایت حافظه نیاز خواهند داشت. بنابراین پس از استقرار سیستم عامل بطور کامل در حافظه، ۵۰۰ کیلو بایت حافظه باقیمانده و از آن برای پردازش برنامه‌های کاربردی استفاده خواهد شد. زمانیکه برنامه‌های کاربردی در حافظه مستقر می‌گردند، سازماندهی آنها در حافظ بر اساس بلاک هائی خواهد بود که اندازه آنها توسط سیستم عامل مشخص خواهد شد. در صورتی که اندازه هر بلاک ۲ کیلوبایت باشد، هر یک از برنامه‌های کاربردی که در حافظه مستقر می‌گردنند، تعداد زیادی از بلاک‌های فوق را (مضربی از دو خواهد بود)، بخود اختصاص خواهند داد. برنامه‌ها در بلاک هائی با طول ثابت مستقر می‌گردند. هر بلاک دارای محدوده‌های خاص خود بوده که توسط کلمات چهار و یا هشت بایت ایجاد خواهند شد. بلاک‌ها و محدو ده‌های فوق این اطمینان را بوجود خواهند آورد که برنامه‌ها در محدوده‌های متداخل مستقر نخواهند شد.

در اغلب رایانهها، می‌توان ظرفیت حافظه را ارتقاء و افزایش داد. مثلاً می‌توان میزان حافظه RAM موجود را از یک مگابایت به دو مگابایت ارتقاء داد. روش فوق یک راهکار فیزیکی برای افزایش حافظه بوده که در برخی موارد دارای چالش‌های خاص خود می‌باشد. در این زمینه می‌بایست راهکارهای دیگر نیز مورد بررسی قرار گیرند. اغلب اطلاعات ذخیره شده توسط برنامه‌ها در حافظه، در تمام لحظات مورد نیاز نخواهد نبود. پردازنده در هر لحظه قادر به دستیابی به یک محل خاص از حافظه‌است. بنابراین اکثر حجم حافظه در اغلب اوقات غیر فابل استفاده‌است. از طرف دیگر با توجه به اینکه فضای ذخیره سازی حافظه‌ها ی جانبی نظیر دیسک‌ها بمراتب ارزانتر نسبت به حافظه اصلی است، می‌توان با استفاده از مکانیزمهائی اطلاعات موجود در حافظه اصلی را خارج و آنها را موقتاً بر روی هارد دیسک ذخیره نمود. بدین ترتیب فضای حافظه اصلی آزاد و در زمانیکه به اطلاعات ذخیره شده بر روی هارد دیسک نیاز باشد، مجدداً آنها را در حافظه مستقر کرد. روش فوق «مدیریت حافظه مجازی» نامیده می‌شود.

حافطه‌های ذخیره سازی دیسکی، یکی از انواع متفاوت حافظه موجود بوده که می‌بایست توسط سیستم عامل مدیریت گردد. حافطه‌های با سرعت بالای Cache، حافظه اصلی و حافظه‌های جانبی نمونه‌های دیگر از حافظه بوده که توسط سیستم عامل مدیریت گردند.