Задачи управления памятью. Буферизация страниц. Буферизация страниц в Windows 2000. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Задачи управления памятью. Буферизация страниц. Буферизация страниц в Windows 2000.



Управление резидентным множеством. Фиксированное распределение, локальное замещение.

Управление резидентным множеством. Переменное распределение, глобальное замещение.

Управление резидентным множеством. Переменное распределение, локальное замещение.

Управление резидентным множеством. Стратегия рабочего множества. Управление рабочим множеством в Windows 2000.

Доступ к ОП осуществляется посредством адресации. При одновременном разделении в память загружается сразу несколько процессов, при большом количестве загруженных процессов неизбежны потери времени из-за подкачек недостающих сегментов. При попеременном разделении процесс полностью помещается в ОП, тогда уменьшается пропускная способность системы, то есть способ разделения зависит от разработчика ОС и от объема памяти.

Глобальное управление ОП рассматривает все страницы ОП независимо от их принадлежности какому-либо процессу.

Локальное управление рассматривает все страницы ОП с учетом их принадлежности какому-либо процессу.

Фиксированное управление: процессу на время жизни выделяется определенное число страниц ОП.

Переменное управление: всем процессам в начале их жизни выделяется определенный объем ОП. Впоследствии процессы могут сами изменить максимальные и минимальные размеры этого объема.

Максимальные и минимальные размеры объема ОП, выделенного процессу, называется рабочим множеством процесса.

Рабочее множество определяется для каждого процесса и представляет собой перечень наиболее часто используемых страниц, которые должны постоянно находиться в оперативной памяти и поэтому не подлежат выгрузке.

После того, как выбрана страница, которая должна покинуть оперативную память, анализируется ее признак модификации (из таблицы страниц). Если выталкиваемая страница с момента загрузки была модифицирована, то ее новая версия должна быть переписана на диск. Если нет, то она может быть просто уничтожена, то есть соответствующая физическая страница объявляется свободной.

Наблюдения показали, что даже если Т равно времени выполнения всей работы, то размер рабочего множества часто существенно меньше, чем общее число страниц программы. Таким образом, если ОС может определить рабочие множества исполняющихся задач, то для предотвращения пробуксовки достаточно планировать на выполнение только такое количество задач, чтобы сумма их рабочих множеств не превышала возможности системы.

 

Архитектура компьютерной системы. Подключение устройств к магистрали. Иерархия магистралей.

 

Прерывания в компьютерной системе. Внешние (асинхронные, аппаратные) и внутренние прерывания. IRQ устройств. Векторная обработка прерываний в компьютере. Обработка прерываний в 80386. Обработка прерываний в многопроцессорных системах.

Прерывания – механизм, позволяющий скоординировать параллельное функционирование устройств вычислительной системы и реагировать на особые состояния, возникающие при работе процессора; принудительная передача управления от выполняемой программы к системе, которое происходит при возникновении определенного события

Главные функции механизма прерывания:

1)Распознавание и классификация прерываний;

2)Передача управления обработчику прерывания;

3)Корректное возвращение к прерванной программе.

 

Схема обработки прерывания в зависимости от его типа может быть разной, но характерно одно для всех:

Обработка прерываний:

1. Устройство генерирует прерывание по одной из линий контроллера прерываний;

2. Контроллер прерываний выставляет сигнал прерывания на линию процессора;

3. Процессор завершает выполнение текущей инструкции (команды) и происходит очистка конвейера;

4. Процессор проверяет наличие прерывания; обнаруживает его и посылает уведомляющий сигнал об успешном приеме; сигнал прерывания снимается с линии процессора;

 

5. Сохранение в стеке слова-состояния и адрес следующей инструкции (слово-состояние – это регистр флагов);

6. Запрос процессором у контроллера IRQ (запрос на прерывание); контроллер транслирует IRQ в номер прерывания, используемый как индекс в структуре; это структура называется таблицей диспетчеризации прерываний (IDT); Затем процессор передает управление к соответствующей процедуре.

7. Выполнение операционной системой процедуры начинается с сохранения контекста процесса (потока);

8. Код обработки прерывания;

9. Восстановление контекста процесса (потока);

10. Восстановление слова-состояния программ из стека и содержимого счетчика команд;

- 1 – 6, 10 - пункты выполняются аппаратно;

- все остальные выполняются операционной системой

 

Аппаратные прерывания – их источником является сигнал на входе процессора.

Программные прерывания – в процессоре Pentium они происходят при выполнении инструкции INT с однобайтовым аргументом, в котором указывается вектор прерывания. Программные прерывания обрабатываются после выполнения соответствующей инструкции INT, а возврат происходит в следующую инструкцию.

 

Рис.

Концепция прерывания. Какие дисциплины обслуживания прерываний вам известны?

Дисциплины обслуживания:

- с относительными приоритетами, т.е. обслуживание не прерывается даже при наличии запросов с более высокими приоритетами. После окончания обслуживания данного запроса обслуживается процесс с наивысшим приоритетом. Для организации такой дисциплины необходимо в программе обслуживания данного запроса наложить маски на все остальные сигналы прерывания или просто отключить систему прерываний;

- с абсолютными приоритетами, т.е. всегда обслуживается прерывание с наивысшим приоритетом. Для реализации этого режима необходимо на время обработки прерывания замаскировать все запросы с более низким приоритетом. При этом возможно многоуровневое прерывание, т.е прерывание программ обработки прерываний. Число уровней прерывания в этом режиме изменяется и зависит от приоритета запроса;

- по принципу стека (по дисциплине LCFS, last come – first served), т.е. запросы с более низким приоритетом могут прерывать обработку прерывания с более высоким приоритетом. Для этого необходимо не накладывать маски ни на один сигнал прерывания и не выключать систему прерываний.

 

Менеджер (супервизор) прерываний в операционной системе. Обработка прерываний в операционной системе. Понятие IRQL и DRQL в Windows NT. Назначение DRQL устройствам на однопроцессорной и многопроцессорной конфигурациях.

 

Супервизор – специальный системный программный модуль, в который объединены первые секции подпрограмм обработки прерываний.

Супервизор прерываний, прежде всего, сохраняет в дескрипторе текущей задачи рабочие регистры процессора, определяющие контекст прерываемого вычислительного процесса. Далее он определяет ту подпрограмму, которая должна выполнить действия, связанные с обслуживанием настоящего (текущего) запроса на прерывание. Наконец, перед тем как передать управление этой подпрограмме, супервизор прерываний устанавливает необходимый режим обработки прерывания. После выполнения подпрограммы обработки прерывания управление вновь передается супервизору, на этот раз уже на тот модуль, который занимается диспетчеризацией задач. И уже диспетчер задач, в свою очередь, в соответствии с принятым режимом распределения процессорного времени (между выполняющимися процессами) восстановит контекст той задачи, которой будет решено выделить процессор. Рассмотренная схема проиллюстрирована на рисунке.

 

Как видно из рисунка, здесь нет непосредственного возврата в прерванную программу прямо из самой подпрограммы обработки прерывания. Для прямого непосредственного возврата достаточно адрес возврата сохранить в стеке, что и делает аппаратура процессора. При этом стек легко обеспечивает возможность возврата в случае вложенных прерываний, поскольку он всегда реализует дисциплину LCFS (last come – first served).

 



Поделиться:


Последнее изменение этой страницы: 2017-02-06; просмотров: 224; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.70.131 (0.009 с.)