
- •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 Конфигурирование системы
4.5 Мультипрограммирование с переменными разделами
Анализируя проблемы, присущие мультипрограммированию с фиксированными разделами, разработчики ОС пришли к выводу, что лучше позволить заданиям занимать столько места, сколько им требуется. В этом случае не происходит никакого “перерасхода” памяти – раздел каждого задания в точности соответствует размеру этого задания. Однако любая схема организации памяти сопряжена с определенными потерями. В этом случае потери становятся очевидными. Когда задания начинают завершаться, а в основной памяти остаются свободные участки (“дыры”). Т.о. без потери памяти не обойтись.
Объединение соседних свободных участков памяти
После того как в мультипрограммной системе с переменными разделами некоторое задание завершается, можно проверить, не соседствует ли освобождённый участок памяти с другими свободными участками (“дырами”). Если соседствует, то в список свободной памяти можно занести либо новый свободный участок, либо единый свободный участок, полученный объединением новой “дыры” с соседними. Благодаря объединению дыр можно формировать непрерывные блоки памяти максимально возможного размера.
Уплотнение памяти
Часто, даже после объединения соседних свободных участков бывает так, что остаются разбросанными отдельные “дыры”, составляющие в целом значительный объём памяти. Иногда очередное задание требует определённого объёма основной памяти, но не оказывается ни одного свободного, достаточно большого участка, для размещения этого задания, несмотря на то, что сумма всех свободных участков достаточно велика. Эта проблема решается при помощи метода, называемого уплотнением памяти. И заключающегося в перемещении всех занятых участков к одному или другому краю основной памяти. Благодаря этому мы получаем единый свободный участок памяти. Уплотнение памяти имеет свои недостатки:
отнимает ресурсы системы
во время уплотнения система должна прекращать любые другие работы и это может оказаться неприемлемым для систем реального времени
информация о рамещении программы должна сохраняться в легкодоступной форме.
4.6 Стратегии размещения информации в памяти
Стратегия наиболее подходящего. Поступающее задание помещается в тот свободный участок основной памяти, в котором ему наиболее “тесно”, так, что остаётся минимально возможное неиспользуемое пространство.
Стратегия первого подходящего. Поступающее задание помещается в первый встретившийся свободный участок основной памяти достаточного размера.
Стратегия наименее подходящего. Необходимо занимать заданию максимально возможный свободный участок, т.к. остающийся свободный участок зачастую оказывается также большим и в нём можно разместить относительно большую новую программу.
Мультипрограммирование со свопингом
Каждая из рассматриваемых выше систем предполагает, что программы пользователя остаются в основной памяти до момента завершения. Существует схема, называемая свопингом, которая не накладывает подобного требования. В некоторых системах со свопингом сразу всю основную память в каждый момент времени занимает одно задание. Это задание выполняется до тех пор, пока оно может продолжаться, а затем освобождает как память, так и УП уже следущего задания.