Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Виняткові ситуації при роботі з пам'яттю



З матеріалу попередньої лекції виходить, що відображення віртуальної адреси у фізичний здійснюється за допомогою таблиці сторінок. Для кожної віртуальної сторінки запис в таблиці сторінок містить номер відповідного сторінкового кадру в оперативній пам'яті, а також атрибути сторінки для контролю звернень до пам'яті.

Що ж відбувається, коли потрібної сторінки в пам'яті немає або операція звернення до пам'яті недопустима? Природно, що операційна система має бути якось оповіщена про той, що відбувся. Зазвичай для цього використовується механізм виняткових ситуацій (exceptions). При спробі виконати подібне звернення до віртуальної сторінки виникає виняткова ситуація "сторінкове порушення" (page fault), що приводить до виклику спеціальної послідовності команд для обробки конкретного виду сторінкового порушення.

Сторінкове порушення може відбуватися в самих різних випадках: за відсутності сторінки в оперативній пам'яті, при спробі запису в сторінку з атрибутом "тільки читання" або при спробі читання або запису сторінки з атрибутом "тільки виконання". У будь-якому з цих випадків викликається обробник сторінкового порушення, що є частиною операційної системи. Йому зазвичай передається причина виникнення виняткової ситуації і віртуальна адреса, звернення до якого викликало порушення.

Нас цікавитиме конкретний варіант сторінкового порушення - звернення до відсутньої сторінки, оскільки саме його обробка багато в чому визначає продуктивність сторінкової системи. Коли програма звертається до віртуальної сторінки, відсутньої в основній пам'яті, операційна система повинна виділити сторінку основної пам'яті, перемістити в неї копію віртуальної сторінки із зовнішньої пам'яті і модифікувати відповідний елемент таблиці сторінок.

Підвищення продуктивності обчислювальної системи може бути досягнуте за рахунок зменшення частоти сторінкових порушень, а також за рахунок збільшення швидкості їх обробки. Час ефективного доступу до відсутньої в оперативній пам'яті сторінки складається з:

обслуговування виняткової ситуації (page fault);

читання (підкачки) сторінки з вторинної пам'яті (іноді, при недоліку місця в основній пам'яті, необхідно виштовхнути одну із сторінок з основної пам'яті у вторинну, тобто здійснити заміщення сторінки);

відновлення виконання процесу, що викликав даний page fault.

Для вирішення першого і третього завдань ОС виконує до декількох сотів машинних інструкцій протягом декількох десятків мікросекунд. Час підкачки сторінки близький до декількох десяток мілісекунд. Проведені дослідження показують, що вірогідності page fault 5x10-7 виявляється достатньо, щоб понизити продуктивність сторінкової схеми управління пам'яттю на 10%. Таким чином, зменшення частоти page faults є одному з ключових завдань системи управління пам'яттю. Її рішення зазвичай пов'язане з правильним вибором алгоритму заміщення сторінок.





Дата публикования: 2014-11-04; Прочитано: 511 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...