Відмінності між версіями «Віртуальна пам'ять»
3522390 (обговорення • внесок) (→Методи розподілу пам'яті) |
3522390 (обговорення • внесок) |
||
Рядок 13: | Рядок 13: | ||
'''Недоліком''' методу є нестача фіксованого розділу (який би не був маленький процес, він займе весь розділ, або навпаки, якщо процес дуже великий, то він не буде завантажений). | '''Недоліком''' методу є нестача фіксованого розділу (який би не був маленький процес, він займе весь розділ, або навпаки, якщо процес дуже великий, то він не буде завантажений). | ||
[[Файл:30yana.png|міні|центр|500пкс|Розподіл пам'яті фіксованими розділами із загальною чергою]] | [[Файл:30yana.png|міні|центр|500пкс|Розподіл пам'яті фіксованими розділами із загальною чергою]] | ||
− | [[Файл: | + | [[Файл:31yana.png|міні|центр|500пкс|Розподіл пам'яті фіксованими розділами з окремими чергами]] |
====Розподіл пам'яті розділами змінної величини==== | ====Розподіл пам'яті розділами змінної величини==== | ||
'''Принцип роботи даного розподілу:''' розділи виділяються за потребою -> завантажується наступний вільний процес -> у вільному місці виділяється стільки місця, скільки потрібно для процесу -> завантажується наступний процес ...<br /> | '''Принцип роботи даного розподілу:''' розділи виділяються за потребою -> завантажується наступний вільний процес -> у вільному місці виділяється стільки місця, скільки потрібно для процесу -> завантажується наступний процес ...<br /> |
Версія за 16:06, 20 листопада 2015
Зміст
Що таке віртуальна пам'ять?
Віртуальна пам'ять - це схема адресації пам'яті комп'ютера, при якій пам'ять для запущеної програми реалізується однорідним масивом.
Які існують типи адрес?
Типи адрес:
- символьні адреси (ідентифікатори змінних, які створюються під час написання програми);
- віртуальні адреси (умовні адреси,які створюються компілятором під час компіляції);
- фізичні адреси (номери комірок фізичної пам'яті, тобто реальна фізична адреса комірки пам'яті).
Методи розподілу пам'яті
Методи розподілу пам'яті без використання дискового простору
Розподіл пам'яті розділами фіксованої величини
Даний розподіл заздалегідь поділяється на розділи фіксованої величини.
Перевага такого методу - простота реалізації.
Недоліком методу є нестача фіксованого розділу (який би не був маленький процес, він займе весь розділ, або навпаки, якщо процес дуже великий, то він не буде завантажений).
Розподіл пам'яті розділами змінної величини
Принцип роботи даного розподілу: розділи виділяються за потребою -> завантажується наступний вільний процес -> у вільному місці виділяється стільки місця, скільки потрібно для процесу -> завантажується наступний процес ...
Розділи виділяються "впритик". Коли завершується один процес, розділ, який він займав, звільняється.
Розподіл пам'яті розділами, що переміщуються
Для боротьби з фрагментацією вводиться процедура стиснення.
Фрагментація - це явище, коли в пам'яті є велика кількість настільки малих розділів, що в них не може бути завантажений жоден процес, хоча сумарно вільний простір є.
Методи розподілу пам'яті з використанням дискового простору
Сторінковий розподіл пам'яті
Принцип роботи даного розподілу: пам'ять поділяється на сторінки фіксованого розміру -> процес займає декілька сторінок.
Сегментний розподіл пам'яті
Принцип роботи даного розподілу: процес поділяється на сегменти за логікою програми. Як правило, розділи утворюються різної величини.
Сегментно-сторінковий розподіл пам'яті
Принцип роботи даного розподілу: фрагментації немає. Віртуальна адреса (g, p, s) переходить в фізичну адресу(n, s).