Автор работы: Пользователь скрыл имя, 09 Мая 2012 в 21:37, курсовая работа
Контрольная работа по дисциплине "Информатика"
таблица сформирована на основании экспериментальных данных,
полученных на базе вычислительных комплексов, построенных на основе
процессоров Intel 80486DX.
Время реакции
Только ОСРВ, но даже они могут быть бессильны –
Менее 10 мкс это граница выбора между схемным и программным
решениями
10 – 100 мкс Любые операционные системы реального времени
ОСРВ, RTAI, RT LINUX, расширения
100 мкс – 1 мс
реального времени для Windows NT, CE
Можно пытаться делать что-то с Linux и
1 мс Windows NT, но не для систем, где опоздания
реакции могут привести к
Таким образом, видно, что временные рамки ОСРВ достаточно
жесткие. Среди современных операционных систем есть класс продуктов,
разработанных специально для построения систем жесткого реального
времени – VxWorks, OS9, QNX, LynxOS, OSE и другие. Эти системы
содержат необходимый набор инструментов и в некоторых случаях
являются единственным выбором. Однако достаточно часто требования к
реальному времени (полная предсказуемость времени реакции) допускают
компромиссы, например, необходимо добиться только нужной средней
производительности.
Иногда
достаточно жестко
допуская при этом задержки реакций на остальные. В подобных случаях
возможности выбора расширяются и желаемых результатов можно
достичь, используя такие широко распространенные операционные
системы как LINUX, Windows NT, Windows CE, дополняя их
расширениями
реального времени (RTAI, RT LINUX, RTX).
11
ГЛАВА 2. ОСНОВНЫЕ
ОПРЕДЕЛЕНИЯ И ПОЛОЖЕНИЯ
Программа – это описание на некотором формализованном
языке алгоритма,
решающего поставленную задачу.
Процесс – это динамическая сущность программы, ее код в
процессе своего
выполнения.
Процесс имеет:
−
собственные области памяти
− собственный стек;
− собственное отображение виртуальной памяти на физическую (в
системах с виртуальной памятью);
−
собственное состояние.
Стек – это область памяти, в которой размещаются локальные
переменные, аргументы
и возвращаемые значения функций.
Виртуальная память – это память, в адресном пространстве
которой работает
процесс.
Виртуальная память:
1. Позволяет увеличить объем памяти, доступной процессам за счет
дисковой памяти;
2. Обеспечивает выделение каждому из процессов виртуально
непрерывного блока памяти, начинающегося с одного и того же
адреса;
3. Обеспечивает
изоляцию одного процесса от
другого.
Межпроцессное взаимодействие – это тот или иной способ
передачи информации
из одного процесса в другой.
Наиболее
распространенными формами
1. Разделяемая
память – два или более
одному и тому же блоку памяти.
2. Семафоры – два или более процесса имеют доступ к одной
переменной, принимающей значение 0 или 1.
3. Сигналы – это сообщения, доставляемые посредством операционной
системы процессу.
4. Почтовые
ящики – это очередь сообщений,
почтовый
ящик процессами.
Событие – это оповещение процесса со стороны операционной
системы о той
или иной форме межпроцессного взаимодействия.
По типу взаимодействия различают два вида процессов:
1. Сотрудничающие процессы:
− Процессы, разделяющие только коммуникационный канал, по
которому один передает данные, а другой их получает;
− Процессы, осуществляющие взаимную синхронизацию.
2. Конкурирующие процессы:
− Процессы, использующие совместно разделяемый ресурс;
− Процессы, использующие критические секции;
− Процессы, использующие взаимные исключения.
Критическая
секция – это участок
запрещается переключение
задач для обеспечения
использования
ресурсов текущим процессом.
Взаимное
исключение – это способ
работающих процессов, использующих разделяемый постоянный
критичный ресурс.
Задача
– это одна из ветвей
Задача:
− разделяет с процессом область памяти под код и данные;
− имеет собственный стек;
−
разделяет с процессом
физическую (в системах с виртуальной памятью);
− собственное состояние.
Всякий процесс содержит одну или несколько задач. ОСРВ
позволяет задаче порождать новые задачи. Задачи по своей манере
действовать можно
разделить на три категории (рисунок 1).
Рисунок 1.
Ресурс – это объект, необходимый для работы процессу или
задаче.
Ресурсы
можно разделить на несколько
видов (рисунок 2).
Рисунок 2.
Разделяемые
ресурсы можно разделить на
два вида (рисунок 3):
15
− не критичные (могут одновременно использоваться несколькими
процессами);
− критичные (могут использоваться
только одним процессом).
Приоритет
– это число, приписанное
каждому процессу
и задаче.
Чем выше это число, тем важнее этот процесс или задача и тем
больше процессорного времени он или она получит.
В
зависимости от архитектуры
подходы к написанию программ в ОСРВ можно разделить на три группы
(рисунок 4).
Рисунок 4.
17
ГЛАВА 3. СТАНДАРТЫ
ОСРВ
Большие различия в спецификациях ОСРВ выдвигают на передний
план проблему стандартизации в области систем реального времени.
Основной целью введения стандартов является облегчение переноса
программного обеспечения из одной ОСРВ в другую.
Рассмотрим
кратко несколько стандартов.
Стандарт POSIX
Наиболее
ранним и распространенным
стандарт POSIX. Он был создан как стандартный интерфейс сервисов
операционных систем. Первоначальный вариант стандарта POSIX
появился в 1990 г. и был предназначен для UNIX-систем, первые версии
которых появились в 70-х годах прошлого века. Спецификации POSIX
определяют стандартный механизм взаимодействия прикладной
программы и операционной системы и в настоящее время включают набор
более чем из 30 стандартов. Для ОСРВ наиболее важны семь из них
(1003.1a, 1003.1b, 1003.1c, 1003.1d, 1003.1j, 1003.21, 1003.2h), но широкую
поддержку в коммерческих ОСРВ получили только три первых.
Спецификации POSIX задают стандартный механизм
взаимодействия приложения и ОСРВ. Соответствие стандарту POSIX для
ОСРВ и аппаратной платформы должно быть сертифицировано с помощью
прогона на них тестовых наборов [POSIXTestSuite]. Однако если ОСРВ не
является Unix-подобной, выдержать это требование становится непростой
задачей. Тестовые наборы существуют только для POSIX 1003.1a.
Поскольку структура POSIX является совокупностью необязательных
возможностей, поставщики ОС могут реализовать только часть
стандартного интерфейса, и при этом говорить о POSIX-комплиантности
своей системы.
Стандарт 1003.1a содержит базовые интерфейсы ОСРВ – поддержку
единственного процесса, поддержку многих процессов, управление
заданиями, сигналами, группами пользователей, файловой системой,
файловыми атрибутами, управление файловыми устройствами,
блокировками файлов, устройствами ввода/вывода, устройствами
специального назначения, системными базами данных, каналами,
очередями FIFO, а также поддержку языка C.
Стандарт 1003.1b содержит расширения реального времени –
сигналы реального времени, планирование выполнения (с учетом
приоритетов, циклическое планирование), таймеры, синхронный и
асинхронный ввод/вывод, ввод/вывод с приоритетами, синхронизация