КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Керування пам’яттю
Керування пам’яттю – це забезпечення доступу до неї, її облік та розподілення між програмами. Функції керування пам’яттю відносяться до ОС. В DOS вбудовані тільки мінімальні засоби по керуванню пам’яттю. Всі інші засоби реалізовані як зовнішні драйвери і тому їх треба підключати до системи явно. DOS також підтримує певні команди, які мають безпосереднє відношення до керування пам’яттю.
У верхній області пам’яті логічно знаходяться відеопам’ять та постійна пам’ять з BIOS, а також можуть розміщуватись додаткові модулі постійної та оперативної пам’яті, які конструктивно знаходяться в адаптерах ПУ. Реально використовується невелика частина UMA. Це зарезервована пам’ять або область старших адрес DOS. ХМА – 1М – UB–1; UB – кількість комірок (байтів) в адресному просторі мікропроцесора (або самого комп’ютера). 8088/86 – ША = 20 розрядів; UB = 1М; (ХМА ними не підтримується). 80286 – 80386SX – ША = 24 розряди; UB=16М; 80386/486 – ША = 32 розряди; UB=4Tбайта; Якщо адресний простір допускає ХМА, то в ньому логічно може знаходитись розширена пам’ять (extended memory). (Як правило, стандартна АТ, включала всього 384Кбайт такої пам’яті. Разом 1Мбайт і сюди не входили модулі пам’яті з UMA). DOS без додаткових драйверів може адресувати тільки 1Мбайт адресного простору. (Оскільки вона розглядалась для 8088/86.) Більш сучасні мікропроцесори вимушені емулювати цей простір із усіма обмеженнями. Це реальний режим. В захищеному режимі використовуються всі можливості сучасних МП. Але в цей режим переключитись не просто, ще складніше повернутися з нього в реальний режим без втрати даних. Вільні фрагменти UMA адресуються безпосередньо. В ОС, в яких використовується захищений режим роботи МП (DOS/Windows, Windows NT, ОS/2, UNIX та ін.) розширена пам’ять доступна так само як і стандартна. Але між двома областями однорідної пам’яті залишається UMA. Тобто не виключається фрагментація оперативної пам’яті. Недоліки концепції: UMA необхідно включити в СМА!!! Але зміни приведуть до несумісності. Пам’ять розподіляється блоками. Блок – неперервний фрагмент. Перші 16 байт кожного блоку пам’яті відводиться під блок керування пам’яттю МСВ – Memory Control Block – описує розмір блоку пам’яті та вказує програму, якій виділений цей блок, а також забезпечує зв’язок з наступним блоком пам’яті. Таким чином, всі МСВ, тобто блоки пам’яті, зв’язуються у ланцюжок, що забезпечує можливість керування пам’яттю (виділення та звільнення). Коли DOS запускає програму, вона, тобто DOS, спочатку виділяє блок пам’яті для копії свого оточення (Environment), яка передається програмі, а потім весь залишок пам’яті виділяється для самої програми.
Сформовані блоки для одної програми не обов’язково мають бути суміжними. Блоки пам’яті завжди виділяються на початку її вільної області, тому, якщо пам’ять не фрагментована, блок з оточенням та блок з кодом програми будуть суміжними. Разом з оточенням програмі, яка виконується, передається повна специфікація програмного файлу, яка доточується в кінець оточення і заміняє відповідний рядок для батьківського процесу. Тому розмір копії оточення, як правило, не співпадає за розміром оригіналом. Програма при виконанні може зменшити розмір виділеного під її код блоку, а резидентна програма зобов’язана це зробити (інакше не виконуються інші програми). Після завершення нерезидентної програми зайняті нею блоки пам’яті звільнюються. Але, якщо програма має залишитись резидентною, блоки з її оточенням і кодом залишаються у пам’яті. Вони будуть звільнені тільки при явному вивантаженні програми. Для вилучення резидентної програми з пам’яті можна використати спеціальні програмні засоби. Але якісна програма повинна уміти сама себе вивантажити, тобто самоліквідуватись. DOS забезпечує можливість динамічного керування пам’яттю для розміщення інформаційних об’єктів програми, яка використовується. Програма може зробити запит на: - визначення розміру найбільшого блоку, який можна виділити програмі; - виділення блоку пам’яті заданого розміру; - звільнення блоку пам’яті; - зміну розміру вже виділеного блоку пам’яті як в сторону збільшення, так і в сторону зменшення.
Дата добавления: 2014-01-11; Просмотров: 784; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |