
- •Лекция 1. Операционные системы.
- •Экскурс в историю.
- •Основы архитектуры вычислительных систем.
- •Лекция 2. Системы программирования.
- •Выводы:
- •Основы компьютерной архитектуры.
- •Центральный процессор
- •Модель организации прерываний с использованием «вектора прерываний»
- •Лекция 3.Внешние запоминающие устройства.
- •Аппаратная поддержка ос и систем программирования.
- •Регистровые окна
- •Системный стек
- •Виртуальная память
- •Модельный пример организации страничной виртуальной памяти. Лекция 4.Операционная система. Общие характеристики и свойства.
- •Структура ос.
- •Процессы в ос unix.
- •1. Системный вызов fork()
- •2. Системный вызов exec()
- •Лекция 5. Взаимодействие процессов: синхронизация, тупики
- •Средства синхронизации
- •Классические задачи синхронизации процессов
- •Лекция 6 .Основы взаимодействия сети.
- •Многомашинные и многопроцессорные ассоциации.
- •Компьютерные сети
- •Лекция 7. Файловые системы
- •Практическая реализация фс.
- •Лекция 8. Ос unix. Файловая система.
- •Модель версии system V
- •Альтернатива для system V – ffs bsd.
- •Управление внешними устройствами.
- •Лекция 9. Программное управление внешними устройствами
- •Эффективность (когда есть все уровни кэш, но нет интенсивности потоков)
- •Одно из основных качеств программного решения – надежность (24 часа 7 дней в неделю)
- •Oc Unix: Работа с внешними устройствами
- •Лекция 10. Система межпроцессного взаимодействия ipc
- •«Очередь сообщений»
- •Ipc: разделяемая память.
- •1Й процесс:
- •2Й процесс:
- •Close – полная аналогия с работой с файлами, но аргумент – дескриптор сокета.
- •Лекция 11. Планирование
- •Алгоритмы, основанные на приоритетах
- •Планирование в ос unix
- •Планирование в Windows nt.
- •Планирование свопинга в ос Unix
- •Лекция 12. Управление оперативной памятью
- •1.Одиночное непрерывное распределение.
- •2.Распределение разделами.
- •3.Распределение перемещаемыми разделами.
- •4.Страничное распределение.
- •А лгоритм nru
- •Алгоритм fifo
- •Алгоритм «Часы»
- •А лгоритм lru
3.Распределение перемещаемыми разделами.
Необходимые аппаратные средства:
1.Регистры границ + регистр базы
2.Ключи + регистр базы
Алгоритмы: Аналогично предыдущему
Достоинства:
1.Ликвидация фрагментации
Недостатки:
1.Ограничение размером физической памяти
2.Затраты на перекомпоновку
4.Страничное распределение.
Основные концепции:
Таблица страниц – отображение номеров виртуальных страниц на номера физических.
Проблемы:
1. Размер таблицы страниц (количество 4кб страниц при 32-х разрядной адресации – 1000000. Любой процесс имеет собственную таблицу страниц).
2. Скорость отображения.
Необходимые аппаратные средства:
1.Полностью аппаратная таблица страниц (стоимость, полная перегрузка при смене контекстов, скорость преобразования).
2.Регистр начала таблицы страниц в памяти (простота, управление смены контекстов, медленное преобразование).
3.Гибридные решения.
Алгоритмы и организация данных:
Размеры таблицы страниц – иерархическая организация таблицы страниц.
Модельная структура записи таблицы страниц
α – присутствие/отсутствие
β – защита (чтение, чтение/запись, выполнение)
γ – изменения
δ – обращение (чтение, запись, выполнение)
ε – блокировка кэширование
TBL (Translation Lookaside Buffer) – буфер быстрого преобразования адресов.
Суть: для разрешения коммуникаций, связанных со скоростью и т.д. необходимо гибридное решение. Имеется аппаратный буфер (т.н. буфер ассоциативной памяти) относительно небольшого размера, кот используется в качестве КЭШа таблицы страниц. Структура этого буфера:
-
N виртуальных страниц
-
N соответствующих физических страниц
Если попадаем – автоматическая замена поля физической страницы виртуальной, иначе – прерывание, по которому управление передается ОС и она уже сама обновляется.
Проблема: стратегии по преобразованию строчки в TLB => организация алгоритмов выбора.
Другая проблема – объем таблицы страниц.
Иерархия организации таблицы страниц.
-
Многоуровневая:
-
индексация по внешней таблице страниц
-
смещение по этой странице
-
h
ash-таблицы, которые
•Обычно используются для адресации
•Используется больше 32 разрядов.
3)
инвертированные таблицы страниц
Проблема – поиск по таблице
Использование хэширования
Замещение страниц
Проблема загрузки «новой» страницы в память. Необходимо выбрать страницу для удаления из памяти (с учетом ее модификации и пр.)
Существуют разные алгоритмы:
-
А лгоритм nru
(Not Recently Used – не использовавшийся в последнее время), который использует биты статуса страницы в записях таблицы страниц
1.При запуске процесса M и R для всех страниц процесса обнуляются
2.По таймеру происходит обнуление всех битов R
3.При возникновении страничного прерывания ОС делит все страниц на классы:
•Класс 0:
•Класс 1:
•Класс 2:
•Класс 3:
4.Случайная выборка страницы для удаления в непустом классе с минимальным номером
Стратегия: лучше выгрузить измененную страницу, к которой не было обращений как минимум в течение 1 «тика» таймера, чем часто используемую страницу