Нужна помощь с прерываниями

Nov 15, 2004 Last reply: 21 years ago 54 Replies

Добрый день.

Нет там никакого бардака - ты просто не разобрался.

Нельзя. Они все равно генерятся, но не "доходят" до программы.

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

c80f120 -- "генерятся" -- битик в регистре устанавливается, но не доходят -- замаскированы. Все таймеры, начиная с Timer2 и выше.

Демагогия.

OP>> И что там в UNIX с прерываниями такого особого? >> Что там с прерываниями не знаю, а с сигналами -- бардак... AVM> Hет там никакого бардака - ты просто не разобрался.

Hет, просто ты пытаешься вставить свои две копейки там, где вставить по существу уже нечего. Проблемы широко известны уже много лет и описаны во многих источниках. Сигналы в Unix опасны и ненадёжны как русская рулетка. Для особо одарённых: речь про Unix, а не POSIX.

Ересь полнейшая. Сигнал совершенно асинхронное, относительно прерываемой программы, событие. Об этом в любом букваре пишется.

Да, я на тебя твит уже настроил и здесь.

Добрый день.

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

Добрый день.

Маскирование аппаратного прерывания дает 0 команд исполнения обработчика, т.е. 0 тактов на обработку. Маскирование программного прерывания - минимум команд, необходимый для определения того, что это прерывание замаскировано. А этот минимум включает в себя по крайней мере сохранение и восстановление программного счетчика, регистра флагов и минимум пару команд проверки состояния бита. Разница между программным и аппаратным прерываниями и их маскированием - налицо. Так понятно?

Истина. 8-)

Добрый день.

Это ты неподумавши ляпнул - ересь как раз ты несешь.

Однако всегда известно место программы, которое может послать сигнал.

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

Всегда так делай, когда сказать в защиту своего мнения нечего. 8-)

Hello, Andrew! Andrew V. Miheev wrote to Oleg Saharuk on 22 nov 2004 05:15:

DO>>> Прерывание - это вызов процедуры по аппаратно генерируемому DO>>> сигналу. DO>>> Юникс тут не причем.

AVM> А при чем тут сигналы юникса? Они совершенно другой механизм имеют AVM> и логический и программный.

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

With best regards, Oleg Saharuk.

Добрый день.

Это какую же оптику надо иметь, чтобы такое увидеть? 8-)

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

Мы про юникс? Если да, то там это делается передачей ядру адреса обработчика

- никакой таблицы векторов нет. За прием сигналов отвечает ядро системы и посылка некоторых сигналов процессу всегда обрабатывается ядром, т.е. никогда не перехватывается обработчиком процесса.

Это всегда пожалуйста.

ðpÉ×ÅÔ, ÷ÌÁÄÉÍÉp!

25 ÎÏÑ 04 15:02, ÷ÌÁÄÉÍÉp ïÐÁpËÏ -> Kirill Frolov:

÷ï> -- ÷ï> úÄpÁ×ÓÔ×ÕÊ äÍÉÔpÉÊ, [ skip ] á ÍÏÖÎÏ ÎÁÓÔpÏÉÔØ Ó×ÏÀ ÞÉÔÁÌËÕ/ÐÉÓÁÌËÕ ÄÌÑ ÎÏpÍÁÌØÎÏÇÏ É ÐpÉÎÑÔÏÇÏ × ÆÉÄÏ? á ÔÏ ÎÉÆÉÇÁ ÎÅ ×ÉÄÎÏ, ÞÅÇÏ ÔÙ ÔÁÍ × ÓÌÕÖÅÂÎÏÊ ÉÎÆÏpÍÁÃÉÉ ÐÉÛÅÛØ.. ÷ï> ïÔÐpÁ×ÌÅÎÏ ÞÅpÅÚ ÓÅp×Åp æÏpÕÍÙ@mail.ru -
formatting link
[ skip ] äÁ ÐÏÆÉÇ ÞÅpÅÚ ÞÅÇÏ ÏÔÐpÁ×ÌÅÎÏ, ×ÓÅ ÚÁ×ÉÓÉÔ ÏÔ ËpÉ×ÏÓÔÉ pÕË ÐÏÌØÚÏ×ÁÔÅÌÑ...

äÏ Ó×ÉÄÁÎÉÑ, Oleg.

ðÒÉ×ÅÔ, ÷ÌÁÄÉÍÉÒ!

25 ÎÏÑ 04 15:02, ÷ÌÁÄÉÍÉÒ ïÐÁÒËÏ -> Kirill Frolov:

÷ï> -- ÷ï> úÄÒÁ×ÓÔ×ÕÊ äÍÉÔÒÉÊ, [ skip ] á ÍÏÖÎÏ ÎÁÓÔÒÏÉÔØ Ó×ÏÀ ÞÉÔÁÌËÕ/ÐÉÓÁÌËÕ ÄÌÑ ÎÏÒÍÁÌØÎÏÇÏ É ÐÒÉÎÑÔÏÇÏ × ÆÉÄÏ? á ÔÏ ÎÉÆÉÇÁ ÎÅ ×ÉÄÎÏ, ÞÅÇÏ ÔÙ ÔÁÍ × ÓÌÕÖÅÂÎÏÊ ÉÎÆÏÒÍÁÃÉÉ ÐÉÛÅÛØ.. ÷ï> ïÔÐÒÁ×ÌÅÎÏ ÞÅÒÅÚ ÓÅÒ×ÅÒ æÏÒÕÍÙ@mail.ru -
formatting link
[ skip ] äÁ ÐÏÆÉÇ ÞÅÒÅÚ ÞÅÇÏ ÏÔÐÒÁ×ÌÅÎÏ, ×ÓÅ ÚÁ×ÉÓÉÔ ÏÔ ËÒÉ×ÏÓÔÉ ÒÕË ÐÏÌØÚÏ×ÁÔÅÌÑ...

äÏ Ó×ÉÄÁÎÉÑ, Oleg.

ðÒÉ×ÅÔ, Alexey!

28 ÎÏÑ 04 09:35, Alexey Kovalev -> Alex Kouznetsov:

AK>> óËÏÒÏÓÔØ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ × ËÁÂÅÌÅ ÐÒÉÍÅÒÎÏ 2/3 ÓËÏÒÏÓÔÉ Ó×ÅÔÁ, AK>> ÔÁË AK> åÓÌÉ ÐÒÉÎÑÔØ ÞÔÏ ÜÔÏ ÔÁË, ÔÏ ÎÁ 100Í ÚÁÄÅÒÖËÁ × ÏÂÁ ËÏÎÃÁ ÂÕÄÅÔ 1 AK> ÍËó. äÌÑ ×ÏÚÍÏÖÎÙÈ ÓËÏÒÏÓÔÅÊ ÐÅÒÅÄÁÞÉ ÐÒÅÎÅÂÒÅÇÁÅÍ.

é ÎÅ ÚÁÂÕÄØ ÐÒÉÎÑÔØ × ÜÔÕ ÆÏÒÍÕÌÕ ÒÁÓÐÒÅÄÅÌÎÎÕÀ £ÍËÏÓÔØ... ôÁË ÞÔÏ, Ô×ÏÑ ÚÁÄÅÒÖËÁ ÏÞÅÎØ (É ÎÁÍÎÏÇÏ) ÕÈÕÄÛÉÔÓÑ...

äÏ Ó×ÉÄÁÎÉÑ, Oleg.

ðÒÉ×ÅÔ, Alexander!

28 ÎÏÑ 04 18:03, Alexander Derazhne -> Dmitry Vedernikov:

AD> ÎÅ ÚÁ×ÉÓÉÔ ÏÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÉÌÉ ÎÅÉÓÐÏÌØÚÏ×ÁÎÉÑ ëéôÁ. úÁÔÏ ÔÅÂÅ AD> ÐÒÉģÔÓÑ ÐÏÍÕÞÉÔØÓÑ Ó ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅÍ ÏÎÏÇÏ: Ñ ÓÌÁÚÉÌ ÐÏ ÐÒÉ×ÅÄÅÎÎÏÊ AD> ÔÏÂÏÊ × ÓÏÓÅÄÎÅÍ ÐÉÓØÍÅ ÓÓÙÌËÅ - ÔÁÍ ÎÉÇÄÅ ÎÅ ÕÐÏÍÉÎÁÅÔÓÑ ×ÏÚÍÏÖÎÏÓÔØ AD> ISP, Ô.Å. ÓËÏÒÅÅ ×ÓÅÇÏ ÐÏÔÒÅÂÕÅÔÓÑ Åݣ É ÎÅÔÒÉ×ÉÁÌØÎÙÊ ÐÒÏÇÒÁÍÍÁÔÏÒ AD> ÄÌÑ ðúõ-ÈÉ ×ÍÅÓÔÏ ÂÁÎÁÌØÎÏÇÏ ÂÁÊÔ-ÂÌÁÓÔÅÒÁ. (ðÏÉÝÉ × ÉÎÅÔÅ ÐÏ ËÌÀÞÅ×ÙÍ

ôÁÍ ÐÒÉÍÅÎÑÅÔÓÑ 27C512 × ËÁÞÅÓÔ×Å ÐÁÍÑÔÉ ÐÒÏÇÒÁÍÍ. ðÒÉÞÅÍ, ËÁË Ñ ÐÏÎÑÌ, ÎÁ ÐÌÁÔÅ ÏÎÁ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ. ô.Å. ÐÏËÕÐÁÅÔÓÑ ÏÔÄÅÌØÎÏ.. ôÁË ÖÅ ÎÉÇÄÅ ÎÅ ÕÐÏÍÉÎÁÅÔÓÑ Ï ËÁËÏÊ-ÌÉÂÏ ÓÔÁÒÔÏ×ÏÊ (ÔÅÓÔÏ×ÏÊ, ÕÞÅÂÎÏÊ) ÐÒÏÇÒÁÍÍÅ ËÁË ÄÌÑ ÍË, ÔÁË É ÄÌÑ òó. HÁÆÉÇÁ ÔÁËÏÊ ËÉÔ ÎÕÖÅÎ? úÁÔÏ ×ÏÔ ÅÓÔØ ÎÅËÉÊ "ÜÍÕÌÑÔÏÒ ðúõ", ÐÒÉÏÂÒÅÔÁÅÍÙÊ ÚÁ ÏÔÄÅÌØÎÕÀ ÐÌÁÔÕ... :)) é ÓÍÅÈ, É ÓÌÅÚÙ...

