Віртуальна пам'ять

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Що таке віртуальна пам'ять?

Віртуальна пам'ять - це:

  • схема адресації пам'яті комп'ютера, при якій пам'ять для запущеної програми реалізується однорідним масивом;
  • файл підкачки (Windows-системи), або окремий розділ на диску (Unix-системи);

Які існують типи адрес?

Типи адрес:

  • символьні адреси (ідентифікатори змінних, які створюються під час написання програми);
  • віртуальні адреси (умовні адреси,які створюються компілятором під час компіляції);
  • фізичні адреси (номери комірок фізичної пам'яті, тобто реальна фізична адреса комірки пам'яті).

Методи розподілу пам'яті

Методи розподілу пам'яті без використання дискового простору

Розподіл пам'яті розділами фіксованої величини

Даний розподіл заздалегідь поділяється на розділи фіксованої величини.
Перевага такого методу - простота реалізації.
Недоліком методу є нестача фіксованого розділу (який би не був маленький процес, він займе весь розділ, або навпаки, якщо процес дуже великий, то він не буде завантажений).

Розподіл пам'ті фіксованими розділами із загальною чергою
Розподіл пам'яті фіксованими розділами з окремими чергами

Розподіл пам'яті розділами змінної величини

Принцип роботи даного розподілу: розділи виділяються за потребою -> завантажується наступний вільний процес -> у вільному місці виділяється стільки місця, скільки потрібно для процесу -> завантажується наступний процес ...
Розділи виділяються "впритик". Кили завершується один процес, розділ, який він займав звільняється.

Розподіл пам'яті розділами, що переміщуються

Методи розподілу пам'яті з використанням дискового простору

Сторінковий розподіл пам'яті

Сегментний розподіл пам'яті

Сегментно-сторінковий розподіл пам'яті