
- •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 Конфигурирование системы
6. Управление процессорами
6.1 Уровни планирования загрузки процессоров
Планирование на верхнем уровне. Средства этого уровня определяют, каким заданиям будет разрешено активно конкурировать за захват ресурсов системы. На этом уровне определяется какие задания будут допущены в систему. Вошедшие в систему задания становятся процессами.
Планирование на промежуточном уровне. Средства этого уровня определяют, каким процессам будет разрешено состязаться за захват центрального процессора. Планировщик промежуточного уровня оперативно реагирует на колебания системной нагрузки приостанавливая и вновь активизируя процессы для достижения определённых скоростных характеристик.
Планирование на нижнем уровне. Средства этого уровня определяют, какому из готовых к выполнению процессов будет предоставляться освободившийся УП. Планирование на нижнем уровне производится так называемым диспетчером, который работает с большой частотой и поэтому всегда должен располагаться в основной памяти.
6.2 Цели планирования
Планирование должно быть справедливым. Ни один процесс не должен пострадать от бесконечного откладывания.
Обеспечивать максимальную пропускную способность системы, т.е. обслуживать максимальное количество процессов в единицу времени.
Обеспечивать максимальному числу пользователей, работающих в интерактивном режиме, приемлемые времена ответа.
Быть предсказуемым. Данное задание должно выполняться приблизительно за одно и то же время независимо от нагрузки на систему.
Минимизировать накладные расходы.
Сбалансировать использование ресурсов. Предпочтение должно оказываться тем процессам, которые будут занимать недогруженные ресурсы.
Обеспечивать баланс между временем ответа и коэффицентом использования ресурсов. В одних системах существенно время реакции системы на запрос, а в других эффективное использование ресурсов.
Исключать бесконечное откладывание.
Учитывать приоритеты процессов.
Оказывать предпочтение процессам, занимающим ключевые ресурсы, для того, чтобы процесс быстрее освободил удерживаемый им ключевой ресурс.
Характеризоваться постепенностью снижения работоспособности при больших нагрузках.
Многие из перечисленных целей противоречат друг другу, что делает организацию планирования весьма сложной проблемой.
6.3 Принципы планирования
Планирование с переключением и без переключения
Если после предоставления УП в распоряжение некоторого процесса отобрать УП у этого процесса нельзя, то говорят о дисциплине планирования без переключения. Если же УП можно отобрать, то говорят о дисциплине планирования с переключением. Планирование с переключением необходимо в системах реального времени. В системах без переключения процессы выстраиваются в очередь.
Планирование по сроку завершения
При этом планировании принимаются все меры для того, чтобы выполнение определенных заданий заканчивалось к заранее обусловленному времени. Планирование по сроку завершения сложно организовать по многим причинам:
Пользователь должен заранее точно указать, какие ресурсы потребуются для выполнения его задания.
Система должна выполнять задания к сроку без серьёзного снижения уровня обслуживания других пользователей.
Если приходится иметь дело одновременно с многими заданиями, для которых задаётся срок выполнения, то планирование может существенно усложниться.
Планирование по принципу “первый пришедший обслуживается первым”
УП предоставляется процессам в порядке их прихода в очередь готовности. Это принцип планирования без переключения.
Циклическое планирование осуществляется по принципу “первый пришедший обслуживается первым”, однако, каждый раз процессу предоставляется ограниченное количество времени УП. Циклическое обслуживание эффективно для работы с разделением времени, когда система должна гарантировать приемлемые времена ответа для всех интерактивных пользователей.
Планирование по принципу “кратчайшее задание – первым”
Согласно этому принципу для выполнения выбирается ожидающее задание с минимальным оценочным рабочим временем, остающимся до завершения. Проблема, связанная с реализацией этого принципа, состоит в том, что он требует точно знать, сколько времени будет выполняться задание или процесс, а такой информации обычно не бывает.
Планирование по принципу “наибольшему относительному времени реакции”
Это планирование без переключений, согласно которой приоритет каждого задания является не только функцией времени обслуживания этого задания, но также времени, затраченного заданием на ожидание обслуживания. Динамические приоритеты вычисляются по формуле. Приоритет = (время ожидания + время обслуживания)/(время обслуживания). Предпочтение отдается более коротким заданиям и тем, которые долго ожидают.