DV>> èÏÞÅÔÓÑ ÉÍÅÔØ ×ÏÚÍÏÖÎÏÓÔØ ÏÔÏÂÒÁÖÁÔØ ÎÁ ÉÎÄÉËÁÔÏÒÅ ÔÅÍÐÅÒÁÔÕÒÙ 3È DV>> ÄÁÔÞÉËÏ× É ÚÁÄÁÎÎÕÀ ÔÅÍÐÅÒÁÔÕÒÕ + ÒÅÖÉÍÙ ×ÅÎÔÉÌÑÔÏÒÏ×, ×ËÌÀÞÅÎÁ DV>> ÌÉ ÐÅÞËÁ É ÔÐ. úÁÄÁ×ÁÔØ ÍÏÖÎÏ É Ó ÐÏÍÏÝØÀ ÐÅÒÅÍÅÎÎÏÇÏ DV>> ÓÏÐÒÏÔÉ×ÌÅÎÉÑ (ãáð ×ÅÄØ ÔÁÍ ÅÓÔØ).

AD> äÌÑ ÜÔÏÇÏ ÎÕÖÅÎ _áãð_. ôÅÍÐÅÒÁÔÕÒ Õ ÔÅÂÑ ÂÕÄÅÔ 10 (ÉÌÉ Ñ ÞÔÏ-ÔÏ

òÁÄÉ ÓÐÒÁ×ÅÄÌÉ×ÏÓÔÉ ÎÁÄÏ ÓËÁÚÁÔØ, ÞÔÏ × ÉÓÐÏÌØÚÕÅÍÏÍ ÆÉÌÉÐÓÏ×ÓËÏÍ ÍË ÏÎÏ ÕÖÅ ÅÓÔØ - 8 ËÁÎÁÌÏ×, 10 ÂÉÔ.

äÏ Ó×ÉÄÁÎÉÑ, Oleg.

Hello, Oleg! You wrote to Alexander Derazhne on Tue, 30 Nov 2004 01:39:09 +0300:

AD>> äÌÑ ÜÔÏÇÏ ÎÕÖÅÎ _áãð_. ôÅÍÐÅÒÁÔÕÒ Õ ÔÅÂÑ ÂÕÄÅÔ 10 (ÉÌÉ Ñ ÞÔÏ-ÔÏ

OP> òÁÄÉ ÓÐÒÁ×ÅÄÌÉ×ÏÓÔÉ ÎÁÄÏ ÓËÁÚÁÔØ, ÞÔÏ × ÉÓÐÏÌØÚÕÅÍÏÍ ÆÉÌÉÐÓÏ×ÓËÏÍ ÍË OP> ÏÎÏ ÕÖÅ ÅÓÔØ - 8 ËÁÎÁÌÏ×, 10 ÂÉÔ.

èÍÍ... ñ, ÞÅÓÔÎÏ ÇÏ×ÏÒÑ, ×ÏÏÂÝÅ ÎÅ ÏÂÒÁÔÉÌ ×ÎÉÍÁÎÉÑ ÎÁ ÔÉÐ ÍÓ. îÏ ÔÏÇÄÁ ×ÐÏÌÎÅ ×ÏÚÍÏÖÎÏ, ÞÔÏ Õ ÎÅÇÏ É ÒÁÚ×ÉÔÁÑ ÔÁÊÍÅÒÎÁÑ ÐÅÒÉÆÅÒÉÑ ÉÍÅÅÔÓÑ, Á-ÌÑ i8051Fx. éÌÉ, ÓËÏÒÅÅ ÄÁÖÅ GB, ÒÁÚ áãð ÐÒÉÓÕÔÓÔ×ÕÅÔ. ÷ÐÒÏÞÅÍ, ÜÔÏ ×ÓÅÇÏ-ÌÉÛØ "ÐÒÉÒÁ×ÎÉ×ÁÅÔ" ÅÇÏ Ë ÔÏÊ-ÖÅ ÍÅÇÅ, ÎÅ ÓÎÉÍÁÑ ÏÓÔÁÌØÎÙÈ ÍÉÎÕÓÏ×.

With best regards, Alexander Derazhne

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required