
- •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 Конфигурирование системы
ОПЕРАЦИОННЫЕ СИСТЕМЫ
(КУРС ЛЕКЦИЙ)
Королев Е.Н.
1. Управление процессами
Под процессом будем понимать программу в стадии выполнения. В период своего существования процесс проходит через ряд дискретных состояний. Смену состояний процесса могут вызывать различные события. Процесс находится в состоянии выполнения, если в данный момент ему выделен центральный процессор. Процесс находится в состоянии готовности, если он мог бы сразу использовать ЦП, предоставленный в его распоряжение. Процесс находится в состоянии блокировки, если он ожидает появления некоторого события (например, завершения операции ввода/вывода), чтобы получить возможность продолжать выполнение. В однопроцессорной машине в каждый момент времени может выполняться только один процесс, однако несколько процессов могут находиться в состоянии готовности, а несколько в состоянии блокировки. Поэтому мы можем создать списки готовых к выполнению процессов и заблокированных процессов. Список готовых процессов упорядочен по приоритету, так что следующим процессом, получающим в свое распоряжение ЦП, будет первый процесс этого списка. Список заблокированных процессов неупорядочен. Разблокировка процессов осуществляется в том порядке, в котором происходят ожидаемые ими события.
Когда в систему поступает некоторое задание, она создает соответствующий процесс, который устанавливается в конец списка готовых процессов. Когда процесс оказывается первым в списке готовых и когда освобождается ЦП происходит смена состояний процесса – он переходит из состояния готовности в состояние выполнения.
Запуск Блокирован
Истечение кванта
Пробуждение
Чтобы предотвратить монопольный захват ресурсов машины каким-то одним процессом, операционная система устанавливает в специальном аппаратном таймере прерываний временной интервал (квант), в течение которого данному процессу разрешается занимать ЦП.
Блок управления процессом – является представителем процесса в операционной системе. Это структура данных, содержащая определенную важную информацию о процессе:
Текущее состояние процесса;
Уникальный идентификатор процесса;
Приоритет процесса;
Указатели памяти процесса;
Указатели выделенных процессу ресурсов;
Область сохранения ресурсов;
Когда операционная система переключает ЦП с процесса на процесс, она использует области сохранения регистров, чтобы запомнить информацию, необходимую для рестарта каждого процесса.
1.1 Операции над процессами
Системы, управляющие процессами, должны иметь возможность выполнять определенные операции над процессами:
Создание процесса;
Уничтожение процесса;
Возобновление процесса;
Изменение приоритета процесса;
Блокирование процесса;
Пробуждение процесса;
Запуск процесса.
Создание процесса состоит из многих операций, включая:
Присвоение имени процессу;
Включение этого имени в список имен, известных системе;
Определение начального приоритета процесса;
Формирование блока управления процессом;
Выделение процессу начальных ресурсов.
Процесс может породить новый процесс (дочерний). При таком подходе создается иерархическая структура процессов. Уничтожение процесса означает его удаление из системы. Ресурсы, выделенные этому процессу, возвращаются системе, имя процесса в любых системных списках стирается, и блок управления процессом освобождается. Уничтожение процесса усложняется, ели это родительский процесс. В некоторых системах дочерний процесс уничтожается автоматически, когда уничтожается его родительский процесс, в других система порожденные процессы начинают существовать независимо от своих родительских процессов, так что уничтожение родительского процесса не оказывает влияния на его потомков.