Сторінка 4
Дещо про термінолоґію: комп'ютерні спеціалісти відрізняють два різних режими користування віртувальною пам'яттю - свопінґ (перенесення області пам'яті цілого процесу на диск) та пейджінґ (запис на диск окремих сторінок пам'яті, непотрібних в даний момент). Пейджінґ є більш ефективним, і це є саме те, що робить Unix . Але за традицією всі називають це свопінґом.
Пам'ять є основним ресурсом при програмуванні в багатозадачному середовищі. Множина вільних фрагментів пам'яті називається хіп (від англійського слова HEAP). Програміст може виділити для своєї програми блок пам'яті будь-якої довжини, що не перевищує загальний об'єм вільної пам'яті.
В Windows пам'ять виділяється в 2 етапи:
спочатку система виділяє фрагмент віртуальної пам'яті, який отримує свій хендл, але не отримує реальної адреси;
потім система розміщує (блокує) цей фрагмент у реальній пам'яті і фрагмент отримує початкову адресу.
Після того, як програміст отримує адресу початку виділеного блоку, він може її використовувати. Комірки з адресами до початку та після кінця блоку використовувати не можна, тому що вони належать іншим програмам або системі.
Після того, як програма використала блок пам'яті, його необхідно розблокувати. Таким чином, він знову стає віртуальним, і при необхідності може бути переміщений системою в інше місце або на диск. Якщо програма довго не розблоковує блок пам'яті, то це негативно відображається на продуктивності операційної системи в цілому. Отже, якщо після розблокування пам'яті її знову заблокувати, адреса початку блоку може бути іншою. Якщо програміст взагалі відмовляється від використання виділеного блоку пам'яті, він повинен звільнити блок, що веде до знищення його хендла. Очевидно, що перед звільненням блоку пам'яті його необхідно розблокувати.
Якщо ваше програмне забезпечення стало настільки великим, що перестало поміщатися в наявний нод-простір, Ви можете здійснити посторінкову організацію віртуальної пам'яті, яка дозволить вашим програмам продовжувати розширюватися.
Помітимо, що система віртуальної пам'яті забезпечує посторінкову організацію тільки функцій. Ви повинні як і раніше мати досить нод-простору для розміщення всіх списків даних, які використовуються вашою програмою чи функцією, і для імен перемінних.
Література
1. Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов. - М.: Мир, 1981.
2. Ахо А., Хлопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. - М.: Мир. 1974.
3. Кнут Д. Искусство программирования для ЭВМ. Т. 1. Основные алгоритмы. - М.: Мир, 1976.
4. Кнут Д. Искусство программирования для ЭВМ. Т. 2. Получисленные алгоритмы. - М.: Мир, 1977.
5. Кнут Д. Искусство программирования для ЭВМ. Т. 3. Сортировка и поиск. - М.: Мир, 1978.
Назва реферату: Склад комп’ютера та взаємодія між вузлами. Склад мікропроцесорної системи. Однопрограмний і мультипрограмний режими керування. Сторінкова організація пам’яті. Використання віртуальної пам’яті в ОС Windows та ОС Unix
Розділ: Комп'ютери, програмування
Опубліковано: 2008-01-06 09:42:05
Прочитано: 7192 раз
1 2 3 [4]
завантажити реферат