
- •1. Управление процессами
- •1.1 Операции над процессами
- •1.2 Обработка прерываний
- •2. Иерархическая структура ос.
- •2.1 Понятие параллельных и асинхронных процессов
- •2.2 Алгоритм Деккера.
- •2.3 Аппаратная реализация взаимоисключения
- •2.4 Реализация взаимоисключения с помощью семафоров
- •3. Тупиковые ситуации
- •3.1 Четыре необходимых условия возникновения тупика
- •3.2 Основные направления исследований по проблеме тупиков
- •3.3 Предотвращение тупиков, 3 стратегических принципа.
- •3.5 Обнаружение тупиков
- •3.6 Восстановление после тупиков
- •4. Управление памятью
- •4.1 Организация памяти
- •4.2 Стратегии управления памятью
- •4.3 Связное и несвязное распределение памяти
- •4.4 Мультипрограммирование с фиксированными разделами
- •4.5 Мультипрограммирование с переменными разделами
- •4.6 Стратегии размещения информации в памяти
- •5. Организация виртуальной памяти
- •5.1 Страничная организация памяти
- •5.2 Сегментная организация памяти
- •5.3 Странично-сегментная организация памяти
- •5.4 Стратегии управления виртуальной памятью
- •5.5 Принцип локальности
- •5.6 Стратегии вталкивания страниц
- •6. Управление процессорами
- •6.1 Уровни планирования загрузки процессоров
- •6.2 Цели планирования
- •6.3 Принципы планирования
- •7 Управление внешней памятью
- •8. Производительность
- •8.1 Методы оценки производительности
- •9. Операционная система ms-dos – структура и механизмы
- •9.1 Этапы загрузки ms-dos
- •9.2 Параметры загрузки ms-dos
- •9.3 Структура диска в ms-dos
- •9.4 Использование памяти системой ms-dos
- •9.5 Средства использования памяти
- •10. Операционная система windows 9.X
- •10.1 Сравнение dos и Windows 9.X
- •10.2 Windows 9.X Функции операционной системы
- •10.3 Виртуальная адресация памяти Windows 9.X
- •10.4 Виртуальные машины ос Windows 9.X
- •10.5 Процессы и сообщения в ос Windows 9.X
- •10.6 Планирование приоритетов
- •10.7 Файловая система Windows 9.X
- •11. Операционная система unix
- •11.1 Структура ос unix
- •11.2 Файловая система ос unix
- •11.3 Типы файлов.
- •11.4 Структура файловой системы unix.
- •11.4.1 Базовая файловая система. System V (s5fs).
- •11.4.2 Файловая система ffs.
- •11.5 Архитектура виртуальной файловой системы.
- •11.6 Подсистема управления процессами
- •11.6.1 Типы процессов
- •11.6.2 Атрибуты процесса.
- •11.6.3 Состояния процесса.
- •11.7 Принципы управления памятью
- •11.8 Планирование выполнения процессов
- •11.9 Взаимодействия между процессами
- •12. Загрузка ос windows 2000
- •12.3 Загрузка и инициализация драйверов устройств
- •12.6.1 Раздел [boot loader]
- •12.6.2 Раздел [operating systems]
- •13 Файловая система windows nt (ntfs)
- •13 Новые возможности ntfs 5.0
- •14 Структура ntfs
- •14.1 Главная файловая таблица
- •14.2 Атрибуты файла ntfs
- •14.3 Системные файлы ntfs
- •14.4 Сравнение ntfs с hpfs и fat
- •15 Конфигурирование системы
5.5 Принцип локальности
Большинство стратегий управления памятью базируется на концепции локальности, суть которой заключается в том, что распределение запросов процессов на обращение к памяти имеет, как правило, неравномерный характер с высокой степенью локальной концентрации. Свойство локальности проявляется как во времени, так и в пространстве. Временная локальность, означающая, что к ячейкам памяти, к которым недавно производилось обращение, с большой вероятностью будет обращение в ближайшем будущем, обуславливается наличием следующих факторов: программных циклов, подпрограмм, стеков, переменных, используемых в качестве счетчиков. Пространственная локальность, означающая, что обращения к памяти, концентрируются таким образом, что в случае обращения к следующей ячейке памяти с большой вероятностью можно ожидать обращения к близлежащим ячейкам, обуславливается наличием следующих факторов: организацией данных в виде массивов; последовательным выполнением кода программы; тенденцией программистов размещать описания взаимосвязанных переменных поблизости друг от друга.
На основе заключения свойства локальности сформулирована теория рабочего множества. Рабочее множество – подмножество страниц, к которым процесс активно обращается. Для обеспечения эффективного выполнения программы необходимо, чтобы её рабочее множество находилось в первичной памяти. В противном случае может возникнуть режим чрезмерно интенсивной подкачки страниц. Во время работы процесса его рабочие множества динамически меняются. Иногда происходят резкие изменения. Выделение основной памяти при управлении памятью на основе рабочих множеств можно представить следующим образом:
2
4
1
3
Рабочие множества время
К - количество страниц первичной памяти выделенных данному процессу.
Во время перехода процесса на следующее рабочее множество кривая вначале поднимается выше уровня предыдущего рабочего множества т.к. происходит подкачка новых страниц. Но после того как процесс начнет стабильно обращаться к страницам своего следующего рабочего множества, количество страниц выделенных данному процессу в первичной памяти уменьшается. Проблема связанная с этой стратегией заключается в том, что рабочие множества меняются во времени, причём следующие могут существенно отличаться от предыдущих.
5.6 Стратегии вталкивания страниц
Подкачка страниц по запросу
В пользу такой стратегии, предполагающей загрузку в основную память только тех страниц к которым явно обращается выполняющийся процесс, можно привести ряд аргументов:
Путь, который выберет программа при своём выполнении точно предсказать невозможно, поэтому любая попытка заранее загрузить страницы в память может оказаться неудачной.
Подкачка по запросу гарантирует, что в основную память будут переписываться только те страницы, которые фактически необходимы.
Накладные расходы на то, чтобы определить, какие страницы следует загружать – минимальны.
Подкачка страниц с упреждением
Т.к. в настоящее время стоимость аппаратуры резко снижается, то снижается и относительная ценность машинного времени по сравнению со временем, затрачиваемым человеком. Т.о. актуальным становится путь уменьшения количества времени, в течение которого пользователям приходится ждать получения результатов от ЭВМ. Перспективным в этом смысле является метод подкачки страниц с упреждением (опережением). При этом ОС пытается заблаговременно предсказать, какие страницы потребуются процессу и когда в основной памяти есть свободное место, загружает эти страницы.
Преимущества:
Если в большинстве случаев удается принимать правильные решения о выборе страниц для подкачки, то время выполнения процесса значительно уменьшается.
Если находить правильное решение можно при относительно малых затратах, то выполнение процесса можно значительно ускорить, не замедляя при этом работы других активных процессов.
Т.к. аппаратура вычислительных машин всё более дешевеет, то последствия неоптимальных решений становятся менее серьёзными. Возможность приобретения дополнительной памяти облегчает реализацию упреждающей подкачки.