- •Проектирование Операционных Систем
- •Определение ос
- •Промышленная эксплуатация
- •Принцип модульности
- •Принцип функциональной избирательности
- •Принцип перемещаемости
- •Принцип защиты
- •Состояние процессов
- •Переходы между состояниями
- •Классификация процессов
- •Характеристики процессов
- •Определение
- •Классификация ресурсов
- •Интерфейс пользователя
- •Командный интерфейс
- •Примеры командных файлов из операционных систем
- •Эльбрус
- •3. Vm, os/2: rexx (пример аналога команды unix Grep)
- •Графический интерфейс
- •Основные понятия gui
- •Обработка прерываний
- •Подсистемы ос
- •Подсистема управления процессами
- •Долгосрочное планирование
- •Краткосрочное планирование
- •Дескрипторы процессов
- •Искусственное снижение уровня мультипрограммирования
- •Подсистема распределения ресурсов
- •Подсистема управления памятью
- •Два уровня распределения оперативной памяти
- •Задачи распределения памяти
- •Выделение
- •Подсистема управления вводом/выводом
- •Требования к подсистеме управления ввода/вывода:
- •Буферизация ввода вывода
- •Пример реализации ввода/вывода в системе unix
- •Пример реализации ввода/вывода в ос vm
- •Организация виртуальной памяти
- •Структуризация адресных пространств
- •Схемы страничной структуризации.
- •Схемы сегментной структуризации.
- •Сегментно-страничная структуризация
- •Требования к вп
- •Задачи управления виртуальной памятью
- •Задача размещения
- •Задача перемещения
- •Задача взаимного исключения
- •Задача «производитель-потребитель»
- •Модификации данной задачи
- •Задача «читатели-писатели»
- •Задача «обедающие философы»
- •Механизмы синхронизации Критерии оценки механизмов синхронизации
- •Архитектура механизмов синхронизации
- •Синхронизация с помощью прерываний
- •Синхронизация при помощи переменной состояния
- •Семафоры
- •Простые семафоры
- •Множественные семафоры
Состояние процессов
Состояния бывают:
-
Порождение - подготавливаются условия для первого исполнения процесса на процессоре.
-
Активное состояние - программа исполняется на процессоре.
-
Ожидание - программа не исполняется на процессоре по причине занятости какого-либо требуемого ресурса.
-
Готовность - программа не исполняется на процессоре, имеются все необходимые ресурсы, кроме процессора.
-
Окончание - нормальное или аварийное завершение исполнения программы, после которого процессор и другие ресурсы ей не предоставляются.
Переходы между состояниями
Классификация процессов
По взаимодействию с ЦП:
-
Реального времени.
-
Интерактивные.
-
Пакетные.
По принадлежности к ЦП:
-
Внутренние.
-
Внешние.
Принадлежность к операционной системе:
-
Системные.
-
Пользовательские.
Генеалогический признак:
-
Порождающие.
-
Порожденные.
-
Не связанные.
По результативности:
-
Различные (процессы создают различные результаты).
-
Эквивалентные (процессы получают одинаковые результаты при одинаковых исходных данных).
-
Тождественные (процессы получают одинаковые результаты при одинаковых исходных данных и совпадающей программе обработки).
Динамический признак:
-
Последовательные.
-
Параллельные.
-
Комбинированные.
По связности:
-
Изолированные.
-
Информационно независимые (совместно используют одни и те же ресурсы).
-
Взаимодействующие (обмениваются результатами деятельности).
-
Конкурирующие (стремятся опередить друг друга в обработке каких-либо данных)
Характеристики процессов
-
Контекст - характеристика среды выполнения процесса (виртуальное адресное пространство, регистры...).
-
Приоритет.
-
Полномочия.
Ресурс
Вычислительную машину можно представить как ограниченный набор функциональных элементов, обладающих возможностью выполнения с их помощью, или над ними действий, связанных с обработкой, хранением или передачей информации.
Такие элементы пользуются спросом (то есть потребляются) другими элементами, а в конечном счете - пользователями. Для определенности будем считать, что потребителями являются процессы, развивающиеся в вычислительной машине.
Все выделяемые по запросу процессов элементы будем отождествлять с ресурсами.
Определение
Ресурсом является средство вычислительной системы, которое может быть выделено процессу на определенный интервал времени.
Классификация ресурсов
-
Реальность существования:
-
Физические ресурсы.
-
Фактические ресурсы (виртуальные).
-
Характер использования:
-
Параллельно используемые.
-
Последовательно используемые.
-
Степень активности:
-
Активные.
-
Пассивные.
-
По времени существования:
-
Постоянные.
-
Временные.
-
По структуре:
-
Простые.
-
Составные.
-
По восполнимости:
-
Восполнимые.
-
Потребляемые.
-
По цене:
-
Дорогие.
-
Дешевые.
Виртуализация
Определение
Виртуализацией называется процесс создания операционной системой эффективных (действующих, фактических) ресурсов, предоставляемых процессором на базе критических физических ресурсов.
Виртуализация возможна только при централизованной схеме управления ресурсами.
Виртуализация – обман пользователя.
Формы виртуализации
-
Процесс обеспечивается несуществующим ресурсом.
-
Процесс обеспечивается ресурсом с ухудшенными, по сравнению с физическим ресурсом, характеристиками.
-
Для нескольких параллельных процессов создается иллюзия того, что они единственные пользователи ресурса.
Цели виртуализации
-
Предоставить процессам ресурсы с наиболее приемлемыми характеристиками.
-
Снять ограничения на объем распределяемых ресурсов.
Виды виртуальных ресурсов
-
ЦП.
-
Оперативная память.
-
Средства отсчета времени.
-
Процессор ввода/вывода.
-
Внешние устройства.
-
Сервисы операционной системы.
-
Пользовательский интерфейс.
-
Информационные ресурсы.
Методы виртуализации ресурсов
-
Совместное использование (разделение физического ресурса на некоторое количество фактических).
-
По времени.
-
В пространстве.
-
Буферизация данных.
-
Симуляция (фактический ресурс не имеет в своей основе физического ресурса).
Виртуальная ЭВМ
Виртуальная ЭВМ (Виртуальная машина) – наиболее законченное и естественное проявление концепции виртуализации ресурсов.
Часто виртуальная машина, предоставляемая пользователю, воспроизводит архитектуру реальной ЭВМ, но ее ресурсы выступают с ухудшенными характеристиками.
Требования пользователя к виртуальным машинам
-
Бесконечная по объему оперативная память с естественным способом доступа к объектам.
-
Один или несколько процессоров, способных выполнять действия в терминах удобных для пользователя языков программирования.
-
Неограниченное количество устройств ввода/вывода, с удобным способом доступа и предоставления информации.
Управляющая программа виртуальной машины
Управляющая программа владеет физическими ресурсами реальной ЭВМ, создает на их основе виртуальные ресурсы, и распределяет их между виртуальными машинами.
Управляющая программа проектируется как восходящая последовательность уровней. Нижним уровнем является физическая вычислительная машина, верхним – виртуальная машина.
Свойства уровней управляющей программы виртуальной машины
-
На каждом уровне ничего не известно о свойствах и существовании более высоких уровней.
-
На каждом уровне ничего не известно о внутреннем строении других уровней.
-
Связь между уровнями осуществляется посредством заранее определенных жестких интерфейсов.
-
Ресурсы, которыми обладает текущий уровень, могут быть либо скрыты, либо предоставлены более высоким уровням.
-
Уровень может обеспечивать абстракцию данных в системе.