Главная » Просмотр файлов » Густав Олссон, Джангуидо Пиани - Цифровые системы автоматизации и управления

Густав Олссон, Джангуидо Пиани - Цифровые системы автоматизации и управления (1087169), страница 110

Файл №1087169 Густав Олссон, Джангуидо Пиани - Цифровые системы автоматизации и управления (Книга - Цифровые системы автоматизации и управления) 110 страницаГустав Олссон, Джангуидо Пиани - Цифровые системы автоматизации и управления (1087169) страница 1102018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 110)

е, допускать многокра „ атпып вызовы и пРиостановкУ исполнениЯ, котоРые не влиЯют лРУг на друга. Эти пРогрп огрпм мы должны использовать только регистры процессора или память вызывающих „, процессов, т. е. не иметь локальных переменных. В результате реентерабельный мод „ дуяь разделяемый несколькими процессами, можно прервать в любое время и про„'о жить с другой точки программы, поскольку он работает со стеком вызвавшего е процесса. Таким образом, реентерабельная процедура может оказаться одновремсп но в контексте нескольких различных процессов.

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

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

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

По отношению к текущему процессу ир Р вания являются асинхронными событиями, требующими немедленнои реакц тек. ьпегп лучив сигнал прерывания, процессор приостанавливает исполнение те У г аммыоп процесса, сохраняет в стеке его контекст, считывает из таблицы адрес прогр „бработработки прерывания и передает ей управление. Эта программа называется о Р аний заклЮ чиком прерывания (1ипеггирГ 'аапгйег).

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

О Р прерываний должен сохранить во временных буферах или в стеке все регистрь' "" „вти" торые он собираешься использовать, н восстановить их в конце. Эта операпия Р вбежат иа по времени и, как правило, требует запрета прерываний для того, чтобы из переключения процессов во время ее выполнения. 19 б, Методы пРогРаммирования в реальном времени 449 При Управлении прерываниями время реакции должно быть как можно м Оно представляет собой сумму времени, необходимого процессору, чтобы среагироть на прерывание (латентность прерывания), и времени, необходимого на пере- ключение контекста до запуска обработчика прерываний. Типичная загрузка систе- мы также играет определенную роль.

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

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

Обычно опе ационная си р стема обрабатывает исключения, прекращая текущий процесс, и выводит сообщение, четко описывающее ситуацию, на устройство отобра- жения, обычно монито з или п и принтер. Приемлемая при интерактивной многоиользова- ьпяьской последовательной о ой обработке, внезапная остановка процесса в системах реального в смени о быть абсолютно искльочена. Нельзя допустит управляемые мик оп о е р р ц ссором автопилот самолета или автоматическая тормозная 'пстема автомобиля (АиготагксВгайкий5узгет — А В В) внезапно прекратили работу из- 'пделения на ноль. В системах ах реального времени все возможные исключения должны адизироваться за анее с оп ад р прелелением соответствующих процедур обработки. ложной проблемой п и об р " р обработке исключений является проверка, что исключеи не возникнет снова после т того, как оно оыло обработано. Или иными словами, ра отка исключений должна за спт а л ж а заниматься причиной, а не симптомами аномальной Уации.

Если исключение об бработано некорректно, оно может возникнуть опять, пптч„п, , тавляя процессор снова и снова р нова переходить к модулю обработки. Например, обрачик деления на нуль должен позлят У л н проверять и изменять операнды, а не просто возоблять исполнение с места и пу цикл Редшествующего ошибке, что приведет к бесконечнотичсские адреса прог аммн ппуске с ро р . мных модулей известны только после их загрузки. При оке системы в таблиц об або агр;, Ужаются об аботчи у р тки прерываний записываются адреса памяти, ку а р ики, которые затем вызываются по ссылкам из 6 , ь ", ти,куда ьлкам из зтои таблицы. е путать с "взаимным исключением" — кп"г"абцчучизя — аз пз .

'".32. Л вЂ” аз раздела 1о В 2. — Лримем уед. н Зкм ~пю 450 Глава 10. Программирование систем реального вр емени 10.6.5. Программирование операций ожидания Процесс реального времени может явным образом ждать истечения некотор ороге интервала (относитсльнос время) или наступления заданного момента (абсолю чютное время). Соответствующие функции обычно имеют следующий формат: зеа11 (и) 451 9 б Методы программирования в реальном времени 10 а ошибка исполнение ошибка исполнение 9тот принцип проиллюстрирован на рис. 10.9 б, где номинальное время отложено »орнзонтальной оси. Когда абсолютное время принимается в качестве опорного, вв »о вь хоплепия ошибок времени удается избежать.

зиа11 цп111 (время) где п — интервал в секундах или миллисекундах, а переменная "время" имеет форм часы, минуты, секунды, миллисекунды Когда выполняется одна из этих функций, операционная система помещает про цссс в очередь ожилания. После истечения»»наступления заданного времени проце~~ переводится в очередь готовых процессов. Распространенный, но нс лучший метод организации временной задержкн— цикл, контроль системного времени в цикле занятого ожидания гереа1 (' холостой ход ') цпп! (Вше = 12:00:00); Как правило, подобные активные циклы ожидания представляют собой бесполезную трату процессорного времени, и их следует избегать.

Однако имеются исключения. В системе, гле аналого-цифровое преобразование занимает 20 мкс, а операция переключения процессов — 10 мкс, более экономно организовать ожидание на 20 мкс перед тем, как считать новые данные, чем начинать процедуру переключения процессов, неявно подразумеваемую "хорошей" операцией ожидания. Каждый случай требует индивидуального подхода — для этого обычно нужно хорошее знание системы и развитое чутье.

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

Характеристики

Тип файла
DJVU-файл
Размер
5,19 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6557
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее