
- •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.3 Связное и несвязное распределение памяти
Самые первые вычислительные машины требовали связного распределения памяти – каждая программа должна была занимать один сплошной блок ячеек памяти. После появления мультипрограммирования с разделами переменного размера стало ясно, что гораздо более эффективным может быть несвязное распределение памяти. При несвязном распределении памяти программа разбивается на ряд блоков, которые могут размещаться в основной памяти в участках, не обязательно соседствующих друг с другом. Операционной системе гораздо сложнее обеспечить несвязное распределение памяти, однако подобный подход обладает важным преимуществом: если основная память имеет ряд небольших свободных участков вместо одного большого, то, как правило, операционная система всё же может загрузить и выполнить программу, которой в противном случае пришлось бы ждать.
Организацию памяти в типичном случае связного распределения для одного пользователя можно представить так:
-
Операционная система
Программа пользователя
Свободно
Размер программ в обычном случае ограничивается ёмкостью имеющейся основной памяти, однако, существует возможность выполнения программ, превышающих по размеру основную память, благодаря использованию так называемых оверлейных сегментов. Если какой-то конкретный модуль программы не работает в течении периода выполнения программы, то из внешней памяти можно выбрать другой модуль и записать его в основную память на место уже не нужного модуля. Оверлейный режим предоставляет программисту возможность как бы расширить ограниченные рамки основной памяти.
Если программа пользователя начинает работать неправильно, то это может привести к порче ОС. Защиту ОС однопрограммной вычислительной машины можно реализовать с помощью одного граничного регистра, встроенного в УП. Граничный регистр содержит самый старший адрес команды относящейся к ОС. Если пользователь попытается войти в ОС, то его команда будет перехвачена. Для обращения за определёнными услугами к ОС в распоряжение пользователя предоставляются специальные команды.
4.4 Мультипрограммирование с фиксированными разделами
Потери значительных ресурсов в однопрограммных машинах послужили причиной реализации мультипрограммных систем, в которых несколько пользователей одновременно “состязаются” за обладание машинными ресурсами, что обеспечивает возможность одновременно выполнять операции ввода-вывода и вычисления на УП. Благодаря этому существенно повышается коэффициент использования УП и производительность системы. В первых мультипрограммных системах основная память разбивалась на ряд разделов фиксированного размера. В каждом разделе могло размещаться одно задание. УП переключался с задание на задание, создавая иллюзию одновременного их выполнения. Однако если задание было готово для выполнения, а его раздел в это время был занят, то заданию приходилось ждать, несмотря на то, что другие разделы были свободны. Т.е. трансляция заданий производилась в абсолютных адресах с рачётом на выполнение только в конкретном разделе. Это приводило к неэффективному использованию ресурсов памяти, однако позволяло относительно просто реализовать ОС. Существует также подход при котором имеется возможность трансляции перемещаемых модулей, которые могут работать в любом свободном разделе, достаточно большом для их размещения. В мультипрограммных системах со связным распределением памяти защита чаще всего реализуется при помощи нескольких граничных регистров. Два регистра позволяют указывать нижнюю и верхнюю границы раздела пользователя.