Требования к современной операционной системе. Тема 2б

1.

Направления подготовки: «Информатика и вычислительная техника» и
«Информационные системы и технологии»
Профили образовательных программ:
«Системотехника и автоматизация проектирования в строительстве»
«Системотехника и информационные технологии управления в
строительстве»
ОПЕРАЦИОННЫЕ СИСТЕМЫ
Тема 2б. Требования к современной
операционной системе
Москва 2022
Кафедра «Информационных систем, технологий и
автоматизации в строительстве» (ИСТАС)
Составитель: доцент, доц., к.т.н. Иванов Н.А.

2.

Требования к современным ОС
Требования к
современным ОС
Требования
функциональной полноты
Эксплуатационные
требования

3.

Требования функциональной полноты
Главным
требованием,
предъявляемым
к
операционной системе, является выполнение ею
основных функций эффективного управления
ресурсами и обеспечение удобного интерфейса
для пользователя и прикладных программ.
Современная
ОС,
как
правило,
должна
поддерживать мультипрограммную обработку,
виртуальную память, свопинг, многооконный
графический интерфейс пользователя, а также
выполнять многие другие необходимые функции и
услуги.

4.

Функциональные компоненты операционной системы
Для этого в состав ОС должны входить функциональные компоненты:
Функциональные компоненты операционной системы
Подсистемы управления
ресурсами
Общие подсистемы
Управление
памятью
Управление
процессами
Управление
файлами и
внешними
устройствами
Подсистема защиты
данных и
администрирования
Интерфейс
прикладного
программирования
Пользовательский
интерфейс

5.

Эксплуатационные требования к ОС
расширяемость
Надежность и отказоустойчивость
переносимость
безопасность
совместимость
производительность

6.

Расширяемость
В то время как аппаратная часть компьютера устаревает за несколько лет,
полезная жизнь операционных систем может измеряться десятилетиями.
Примером может служить ОС UNIX.
Операционные системы всегда изменяются со временем эволюционно, и эти
изменения более значимы, чем изменения аппаратных средств.
Изменения ОС обычно заключаются в приобретении ею новых свойств, например
поддержке новых типов внешних устройств или новых сетевых технологий.
Если код ОС написан таким образом, что дополнения и изменения могут вноситься
без нарушения целостности системы, то такую ОС называют расширяемой.
Расширяемость достигается за счет модульной структуры ОС, при которой
программы строятся из набора отдельных модулей, взаимодействующих только
через функциональный интерфейс.

7.

Переносимость
Если код операционной системы может
быть сравнительно легко перенесен с
процессора одного типа на процессор
другого типа и с аппаратной платформы
одного типа на аппаратную платформу
другого типа, то такую операционную
систему
называют переносимой или мобильной.
Переносимые ОС имеют несколько
вариантов реализации для разных
платформ, такое свойство ОС называют
также многоплатформенностью.

8.

Правила, обеспечивающие успешную переносимость ОС
1. Большая часть кода операционной
системы должна быть написана на языке,
трансляторы которого имеются на всех
компьютерах, куда предполагается
перенести систему.
Такими языками являются стандартные
языки высокого уровня.
Наибольшее распространение как язык для
написания операционных систем получил
язык Си;

9.

Правила, обеспечивающие успешную переносимость ОС
1. Большая часть кода операционной
системы должна быть написана на
языке, трансляторы которого имеются
на всех компьютерах, куда
предполагается перенести систему.
Такими языками являются стандартные
языки высокого уровня.
Наибольшее распространение как язык
для написания операционных систем
получил язык Си;
2. Объем машинно-зависимых частей
кода, которые непосредственно
взаимодействуют с аппаратными
средствами, должен быть по
возможности минимизирован;
3. Аппаратно- зависимый код должен
быть надежно изолирован в
нескольких модулях, а не быть
распределен по всей операционной
системе.

10.

Совместимость
Иногда по тем или
иным причинам
пользователю
приходится переходить
с одной ОС на другую…
В этой связи для пользователя очень привлекательна
возможность запуска в новой операционной системе привычного приложения.
Если ОС имеет средства для выполнения прикладных программ, написанных для
других операционных систем, то про неё говорят, что она обладает совместимостью
с этими ОС.
Понятие совместимости включает также поддержку пользовательских интерфейсов
других ОС.
Следует различать совместимость на уровне двоичных кодов и совместимость на
уровне исходных текстов.

