- •Введение
- •1. Основные понятия в операционных системах
- •1.1. Классификация и функции операционных систем
- •1.2. Ос общего назначения и реального времени
- •1.3. Выполнение команд в вычислительной системе
- •1.4. Прерывания
- •1.5 Архитектуры операционных систем
- •1.6. Управление оперативной памятью вычислительной системы
- •1.7. Общие сведения о процессах и потоках
- •2. Операционная система windows
- •2.1. Версии операционной системы Windows
- •2.2. Архитектура операционной системы windows
- •2.3. Процессы и потоки в Windows
- •2.4. Взаимодействие процессов
- •2.5. Управление потоками в Windows
- •2.6. Файловые системы Windows
- •2.7. Установка и последовательность загрузки Windows
- •Последовательность загрузки Windows xp
- •2.8. Интерпретатор команд и пакетные файлы
- •2.9. Конфигурирование Windows
- •3. Операционная система qnx neutrino
- •3.1. Версии операционной системы qnx Neutrino
- •3.2. Архитектура операционной системы qnx Neutrino
- •3.3. Процессы в qnx6
- •Завершение процесса
- •3.4. Потоки в qnx6
- •Завершение потока
- •3.5. Управление потоками и процессами в qnx6
- •Механизмы ipc
- •Средства синхронизации в qnx
- •3.6. Файловые системы qnx
- •Типы файлов
- •3.7. Инсталляция и последовательность загрузки qnx
- •3.8. Интерпретаторы команд и пакетные файлы в qnx
- •3.9. Конфигурирование qnx
- •4. Виртуальные машины
- •4.1. Общие сведения о виртуальных машинах
- •4.2. Работа с виртуальной машиной VmWare
- •5. Защита от сбоев и несанкционированного доступа
- •5.1. Принципы построения систем безопасности
- •5.2. Безопасность операционной системы windows
- •6. Сетевые возможности операционных систем
- •6.1. Аппратаное обеспечение локальных сетей
- •6.2. Сети Windows
- •6.3. Локальная сеть на основе qnet
- •6.4. Глобальные сети
- •7. Многопроцессорные системы
- •7.1. Архитектуры многопроцессорных операционных систем
- •7.2. Принципы функционирования smp
- •7.3. Принципы функционирования кластеров
- •Список использованной литературы
- •Компилятор
1.2. Ос общего назначения и реального времени
Аппаратными средствами современных вычислительных систем управляют программные комплексы называемые операционными системами. Они обеспечивают взаимодействие компьютера с пользователем и другими компьютерами. Это взаимодействие основано на двух противоречивых критериях: повышение эффективности работы пользователя за счет неэффективного использования аппаратных средств и повышение надежности вычислений за счет ограничения эффективности работы пользователя. Первому критерию соответствуют операционные системы общего назначения (Windows, Linux), второму – операционные системы реального времени (QNX, VxWorks).
Существует множество определений термина операционная система реального времени взаимодополняющих друг друга [1]. Самыми распространёнными из них являются:
1. Операционная система, в которой успешность работы любой программы зависит не только от её логической правильности, но и от времени, за которое получается результат. Если система не может удовлетворить временным ограничениям, должен быть зафиксирован сбой в её работе.
2. В соответствии со стандартом POSIX 1003.1: «Реальное время в операционных системах — это способность операционной системы обеспечить требуемый уровень сервиса в определённый промежуток времени».
3. Операционная система, реагирующая в предсказуемое время на непредсказуемое появление внешних событий.
4. Интерактивные системы постоянной готовности. В категорию ОСРВ интерактивные системы постоянной готовности относят, исходя из маркетинговых соображений, и если интерактивную программу называют «работающей в РВ», то это означает, что запросы от пользователя обрабатываются с задержкой, незаметной для человека.
В табл. 1 приведен сравнительный анализ ОСРВ и систем общего назначения.
Сравнительный анализ ОС РВ и общего назначения Таблица 1
Характеристики |
ОС реального времени |
ОС общего назначения |
Основная задача |
Успеть среагировать на события, происходящие на оборудовании |
Оптимально распределить ресурсы компьютера между пользователями и задачами |
На что ориентирована |
Обработка внешних событий |
Обработка действий пользователя |
Как позиционируется |
Инструмент для создания конкретного аппаратно-программного комплекса реального времени |
Воспринимается пользователем как набор приложений, готовых к использованию |
Кому предназначена |
Квалифицированный разработчик |
Пользователь средней квалификации |
ОС РВ бывают двух типов — системы жесткого и мягкого РВ.
Операционная система, которая может обеспечить требуемое время выполнения задачи РВ даже в худших случаях, называется операционной системой жёсткого РВ.
Операционная система, которая может обеспечить требуемое время выполнения задачи реального времени в среднем, называется операционной системой мягкого РВ.
Системы жёсткого реального времени не допускают задержек реакции системы, так как это может привести: к потере актуальности результатов; к большим финансовым потерям; к авариям и катастрофам.
Если не выполняется обработка критических ситуаций, либо она происходит недостаточно быстро, система жёсткого реального времени прерывает операцию и блокирует её, чтобы не пострадала надёжность и готовность остальной части системы. Примерами систем жёсткого РВ могут быть — системы управления бортового оборудования, системы аварийной защиты, регистраторы аварийных событий.
Системы мягкого реального времени характеризуются возможностью задержки реакции, что может привести к увеличению стоимости результатов и снижению производительности системы в целом. Примером может служить работа компьютерной сети. Если система не успела обработать очередной принятый пакет, это приведет к остановке на передающей стороне и повторной посылке (в зависимости от протокола). Данные при этом не теряются, но производительность сети снижается.
Основное отличие системам жёсткого и мягкого РВ можно охарактеризовать так: система жёсткого реального времени никогда не опоздает с реакцией на событие, система мягкого реального времени — не должна опаздывать с реакцией на событие.
Обозначим операционной системой реального времени такую систему, которая может быть использована для построения систем жёсткого реального времени. Это определение выражает отношение к ОСРВ как к объекту, содержащему необходимые инструменты, но также означает, что эти инструменты ещё необходимо правильно использовать.
Большинство программного обеспечения ориентировано на «мягкое» реальное время. Для подобных систем характерно:
гарантированное время реакции на внешние события (прерывания от оборудования);
жёсткая подсистема планирования процессов (высокоприоритетные задачи не должны вытесняться низкоприоритетными, за некоторыми исключениями);
повышенные требования к времени реакции на внешние события или реактивности (задержка вызова обработчика прерывания не более десятков микросекунд, задержка при переключении задач не более 100 микросекунд).
Классическим примером задачи, где требуется ОСРВ, является управление роботом, берущим деталь с ленты конвейера. Деталь движется, и робот имеет лишь маленький промежуток времени, когда он может её взять. Если он опоздает, то деталь не будет на нужном участке конвейера и, следовательно, работа не будет сделана, несмотря на то, что робот находится в правильном месте. Если он подготовится раньше, то деталь ещё не успеет подъехать, и он заблокирует ей путь.
В своем развитии ОСРВ строились на основе следующих архитектур.
Монолитная архитектура ОС определяется как набор модулей, взаимодействующих между собой внутри ядра системы и предоставляющих прикладному ПО входные интерфейсы для обращений к аппаратуре. Их основной недостаток заключается в плохой предсказуемости ее поведения, вызванной сложным взаимодействием модулей между собой.
Уровневая (слоевая) архитектура (например, MS-DOS). Прикладное ПО имеет возможность получить доступ к аппаратуре не только через ядро системы и ее сервисы, но и напрямую. По сравнению с монолитной такая архитектура обеспечивает значительно большую степень предсказуемости реакций системы, а также позволяет осуществлять быстрый доступ прикладных приложений к аппаратуре. Главным недостатком таких систем является отсутствие многозадачности.
Основной принцип микроядерной архитектуры или «клиент–серверной» заключается в вынесении сервисов ОС в виде серверов на уровень пользователя и выполнении микроядром функций диспетчера сообщений между клиентскими пользовательскими программами и серверами – системными сервисами. Преимущества микродероной архитектуры:
Повышенная надежность, так как каждый сервис является, по сути, самостоятельным приложением и его легче отладить и отследить ошибки.
Улучшенная масштабируемость, т.к. ненужные сервисы могут быть исключены из системы без ущерба для ее работоспособности.
Повышенная отказоустойчивость, так как «зависший» сервис может быть перезапущен без перезагрузки системы.
Ядро ОСРВ обеспечивает функционирование промежуточного абстрактного уровня ОС, который скрывает от прикладного ПО специфику технического устройства процессора и связанного с ним аппаратного обеспечения. Например, ОС QNX Neutrino поддерживает нескольких аппаратных платформ (MIPS, PowerPC, StrongARM/xScale, SH-4, x86).
