Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Различие систем мягкого и жесткого реального времени. Встроенная система. Области применения ОСРВ.



Система реального времени (СРВ). Определение. Основные виды событийных воздействий. Временные параметры задачи.

 

Системы реального времени (real-time systems) являются осо­бым классом информационных систем, в которых главная роль уделяется корректной обработке и формированию событийного по­тока.

СРВ - система, обеспечивающая обработку событий в определенные временные интервалы. Обработка событий должна быть гарантиро­ванной и привязанной к дискретной шкале времени. Cистемы реального времени ставят своей первостепенной задачей обработку аппарат­ных и программных событий.

 

Понятие времени для вычислительных систем носит дискрет­ный характер. В какой бы момент времени внешнее событие не произошло, вычислительная система будет способна его обработать только на следующем такте работы вычислительного устройства.

 

Задача – это программный код, выполняющий определенную функциональность. Каждой задаче назначается приоритет и собственный стек. Каждая задача может находиться в одном из пяти состояний: сна, готовности, выполнения, ожидания события или прерыва­ния.

Временные параметры задачи:

e – момент времени возникновения события, подлежащего обработке,

r (release time) – момент времени, когда задача по обработке события становится готовой к исполнению,

d (absolute deadline) - время к которому задача обязана завершить все действия по обработке событий,

s (start time) - момент времени, когда задача в первый раз с момента выхода из состояния ожидания начала исполняться на процессоре,

c (compl.time) – момент времени, когда задача завершает обработку очередного события.

Различие систем мягкого и жесткого реального времени. Встроенная система. Области применения ОСРВ.

Каждая задача, запущенная в определенный момент времени, имеет параметр, называемый «критическое конечное время выпол­нения данной задачи» (deadline). Если задача при своем выполне­нии превышает это время, то ее дальнейшая работа либо теряет ак­туальность в рамках системы, либо система претерпевает разруше­ние или ухудшение своей работы.

Система жесткого реального времени должна га­рантировать обработку события к критическому конечному време­ни выполнения.

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

Встроенные системы (embedded systems) – являются системами с нестандартной аппаратной конфигурацией, выполняющие толь­ко определенный набор функций. Примерами могут служить платежные терминалы, которые позволяют осуществлять только электронные платежи, промышленные датчики, в чью функцию входит сбор контролируемых параметров и их пересылка в модуль обработки и т.д.

 

Понятия встро­енных систем (нестандартная аппаратная конфигурация) и систем реального времени (обработка событийного потока с привязкой к дискретной шкале времени) представляют собой два разных мно­жества, имеющих область пересечения, названную встроен­ными системами реального времени (real-time embedded systems). Встроенная система реального времени представляет собой сис­тему, гарантирующую обработку событий в определенные времен­ные интервалы и работающую на нестандартной аппаратной кон­фигурации.

ОСРВ - ОС, способная гарантировать требуемый уровень обработ­ки событий в определенный момент времени.

Операционные системы реального времени (ОСРВ). Определение, история возникновения, отличия от ОС общего назначения.

 

ОСРВ-ОС, способная гарантировать требуемый уровень обработки событий в определенный момент времени.

 

 

Цель ОС: осуществить абстракцию пользователя от аппаратной части.

ОС:

1.ОСОН(общего назначения) имеют широкий основной набор функций. Windows, Linux, MAC OS. 2.Сетевые ОС(использование кот. подразумевает наличие многоранговой сети). Windows Server, Linux Enterprise(Server), MAC OS Server, UNIX. 3.Облачные ОС. Windows Azure, Chrome OS 4.Специализированные ОС(встроенные, ОСРВ, ОС для ЦОС)

RedHat (одна из Linux):

1.RedHat Desktop/Server – для коммерч.использования(деньги платят за тех.поддержку) 2.Fedora(ОСОН) – в ней все тестируется и пробуется

UNIX:

1.hp c ОС HP-UX 2.Oracle c ОС Solaris для Ultra SPARC 3.IBM с ОС AIX(работает на процах Power)

 

6. Обзор ОСРВ. Стоимость, доступность, набор компонентов,…..

 

 

Подходы к возможности сделать Linux -> ОСРВ:

1.Кастолизация, модификация ядра Linux -> PATCH (позволяет достичь другой работы ядра)

(RTAI,RTEMS), но Linux после этого несовсем Linux.

Основные этапы:

1.вытеснение из ядра модулей, влияющих на производительность

2.«тонкая» настройка параметров ядра

3.переработка\доработка программного кода планировщика

2.Добавление ядра РВ в Linux

 

Состав монолитного ядра ОС.

Монолитное ядро предоставляет богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве. Это такая схема операционной системы, при которой все компоненты её ядра являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путём непосредственного вызова процедур. Монолитное ядро — старейший способ организации операционных систем. Примером систем с монолитным ядром является большинство UNIX-систем.

Достоинства: Скорость работы, упрощённая разработка модулей[1].

Недостатки: Поскольку всё ядро работает в одном адресном пространстве, сбой в одном из компонентов может нарушить работоспособность всей системы.

 

User space: ПП<->Сист.библ<->Kernel space:ЯДРО<-> User space: Сервисы

Все части работают в одном адресном простр-ве

1) Планировщик 2) Системные таблицы(табл.потоков процессов, табл.семафоров) 3) Диспетчер вв-выв(обдажает табл.драйверов и устр-в, перехватывает прерыв-я от устр-в) 4)Драйвера 5)Менеджер памяти

6)TCP/IP стек протоколов – один на всю сист-у, если 2 сетевые карты-стек на каком-то ур-не им.2 копии(прикладной HTTP, представит, сеансовый-сокеты, транспортный UDP, TCP, сетевой IP v4/v6, ICMP, ARP:в ядре)

7) Система безопасности – доступ, колнтроль 8) Файловая система

9) Модуль графического интерфейса – FIREWALL, X-Windows Примеры: Linux, MS-Dos

 

Состав микроядра ОС.

Микроядро предоставляет только элементарные функции управления процессами и минимальный набор абстракций для работы с оборудованием. Бо́льшая часть работы осуществляется с помощью специальных пользовательских процессов, называемых сервисами. Решающим критерием «микроядерности» является размещение всех или почти всех драйверов и модулей в сервисных процессах, иногда с явной невозможностью загрузки любых модулей расширения в собственно микроядро, а также разработки таких расширений.

Достоинства: Устойчивость к сбоям оборудования, ошибкам в компонентах системы. Основное достоинство микроядерной архитектуры — высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов. Микроядерная архитектура повышает надежность системы, поскольку ошибка на уровне непривилегированной программы менее опасна, чем отказ на уровне режима ядра.

Недостатки: Передача данных между процессами требует накладных расходов.

Состав ядра ОСЖРВ:

1) Планировщик 2) Системные таблицы(табл.потоков процессов, табл.семафоров) 3) Диспетчер вв-выв(обдажает табл.драйверов и устр-в, перехватывает прерыв-я от устр-в) 4)Драйвера

 

Примеры: Symbian OS; Windows CE; OpenVMS; Mach, используемый в GNU/Hurd и Mac OS X; QNX; AIX; Minix; ChorusOS; AmigaOS; MorphOS.

 

10. планировщик: задача, основные составляющие блока контроля задачи(TCB). Алгоритм планирования Round Robin.

Как правило, вся важная, с точки зрения операционной системы, информация о задаче хранится в унифицированной структуре данных управляющем блоке (Task Control Block, TCB). В блоке хранятся такие параметры, как имя и номер задачи, верхняя и нижняя границы стека, ссылка на очередь сообщений, статус задачи, приоритет и т. п.

Round-robin (от англ. round-robin — циклический) — алгоритм распределения нагрузки распределённой вычислительной системы методом перебора и упорядочения её элементов по круговому циклу.

Процессы выстраиваются в очереди готовых процессов в виде карусели. Карусель вращается так, что рядом с процессором находится каждый процесс небольшой квант времени(10-100 млсек). Пока процесс находится рядом с процессором, он получает его в свое распоряжение и может выполняться. Планировщик выбирает для очередного исполнения процесс, расположенный в начале очереди и устанавливает таймер для генерации прерывания по истечению определенного кванта времени. При выполнении процесса возможны 2 варианта:

- время непрерывного использования процессора необходимое процессу <= продолжительности кванта времени. Тогда процесс по своей воле освобождает процессор, на исполнение поступает новый процесс из начала очереди, таймер начинает отчет времени заново;

- продолжительность остатка текущего времени процесса > кванта времени. Тогда по истечении этого кванта процесс прерывается таймером и помещается в конец очереди готовых к исполнению, а процессор выделяется для использования процессу, находящемуся в начале очереди.

 

11. планировщик: задача, основные составляющие блока контроля задачи(TCB). Алгоритм планирования вытесняющей многозадачности.

 

Как правило, вся важная, с точки зрения операционной системы, информация о задаче хранится в унифицированной структуре данных управляющем блоке (Task Control Block, TCB). В блоке хранятся такие параметры, как имя и номер задачи, верхняя и нижняя границы стека, ссылка на очередь сообщений, статус задачи, приоритет и т. п.

Каждому процессу присваивается определенное числовое значение – приоритет, в соответствии с кот ему выделяется процессор. Процессы с одинаковыми приоритетами планируются в порядке FIFO. Процесс с более высоким приоритетом, появившийся в очереди готовых процессов вытесняет исполняющийся процесс с более низким приоритетом.

Preemptive multitasking - вытесняющая многозадачность - это такой способ, при котором решение о переключении процессора с выполнения одного процесса на выполнение другого процесса принимается планировщиком операционной системы, а не самой активной задачей.

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

 

12.планировщик: задача, основные составляющие блока контроля задачи(TCB). Алгоритм планирования FIFO

 

Как правило, вся важная, с точки зрения операционной системы, информация о задаче хранится в унифицированной структуре данных управляющем блоке (Task Control Block, TCB). В блоке хранятся такие параметры, как имя и номер задачи, верхняя и нижняя границы стека, ссылка на очередь сообщений, статус задачи, приоритет и т. п.

Процессы в очереди. На исполнение – процесс из головы очереди. При поступлении нового процесса он идет в хвост очереди готовых. Среднее время ожидания и среднее полное время выполнения для этого алг существенно зависит от порядка расположения процессов в очереди. Если есть процессы с длительным временем выполнения, то короткие процессы перешедшие в состояние «готовность» после длительного процесса будут долго ждать начала выполнения, поэтому данный алг практически неприемлем для систем разделения времени, тк слишком большим получается среднее время отклика

 

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

15. Бинарный семафор. Назначение, составляющие блока контроля (SCB), машина состояний, пример использования. Особенности использования задания временных параметров на захват занятого семафора.

 

Семафоры применяются, когда необходимо:

а) управлять доступом к разделяемым ресурсам;

б) сигнализировать наступление события;

в) позволять двум задачам синхронизировать их деятельность.

Семафор – это ключ, которым должна овладеть задача, чтобы продолжить выполнение. Если семафор уже используется, запрашивающая задача приостанавливается, пока семафор не освободится.

Задача, желающая обладать семафором, выполняет операцию WAIT. Если семафор доступен (то есть его значение больше 0), значение уменьшается на единицу, а задача продолжает выполнение. Если значение семафора равно 0, задача, производящая операцию WAIT, помещается в список задач, ожидающих данный семафор. Задача освобождает семафор, производя операцию SIGNAL. Если нет задач, его ожидающих, значение семафора увеличивается на единицу. Если такие задачи есть, его значение не изменяется, а запускается одна из ожидающих задач.

Таблица SCB_SEMAPHORE_COLTROL_BLOCK содержит след. поля: SemID — идентификатор семафора(число); COUNTER — счетчик (0,1,..., N); TYPE — тип семафора; POINTER TO TASK WAITING LIST - указатель на список задач, ожидающих освобождения данного семафора (задачи из этого списка выбираются с пом. Планировщика (FIFO или приоритетное планирование).

16. Семафор-счетчик. Назначение, составляющие блока контроля (SCB), машина состояний, пример использования. Особенности использования задания временных параметров на захват занятого семафора.

Семафоры применяются, когда необходимо:

а) управлять доступом к разделяемым ресурсам;

б) сигнализировать наступление события;

в) позволять двум задачам синхронизировать их деятельность.

Семафор – это ключ, которым должна овладеть задача, чтобы продолжить выполнение. Если семафор уже используется, запрашивающая задача приостанавливается, пока семафор не освободится.

Семафор-счетчик — это целочисленная переменная, имеющая несколько состояний. (0,1,2,3,..., N) 0 — семафор захвачен, остальные состояния — свободен. Число, отличное от нуля указывает, сколько задач захватило семафор. Если задач < N, семафор свободен.

Таблица SCB_SEMAPHORE_COLTROL_BLOCK содержит след. поля: SemID — идентификатор семафора(число); COUNTER — счетчик (0,1,..., N); TYPE — тип семафора; POINTER TO TASK WAITING LIST - указатель на список задач, ожидающих освобождения данного семафора (задачи из этого списка выбираются с пом. Планировщика (FIFO или приоритетное планирование).

Счетные семафоры применяются, когда ресурс может использоваться более чем одной задачей одновременно. Например, счетный семафор может быть использован в управлении пулом буферов. Предположим, что исходно пул содержит 10 буферов. Задача может получить буфер, запросив его у менеджера, вызывая BufReq(). Если буфер больше не нужен, задача может вернуть его обратно, вызывая BufRel().

 

17.Mutex. Назначение, составляющие блока контроля (SCB), машина состояний, пример использования. Особенности использования задания временных параметров на захват занятого muteх.

Мьютекс — целочисленная пер-ная, имеющая 2 состояния (своб. и захвачен). (0,1, 2,...,N), где 0 — свободен, остальные — захвачен. Мьютекс указывает кем он захвачен, не давая другим задачам освободить мьютекс. Также здесь реализован рекурсивный захват и освобождение, при этом счетчик мьютекса увеличивается. Содержание таблицы CONTROL_BLOCK: SemID — идентификатор семафора(число); COUNTER — счетчик (0,1,..., N); TYPE — тип семафора; TASK ID OWNER – идентификатор задачи владельца; POINTER TO TASK WAITING LIST - указатель на список задач, ожидающих освобождения данного семафора (задачи из этого списка выбираются с пом. Планировщика (FIFO или приоритетное планирование).

 

 

18. Очереди сообщений. Назначение, составляющие блока контроля (MCB), машина состояний, пример использования. Особенности использования задания временных параметров при посылки и приеме сообщений.

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

Очереди сообщений могут использоваться, когда данные поступают нерегулярно, и неизвестно, будет ли задача успевать сразу считывать все поступающие сообщения. Очередь сообщений организована в виде циклического буфера типа FIFO. Длина очереди, а также количество очередей сообщений, которое может использоваться в программе, задаётся в конфигурационных файлах RTOS-проекта. Работа с очередями организована таким же образом, как и с одиночными сообщениями, с тем лишь различием, что можно хранить не одно сообщение, а несколько.

 

19. Прерывания, общая схема обработки прерываний.

Прерывание — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.

 

Прерывания – правила, наз. INT, в которых в определенные моменты времени происходит изменение сигнала. (меняется скорость с низ. на выс.)

 

Вектор прерывания — закреплённый за устройством номер, который идентифицирует соответствующий обработчик прерываний. Векторы прерываний объединяются в таблицу векторов прерываний, содержащую адреса обработчиков прерываний. Местоположение таблицы зависит от типа и режима работы процессора. (УВВ - Устройства ввода-вывода).

Система реального времени (СРВ). Определение. Основные виды событийных воздействий. Временные параметры задачи.

 

Системы реального времени (real-time systems) являются осо­бым классом информационных систем, в которых главная роль уделяется корректной обработке и формированию событийного по­тока.

СРВ - система, обеспечивающая обработку событий в определенные временные интервалы. Обработка событий должна быть гарантиро­ванной и привязанной к дискретной шкале времени. Cистемы реального времени ставят своей первостепенной задачей обработку аппарат­ных и программных событий.

 

Понятие времени для вычислительных систем носит дискрет­ный характер. В какой бы момент времени внешнее событие не произошло, вычислительная система будет способна его обработать только на следующем такте работы вычислительного устройства.

 

Задача – это программный код, выполняющий определенную функциональность. Каждой задаче назначается приоритет и собственный стек. Каждая задача может находиться в одном из пяти состояний: сна, готовности, выполнения, ожидания события или прерыва­ния.

Временные параметры задачи:

e – момент времени возникновения события, подлежащего обработке,

r (release time) – момент времени, когда задача по обработке события становится готовой к исполнению,

d (absolute deadline) - время к которому задача обязана завершить все действия по обработке событий,

s (start time) - момент времени, когда задача в первый раз с момента выхода из состояния ожидания начала исполняться на процессоре,

c (compl.time) – момент времени, когда задача завершает обработку очередного события.

Различие систем мягкого и жесткого реального времени. Встроенная система. Области применения ОСРВ.

Каждая задача, запущенная в определенный момент времени, имеет параметр, называемый «критическое конечное время выпол­нения данной задачи» (deadline). Если задача при своем выполне­нии превышает это время, то ее дальнейшая работа либо теряет ак­туальность в рамках системы, либо система претерпевает разруше­ние или ухудшение своей работы.

Система жесткого реального времени должна га­рантировать обработку события к критическому конечному време­ни выполнения.

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

Встроенные системы (embedded systems) – являются системами с нестандартной аппаратной конфигурацией, выполняющие толь­ко определенный набор функций. Примерами могут служить платежные терминалы, которые позволяют осуществлять только электронные платежи, промышленные датчики, в чью функцию входит сбор контролируемых параметров и их пересылка в модуль обработки и т.д.

 

Понятия встро­енных систем (нестандартная аппаратная конфигурация) и систем реального времени (обработка событийного потока с привязкой к дискретной шкале времени) представляют собой два разных мно­жества, имеющих область пересечения, названную встроен­ными системами реального времени (real-time embedded systems). Встроенная система реального времени представляет собой сис­тему, гарантирующую обработку событий в определенные времен­ные интервалы и работающую на нестандартной аппаратной кон­фигурации.

ОСРВ - ОС, способная гарантировать требуемый уровень обработ­ки событий в определенный момент времени.


Поделиться:



Последнее изменение этой страницы: 2019-04-21; Просмотров: 328; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.049 с.)
Главная | Случайная страница | Обратная связь