Operating Systems

Memory Management

Ahmad Yoosofan

University of Kashan

بخش‌بندی ثابت حافظه

تخصیص حافظه به فرآیندها در حالت بخش‌بندی ثابت حافظه

مشکلات بخش‌بندی ثابت

  1. انعطاف بسیار پایین
  2. محدودیت زیاد برای اندازهٔ فرایند در حالی که فضای حافظه خالی است.
  3. تکه تکه شدن یا پراکندی داخلی internal fragmentation
  4. هدر رفت حافظه
    • بخشی از حافظه که به فرایند داده شده است فقط برای آن فرایند است.
    • یعنی اگر بخشی از آن را فرایند به کار نبرد هدر رفته است.

تکه تکه شدن (پراکندگی) داخلی حافظه

Internal Memory Fragmentation

https://www.geeksforgeeks.org/difference-between-internal-and-external-fragmentation/

بخش‌بندی پویای حافظه

حافظهٔ فرآیندها در سیستم عامل CTSS

اثر به کارگیری حافظهٔ پویا

Process Control Block (PCB)

چگونگی کارکرد پیوند زدن تابع‌ها از پرونده‌های گوناگون

Queue

برگزیدن فضای آزاد برای فرآیند تازه وارد

تکه تکه شدن (پراکندگی یا پارگی) خارجی

External Fragmentation

Compaction

حافظهٔ پویای رفاقتی Buddy system

الگوریتم اجرا

جابجا کردن فرآیند میان حافظهٔ‌اصلی و حافظهٔ جانبی (دیسک)، شکل ساده‌ای از حافظهٔ مجازی

overlay

سلسله مراتب حافظه

سلسله مراتب حافظه جزئی‌تر

حافظهٔ نهان

حافظهٔ نهان دو سطحی در یک پردازندهٔ واقعی

الگوریتم خواندن و نوشتن از حافظهٔ نهان

Effective Access Time (EAT)

$$\begin{align}EAT = h_c * t_c + ( 1 - h_c ) * ( t_m + t_c )\end{align}$$

اگر ضریب اصابت (یا نسبت اصابت) برای پردازنده‌ای 0.95 باشد و سرعت دسترسی به حافظهٔ اصلی 100 میکرو ثانیه باشد و سرعت دسترسی حافظهٔ نهان 1 میکرو ثانیه باشد در این صورت زمان دسترسی مؤثر برابر خواهد بود با

msμsnsaction
0.5CPU L1 dCACHE reference
1speed-of-light (a photon) travel a 1 ft (30.5cm) distance
5CPU L1 iCACHE Branch mispredict
7CPU L2 CACHE reference
71CPU cross-QPI/NUMA best case on XEON E5-46
100MUTEX lock/unlock
100own DDR MEMORY reference
20000Send 2K bytes over 1 Gbps NETWORK
250000Read 1 MB sequentially from MEMORY
10000000DISK seek
10000000Read 1 MB sequentially from NETWORK
30000000Read 1 MB sequentially from DISK
150000000Send a NETWORK packet CA -> Netherlands
[link]

به کارگیری حافظهٔ نسبی برای نگهداری مکان چندین فرآیند در حافظه

بخش‌های درونی یک فرآیند در حالت کلی

مشخص شدن آدرس‌های حافظهٔ فرآیند

address binding, loader

address binding, linker

Stack

  1. Process stack
  2. System stack

Micro Kernel

Multi Layer

DMA

References(I)

References(II)

References(III)

1