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