Работа с памятью в операционных системах nodirov Adham
Способы борьбы с фрагментацией
Download 216.51 Kb.
|
лаб1
- Bu sahifa navigatsiya:
- Методы распределения памяти с использования дискового пространств Метод оверлеев
- Страничное распределение виртуальной памяти
Способы борьбы с фрагментацией
В определенные моменты времени происходит сжатие в сторону младших адресов. ОС последовательно просматривает занятые приложениями блоки, находит разрыв и смещает адрес. Данная схема эффективна в случае динамического преобразования; если используется перемещающийся загрузчик, то происходит полный пересчет адресов, который является очень ресурсоемким. Методы распределения памяти с использования дискового пространств Метод оверлеев Был использован и реализован в ОС MS DOS. Программист разбивает приложение на несколько частей (оверлеев), умещающихся в доступную память (640 кб). Сначала происходит загрузка 0-го оверлея, затем он выгружается и загружается 1-ый, и так далее. Программа содержится на диске, активный оверлей - в оперативной памяти, а все механизмы обеспечиваются программистом. Механизм требует тщательного проектирования программ. Страничное распределение виртуальной памяти Адресное пространство процесса делится на страницы фиксированных разделов. Физическая память в системе тоже делится на страницы, аналогичные виртуальной памяти. Для каждого процесса ОС создает служебную структуру - таблицу страниц (дает однозначное отображение виртуальных страниц в физические). При активизации очередного процесса в специальный регистр процессора загружается адрес таблицы страниц данного процесса. При каждом обращении к памяти происходит чтение из таблицы страниц информации о виртуальной странице, к которой произошло обращение. Если данная виртуальная страница находится в оперативной памяти, то выполняется преобразование виртуального адреса в физический. Если же нужная виртуальная страница в данный момент выгружена на диск, то происходит так называемое страничное прерывание. Выполняющийся процесс переводится в состояние ожидания, и активизируется другой процесс из очереди готовых. Параллельно программа обработки страничного прерывания находит на диске требуемую виртуальную страницу и пытается загрузить ее в оперативную память. Если в памяти имеется свободная физическая страница, то загрузка выполняется немедленно, если же свободных страниц нет, то решается вопрос, какую страницу следует выгрузить из оперативной памяти. Страницы выбираются согласно информации, заносимой в колонну Флаги. Download 216.51 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling