[RTest] Вопрос о прерываниях

20 views
Skip to first unread message

Evgeny Sinelnikov

unread,
Dec 5, 2010, 12:55:15 PM12/5/10
to saratov-real...@googlegroups.com
Итак вопрос.

Поясните роль контроллера прерываний в системах реального времени.
Уточните какой из вариантов фиксирования событий (по фронту или по
уровню) надёжнее и почему.

--
Sin (Sinelnikov Evgeny)
Etersoft

Emil

unread,
Dec 5, 2010, 1:11:27 PM12/5/10
to Saratov Real Time Systems
контроллер прерываний помогает организовать работу процессов, с
использованием приоритетов!
по фронту надежнее, так как по уровню могут быть помехи при передаче и
сложно будет определить нужный уровень!

Astik

unread,
Dec 5, 2010, 1:15:12 PM12/5/10
to Saratov Real Time Systems
Контроллер прерываний помогает организовать работу процессов, с
использованием приоритетов. По фронту надежнее, так как могут быть
помехи при передаче и тяжело будет определить нужный уровень сигнала.

Alexei Krasnikov

unread,
Dec 5, 2010, 1:27:56 PM12/5/10
to saratov-real...@googlegroups.com


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

Так и в компьютерной системе, возможна такая ситуация, когда несколько переферийных устройств послали сигнал прерывания или запрос на прерывание. В компьютерной литературе этот сигнал обозначается IRQ (Interrupt Request). Cвоими словами для последовательного выполнения задач

По фронту обеспечивает большую надежность 

Evgeny Sinelnikov

unread,
Dec 5, 2010, 1:33:07 PM12/5/10
to saratov-real...@googlegroups.com
5 декабря 2010 г. 21:13 пользователь Emil <emil_ku...@mail.ru> написал:
> контроллер прерываний помогает организовать работу процессов, с
> использованием приоритетов!

Это каким же образом? Какое отношение имеют прерывания к приоритетам
процессов? Поясните.

> по фронту надежнее, так как по уровню могут быть помехи при передаче и
> сложно будет определить нужный уровень!


Эмиль и Астемир. Я удивлён как вы так нашли два одинаковых
неправильных ответа. Источник в студию, пожалуйста ;)

Некоторые подробности читаем здесь:
http://controllersystems.com/books/praktika_programmirovaniya_atmel_avr/raznovidnosti-preryvanij.html

--
Sin (Sinelnikov Evgeny)

Emil

unread,
Dec 5, 2010, 1:46:19 PM12/5/10
to Saratov Real Time Systems

Контроллер прерываний используется для реализации многозадачности,
переключения процессов!

Ruslan Denisov

unread,
Dec 5, 2010, 1:34:59 PM12/5/10
to saratov-real...@googlegroups.com
5 декабря 2010 г. 20:55 пользователь Evgeny Sinelnikov
<s...@altlinux.ru> написал:

>
> Итак вопрос.
>
> Поясните роль контроллера прерываний в системах реального времени.
> Уточните какой из вариантов фиксирования событий (по фронту или по
> уровню) надёжнее и почему.
>


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

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

Отправляю ответ через почту. В группе не добавляется!!!

Message has been deleted

Evgeny Sinelnikov

unread,
Dec 5, 2010, 2:03:53 PM12/5/10
to saratov-real...@googlegroups.com
5 декабря 2010 г. 21:34 пользователь Ruslan Denisov <rus...@gmail.com> написал:

> 5 декабря 2010 г. 20:55 пользователь Evgeny Sinelnikov
> <s...@altlinux.ru> написал:
>>
>> Итак вопрос.
>>
>> Поясните роль контроллера прерываний в системах реального времени.
>> Уточните какой из вариантов фиксирования событий (по фронту или по
>> уровню) надёжнее и почему.
>>
>
>
> Контроллер прерываний предназначен для обработки поступающих запросов
> на обслуживание к центральному процессору от переферийных устройств и
> таймеров. Контроллер ставит поступающие прерывания в очередь на
> обработку.
>

Это только определение. А как же "роль контроллера прерываний в
системах реального времени"?

> Надежнее по уровню, потому что по фронту или по спаду  вероятность
> появления дребезга увеличивается. Например при нажатии откровенно
> китайской кнопки дребезг может давать большое количество
> фронтов/спадов. Таким образом нужно определить время надежного
> срабатывания - если определенный уровень держится больше
> установленного заранее времени, то фиксируем событие
>

Да, верно

> Отправляю ответ через почту. В группе не добавляется!!!
>

В любом случае, вы, Руслан, пока последний. Первым был Эмиль, потом
Астемир, затем Алексей. Лучший ответ у Руслана, хотя он и не полный.
Продолжаем...

--
Sin (Sinelnikov Evgeny)

Evgeny Sinelnikov

unread,
Dec 5, 2010, 2:07:41 PM12/5/10
to saratov-real...@googlegroups.com
5 декабря 2010 г. 21:27 пользователь Alexei Krasnikov
<krasn...@gmail.com> написал:

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

> посетителей допустить к боссу в первую очередь, а кого и потом, исходя из
> приорететов, отдаваемых боссом и статуса самого посетителя.
>
> Так и в компьютерной системе, возможна такая ситуация, когда несколько
> переферийных устройств послали сигнал прерывания или запрос на прерывание. В
> компьютерной литературе этот сигнал обозначается IRQ (Interrupt Request).
> Cвоими словами для последовательного выполнения задач
>

Это пояснение того, что такое и для чего нужен контроллер прерываний.
Его роль в системах реального времени не раскрыта.

> По фронту обеспечивает большую надежность
>

Не хватает пояснений. Почему вы так думаете?

Alexei Krasnikov

unread,
Dec 5, 2010, 2:13:55 PM12/5/10
to saratov-real...@googlegroups.com
Евгений Александрович может быть перейдем к следующиму вопросу

Dexter

unread,
Dec 5, 2010, 2:19:49 PM12/5/10
to Saratov Real Time Systems
On 5 дек, 22:03, Evgeny Sinelnikov <gmaster...@googlemail.com> wrote:
> 5 декабря 2010 г. 21:34 пользователь Ruslan Denisov <rus...@gmail.com> написал:

> Это только определение. А как же "роль контроллера прерываний в
> системах реального времени"?


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

Astik

unread,
Dec 5, 2010, 2:22:29 PM12/5/10
to Saratov Real Time Systems
Контроллер прерываний позволяет не повиснуть системе реального времени
при пиковой нагрузке. Пример, в системе управления атомной
электростанцией в случае возникновения крупной аварии атомного
реактора многие аварийные датчики сработают одновременно и создадут
коррелированную нагрузку. Если система реального времени не
спроектирована для поддержки пиковой нагрузки, то может случиться так,
что система не справится с работой именно тогда, когда она нужна в
наибольшей степени.

Evgeny Sinelnikov

unread,
Dec 5, 2010, 2:22:51 PM12/5/10
to saratov-real...@googlegroups.com
5 декабря 2010 г. 22:13 пользователь Alexei Krasnikov
<krasn...@gmail.com> написал:

> Евгений Александрович может быть перейдем к следующиму вопросу
>
Согласен.

Вот только у нас есть несколько не ясных рабочих моментов. Я сначала о
них напишу. Потом будет новый вопрос.

Evgeny Sinelnikov

unread,
Dec 5, 2010, 2:29:10 PM12/5/10
to saratov-real...@googlegroups.com
5 декабря 2010 г. 22:22 пользователь Astik <ast...@yandex.ru> написал:

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

Как же контроллер позволяет "не повиснуть системе реального времени
при пиковой нагрузке"?
Ваш пример не раскрывает этого вопроса.

- Начать стоит с того, от чего система вообще может повиснуть.
- Затем стоит указать как на это может повлиять контроллер прерываний
(я вот пока с трудом себе это представляю).
- Ну, и, наконец, нужно показать что же такого есть в системе реально
времени, что воспользуется возможностями контроллера прерываний и не
даст "повиснуть".
- Далее стоит указать какое отношение имеет эта возможность для систем
не являющихся системами реального времени. Почему они могут повиснуть?
Или это тут не причём? Тогда причём тут системы реального времени?

Evgeny Sinelnikov

unread,
Dec 5, 2010, 2:31:56 PM12/5/10
to saratov-real...@googlegroups.com
5 декабря 2010 г. 22:19 пользователь Dexter <rus...@gmail.com> написал:

Действительно, контроллер прерываний позволяет более эффективно
организовать использование процессорного времени.

Но причём тут "возможность обмена данными с системой в реальном
масштабе времени"?

Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

Dexter

unread,
Dec 5, 2010, 3:06:09 PM12/5/10
to Saratov Real Time Systems
Это наш аналог робота R2-D2

On 5 дек, 23:04, Шарабанов Артём <no_tem...@mail.ru> wrote:
> , !!!

Илья Александров

unread,
Dec 5, 2010, 2:55:51 PM12/5/10
to Saratov Real Time Systems
Может задавать сразу несколько вопросов.
Message has been deleted

Артем Шарабанов

unread,
Dec 5, 2010, 3:30:07 PM12/5/10
to saratov-real...@googlegroups.com
Ну неужели работает!!!

Артем Шарабанов

unread,
Dec 5, 2010, 3:35:19 PM12/5/10
to saratov-real...@googlegroups.com
Вобщем, любимый мой Гугл, чтоб я без тебя делал!!!))))

Пришлось поставить Гугл Хром, и перейти на gmail-овскую почту...

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

Слава Богу хоть свою родную gmail-овскую кириллицу распознает без почтового клиента...

P.S. еще и ThunderBird поставил=) 

Петр Академик

unread,
Dec 5, 2010, 3:46:22 PM12/5/10
to saratov-real...@googlegroups.com


А каким ты браузером пользовался? Так как проблем ни в опере, ни в
лисе, я не встречал.

Артем Шарабанов

unread,
Dec 5, 2010, 3:56:26 PM12/5/10
to saratov-real...@googlegroups.com
Оперой пользовался, это зависит не от браузера как я понял, а от почтового сервера.


Evgeny Sinelnikov

unread,
Dec 5, 2010, 3:58:27 PM12/5/10
to saratov-real...@googlegroups.com
5 декабря 2010 г. 23:46 пользователь Петр Академик
<akade...@gmail.com> написал:

У него проблема с клиентом, а не с web-интерфейсом была. Но я думаю,
что дело ещё и в самом клиенте. Если клиент адекватный, то возможно
его и настроить можно было.

Но давайте закроем тему личных проблем по поводу настройки клиентов.
Тесты можно было бы вынести хотя бы в отдельную дискуссию.

Артем Шарабанов

unread,
Dec 5, 2010, 4:01:14 PM12/5/10
to saratov-real...@googlegroups.com
Извините что так поздно, но я вернусь к вопросу. По поводу роли контроллера прерываний в ОСРВ.

Контроллер прерываний критически важен для систем реального времени, прежде всего потому что они ориентированы на  обработку внешних прерываний, то есть на обработку того что происходит с тем или иными оборудованием.

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

Evgeny Sinelnikov

unread,
Dec 5, 2010, 4:34:33 PM12/5/10
to saratov-real...@googlegroups.com
6 декабря 2010 г. 0:01 пользователь Артем Шарабанов
<note...@gmail.com> написал:

Это общие моменты. Если убрать из ОСРВ вторые две быквы, то получим
просто ОС. Всё, что выше написано в равной степени относится как к
ОСРВ, так и к ОС, так что РВ можно вынести за скобки. Ничего
особенного для работы в реальном времени выше не отмечено.

Reply all
Reply to author
Forward
0 new messages