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