11.

Совместимость
Совместимость на уровне двоичных кодов достигается в том случае, когда
можно взять исполняемую программу и запустить его на исполнение в среде
другой ОС и получить один и тот же результат.
Приложение
ОС1
ОС2
Приложение
Результат работы
приложения
Совместимость на уровне двоичных кодов крайне важна для конечных
пользователей, так как только в этом случае они могут использовать один и тот же
коммерческий продукт, поставляемый в виде двоичного исполняемого кода, в
различных ОС и на разных машинах.

12.

Совместимость
Совместимость на уровне исходных текстов требует наличия соответствующего
компилятора в составе программного обеспечения компьютера, на котором
предполагается выполнять данное приложение, а так же совместимости на уровне
библиотек и системных вызовов.
При этом необходима перекомпиляция имеющихся исходных текстов в новый
исполняемый модуль.
Системные
библиотеки
Приложение А
для ОС1
ОС1
ОС2
Исходный текст
приложения А для ОС1
Система
программирования
(компилятор)
Приложение А
для ОС2
Исходный текст
приложения А для ОС2
Совместимость на уровне исходных текстов важна в основном для
разработчиков приложений, в распоряжении которых эти исходные тексты всегда
имеются.

13.

Совместимость
Обладает ли новая ОС двоичной совместимостью или совместимостью исходных
текстов с существующими ОС, зависит от многих факторов.
Самый главный из них – архитектура процессора, на котором работает новая ОС.
процессор использует тот же набор
команд и тот же диапазон адресов
процессоры имеют совершенно
различную архитектуру
Необходимые для обеспечения
совместимости условия:
1. вызовы функций API, которые
содержит приложение, должны
поддерживаться данной ОС;
2. внутренняя структура используемого
файла приложения должна
соответствовать структуре
используемых файлов данной ОС.
Необходима эмуляция

14.

Совместимость. Эмуляция.
Эмулятор последовательно
1. выбирает каждую двоичную инструкцию (команду) одного процессора,
2. программным способом дешифрирует её, чтобы определить, какие
действия она задает,
3. выполняет программу, написанную в инструкциях другого процессора,
эквивалентную действию эмулируемой команды.
Т. к. у этого процессора нет в точности таких же
регистров, флагов внутреннего арифметического
устройства, как в первом, он должен также
эмулировать все эти элементы с использованием
своих регистров или памяти.
Состояние эмулируемых регистров и флагов после
выполнения каждой команды должно быть
абсолютно таким же, как и реальном процессоре.
Эмуляция приводит к более медленному выполнению программы, так как
одна команда первого процессора выполняется значительно быстрее, чем
эмулирующая его последовательность команд другого процессора.

15.

Надежность и отказоустойчивость
Система должна быть защищена как от внутренних, так и от внешних
ошибок, сбоев и отказов.
Ее действия должны быть всегда предсказуемыми, а
приложения не должны иметь возможности наносить вред ОС.
Надежность и отказоустойчивость ОС прежде всего определяются
архитектурными решениями, положенными в ее основу, а также
качеством ее реализации (отлаженностью кода).
Кроме того, важно, включает ли ОС программную поддержку аппаратных
средств обеспечения отказоустойчивости, таких, например, как
отказоустойчивые дисковые массивы или источники бесперебойного
питания.

16.

Безопасность
Современная ОС должна защищать данные и другие ресурсы
вычислительной системы от несанкционированного доступа.
Чтобы ОС обладала свойством безопасности, она должна как минимум иметь в
своем составе средства:
- аутентификации — определения легальности пользователей,
- авторизации — предоставления легальным пользователям
дифференцированных прав доступа к ресурсам,
- аудита — фиксации всех «подозрительных» для безопасности системы
событий.
Свойство безопасности особенно важно для сетевых ОС. В таких ОС к задаче контроля
доступа добавляется задача защиты данных, передаваемых по сети.

17.

Производительность
Операционная система должна обладать настолько
хорошим быстродействием и временем реакции,
насколько это позволяет аппаратная платформа.
На производительность ОС влияет много факторов,
среди которых основными являются:
архитектура ОС, многообразие функций,
качество программирования кода,
возможность исполнения ОС на высокопроизводительной
(многопроцессорной) платформе.
English     Русский Правила