
- •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. Управление памятью
Организация и управление основной памятью вычислительной машины – один из самых важных факторов, определяющих построение операционных систем.
4.1 Организация памяти
Организация памяти требует ответа на следующие вопросы:
Будем ли мы помещать в основную память только одну программу пользователя или несколько программ одновременно?
Если в основной памяти размещается несколько пользовательских программ сразу, будем ли мы предоставлять каждой из них одинаковое количество ячеек или разобьем основную память на части (разделы) различных размеров?
Будем ли мы разбивать основную память жестким образом, когда разделы определяются на достаточно длительные периоды времени, либо предусмотрим более динамическое разбиение, позволяющее вычислительной машине быстро реагировать на изменение потребностей программ пользователя в ресурсах?
Будем ли мы требовать такого построения программ пользователя, чтобы они выполнялись только в конкретном разделе, либо предусмотрим возможность выполнения программ с занятием любых подходящих для них разделов?
Будем ли мы требовать, чтобы каждая программа помещалась в одном напрерывном, сплошном блоке ячеек памяти, либо допустим возможность разбиения программ на отдельные блоки, размещаемые в любых свободных участках (дырах) основной памяти.?
Существуют ОС, построенные с ориентацией на каждую из указанных схем.
Независимо от того, какую схему организации памяти мы примем, необходимо решить, какие стратегии следует применять для достижения оптимальных характеристик. Для этого надо решить следующие вопросы:
Когда мы должны помещать новую программу в память? Будем ли мы помещать ее когда система специально попросит об этом, либо будем пытаться предупреждать запросы системы.
В какое место основной памяти мы будем помещать очередную программу дял выполнения? Будем ли размещать программы как можно более плотно с занятием имеющихся свободных участков, чтобы свести к минимуму потери памяти, либо будем стремиться к возможно более быстрому размещению программ, чтобы свести к минимуму потери машинного времени.
Каким образом помещать новую программу в основную память, если она занята целиком? Замещать программы которые находятся в памяти дольше других, или программы, используемые наименее часто, или те, которые дольше всего не использовались.
Существуют системы, ориентированные на использование каждой из этих стратегий управления памятью.
4.2 Стратегии управления памятью
Для того, чтобы обеспечить интенсивное использование дорогостоящих ресурсов ими нужно эффективно управлять. Стратегии управления памятью направлены на то, чтобы обеспечить наилучшее возможное использование ресурсов основной памяти. Стратегии управления памятью делятся на следующие категории:
Стратегия выборки
а) стратегия выборки по запросу (по требованию)
б) стратегии упреждающей выборки
стратегии размещения
стратегии замещения
Стратегии выборки ставят своей целью определять, когда следует “втолкнуть” очередной блок программы или данных в основную память. Предполагалось, что наиболее целесообразно осуществлять выборку по запросу: согласно этому принципу, очередной блок загружается в основную память, когда его запрашивает работающая программа. Считалось, что, поскольку в общем случае мы не можем предсказывать, куда будет передаваться управление по программе, то дополнительные затраты, связанные с прогнозированием дальнейшего хода программы и упреждающей выборкой, будут значительно превышать ожидаемые выгоды. Сейчас же многие специалисты считают, что упреждающая выборка вполне может обеспечить повышение быстродействия системы.
Стратегии размещения ставят своей целью определить, в какое место основной памяти следует помещать поступающую программу. Основные принципы: занятие “первого подходящего”, “наиболее подходящего”, “наименее подходящего”.
Стратегии замещения ставят своей целью определить, какой блок программы или данных следует “вытолкнуть” из основной памяти, чтобы освободить место для записи поступающих программ или данных.