- •Конспект по курсу лекций Операционные системы
- •Структура вычислительной системы
- •Аппаратный уровень вычислительной системы
- •Системы программирования
- •Модель организации прерываний с использованием регистра «слово состояние процессора»
- •3.6.1.1 Устройство последовательного доступа
- •Организация управления внешними устройствами
- •Иерархия памяти
- •Аппаратная поддержка ос и систем программирования
- •Некоторые проблемы
- •1. Вложенные обращения к подпрограммам
- •2. Накладные расходы при смене обрабатываемой программы:
- •4. Фрагментация памяти
- •4.2.1 Регистровые окна ( register window )
- •Системный стек
- •Виртуальная память.
- •Базирование адресов.
- •Страничная память.
- •Многомашинные, многопроцессорные ассоциации.
- •Терминальные комплексы
- •Компьютерные сети.
- •Семейство протоколов tcp/ip
- •Ip адрес представляется последовательностью четырех байтов. В адресе кодируется уникальный номер сети, а также номер компьютера (сетевого устройства в сети).
- •Транспортный уровень
- •Уровень прикладных программ
- •Сетевые, распределенные ос
- •Операционные системы Основные понятия
- •Структура ос.
- •Модельная ос
- •Жизненный цикл процесса
- •Типы операционных систем
- •Системы разделения времени
- •Управление внешними устройствами. Архитектура.
- •Программное управление внешними устройствами
- •Буферизация обмена
- •Планирование дисковых обменов
- •Raid системы.
- •Файлы устройств, драйверы
- •Управление оперативной памятью
- •Двухуровневая организация
- •Структурная организация файлов
- •Атрибуты файла
- •Типовые программные интерфейсы работы с файлами
- •Подходы в практической реализации файловой системы Структура «системного» диска
- •Модели реализации файлов Непрерывные файлы
- •Файлы, имеющие организацию связанного списка.
- •Индексные узлы (дескрипторы)
- •Модели организации каталогов
- •Варианты соответствия: имя файла – содержимое файла
- •Координация использования пространства внешней памяти
- •Учет свободных блоков файловой системы Связный список свободных блоков
- •Использование битового массива
- •Организация фс Unix
- •Логическая структура каталогов
- •Внутренняя организация фс Модель версии System V Структура фс
- •Работа с массивами номеров свободных блоков
- •Работа с массивом свободных ид
- •Индексные дескрипторы
- •Адресация блоков файла
- •Файл каталог
- •Установление связей
- •Недостатки фс модели версии System V
- •Модель версии ffs bsd
- •Стратегии размещения
- •Внутренняя организация блоков
- •Структура каталога ffs
- •Понятие «процесс».
- •Процессы в ос Unix Системно-ориентированное определение процесса
- •Базовые средства организации и управления процессами
- •Семейство системных вызовов exec()
- •Использование схемы fork-exec
- •Формирование процессов 0 и 1
- •. Планирование Основные задачи планирования
- •Планирование очереди процессов на начало обработки
- •Кванты постоянной длины.
- •Кванты переменной длины
- •Класс подходов, использующих линейно возрастающий приоритет.
- •Разновидности круговорота.
- •Смешанные алгоритмы планирования
- •Планирование в системах реального времени
- •Общие критерии для сравнения алгоритмов планирования
- •Планирование в ос unix
- •Планирование в Windows nt.
- •Планирование свопинга в ос Unix
- •Взаимодействие процессов: синхронизация, тупики Параллельные процессы
- •Проблемы организации взаимного исключения
- •Тупики (deadlocks)
- •Способы реализации взаимного исключения
- •Семафоры Дейкстры
- •Мониторы
- •Обмен сообщениями
- •Классические задачи синхронизации процессов
- •Задача «читателей и писателей»
- •Задача о «спящем парикмахере»
- •Реализация взаимодействия процессов
- •Сигналы
- •Системный вызов kill()
- •Системный вызов signal()
- •Пример 1.
- •Пример 2.
- •5 Пример. Программа “Будильник”.
- •Пример. Двухпроцессный вариант программы “Будильник”.
- •Пример. Использование канала.
- •Пример. Схема взаимодействия процессов с использованием канала.
- •Пример. Реализация конвейера.
- •Пример. Совместное использование сигналов и каналов – «пинг-понг».
- •Именованные каналы. Особенность именованных каналов в ос Unix.
- •Пример. «Клиент-сервер».
- •Межпроцессное взаимодействие, проводимое по модели «главный-подчинённый».
- •Системный вызов ptrace()
- •Общая схема трассировки процессов
- •Пример. Использование трассировки.
- •Система межпроцессного взаимодействия ipc.
- •Очередь сообщений
- •Системный вызов msgget()
- •Функция msgsnd()
- •Функция msgrcv()
- •Функция msgctl()
- •Пример. Использование очереди сообщений.
- •Пример. Очередь сообщений. Модель «клиент-сервер».
- •Разделяемая память.
- •Пример. Работа с общей памятью в рамках одного процесса.
- •Семафоры
- •Пример. Использование разделяемой памяти и семафоров.
- •1Й процесс:
- •2Й процесс:
- •Механизм сокетов
- •Типы сокетов.
- •Функция создания сокета
- •Запрос на соединение
- •Прослушивание сокета
- •Подтверждение соединения
- •Прием и передача данных
- •Закрытие сокета
- •Пример. Работа с локальными сокетами
- •Пример работы с сокетами в рамках сети.
Модельная ос
Будем считать, что мы рассматриваем некоторую модельную ОС, в которой процесс, после его формирования поступает на буфер ввода процессов буфер ввода процессов -область на внешней памяти, где аккумулируются все процессы, которые еще не начали выполняться. Происходит формирование необходимых процессу структур данных.
Затем процесс поступает в Буфер обрабатываемых процессов - область памяти, где хранятся данные процессов, которые начали обрабатываться в мультипрограммном режиме.
Жизненный цикл процесса
Обобщенный жизненный цикл процесса можно представить в виде некоторого ориентированного графа, , называемого графом состояний, у которого есть узлы состояния и ребра, по которым процесс может переходить из одного состояния в другое, называемого графом состояний..
0.После формирования процесс поступает в очередь на начало обработки ЦП (попадает в БВП).
1.В БВП выбирается наиболее приоритетный процесс для начала обработки ЦП (попадает в БОП).
2.Процесс прекращает обработку ЦП по причине ожидания операции в/в, поступает в очередь завершения операции обмена (БОП).
3.Процесс прекращает обработку ЦП, но в любой момент может быть продолжен (например, истек квант времени ЦП, выделенный процессу). Поступает в очередь процессов, ожидающих продолжения выполнения центральным процессором (БОП).
4.Наиболее приоритетный процесс продолжает выполнение ЦП (БОП).
5.Операция обмена завершена и процесс поступает в очередь ожидания продолжения выполнения ЦП (БОП).
6.Переход из очереди готовых к продолжению процессов в очередь процессов, ожидающих завершения обмена (например, ОС откачала содержимое адресного пространства процесса из ОЗУ во внешнюю память) (БОП).
7.Завершение процесса, освобождение системных ресурсов. Корректное завершение работы процесса, разгрузка информационных буферов, освобождение ресурсов (например, реальный вывод информации на устройство печати).
Типы операционных систем
Пакетная ОС
Пакет программ – совокупность программ, для выполнения каждого из которых требуется некоторое время работы процессора. Этот тип был на первых компьютерах. Пакет программ – стопка перфокарт.
Стратегия переключения с одного процесса на другую, если
а)выполняемый процесс завершен
б)возникло прерывание по обмену в выполняемом программе
в)зафиксировался факт зацикливания.
Системы разделения времени
Квант времени ЦП – некоторый фиксированный ОС промежуток времени работы ЦП
ЦП предоставляется процессу на один квант времени. Меняя размер кванта можно получить различные характеристики ОС. Большой квант времени удобен для отладки.
Если квант времени устремить к нулю, то у пользователя создается впечатление, что он работает один на этой ОС. Это происходит потому, что критерий эффективности с точки зрения человека – через сколько компьютер реагирует на действия человека.
Переключение выполнения процессов происходит только в одном из случаев:
- Исчерпался выделенный квант времени
- Выполнение процесса завершено
- Возникло прерывание
- Был фиксирован факт зацикливания процесса
Системы реального времени
являются специализированными системами в которых все функции планирования ориентированы на обработку некоторых событий за время, не превосходящее некоторого предельного значение
Критерий качества – обработка любого события за некоторый гарантированный промежуток времени (бортовой компьютер, автопилот…)
Реально (за исключением систем реального времени, которые могут быть разные по областям применения, важности серьезности и т.д.) используются комбинации пакетных и систем разделения времени друг в друге и с различными стратегиями
