Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Aleksey Barabanov                    2:5020/400     27 Aug 2002  17:33:49
 To : Valentin Nechayev
 Subject : Re: lost interrupt !
 -------------------------------------------------------------------------------- 
 
  Valentin Nechayev wrote:
 
 > Совет проктолога для покупки унитаза как раз может быть крайне важен.
 > ;)
 
 Hу это кому как ;)
 
 >>>  плачевным, я тебя AD> уверяю.
 > AB> Hадо бы не уверять а книжки читать на уровне А-сертификации.
 > 
 > Что имеется в виду?
 
 Конкретно выпущенный учебник для подготовки к сертификации на элементарное 
 знание компьютерного оборудования. Я его сам не читал, но лет несколько 
 назад купил своему чаду после того, как ему на уроке информатики тупой 
 препод сгорбатил, обозвав "зерно" маски "семенами" ;))) После этих "семян 
 на экране монитора", я решил прибегнуть к "силе печатного слова".
 
 >>> этих машин и покажу тебе результаты. А lost interrupt - оно по другой
 >>> причине. Тем более, что у автора оригинальной мессаги после пересборки
 >>> ядра все заработало.
 > AB> По моему скромному мнению прерывания теряются не в девайсах, а в
 > процессе их AB> обработки программным драйвером. При обработке запроса на
 > прерывание AB> система должна перейти в состояние блокировки всех
 > прерываний уровня AB> обрабатываемого и ниже. Hо триггер приема прерываний
 > от девайсов все равно AB> будет их фиксировать.
 > 
 > Вы говорите о чем-то таком, что на x86 никогда не применялось.
 
 Стоп ! Далее вы совершенно правильно пишите о линуксе и применяемых там 
 режимах обработки. Я же указал имеено то, как это реализовано на x86 в 
 контроллере PIC. Кстати, способы обработки прерываний юниксов весьма 
 архаичны, как и дуальная система приоритетов выполнения супервизор/юзер. 
 Все выросло из примитивной системы преимущественно поллинговой обработки 
 прерываний в младших DEC и такого простого деления приоритетов выполнения в 
 расширители памяти тамже. Именно x86 , а точнее IA32 , предоставляет массу 
 неиспользованных никем (ну может в OS/2 попытались) возможностей 
 аппаратурной (точнее микропрограммной) обработки функций ядра ОС.
 
 > В Linux система простая - или прерывания разрешены (все), или запрещены
 > (тоже все). Слово "все" здесь не включает NMI, но включает таймерные (0,
 > 8). В BSD так называемые уровни прерываний не вводят между ними иерархию
 > (кроме понятных соотношений - hardnet, он же imp, закрывает и softnet),
 > а дают пригодные для наложения маски; cli/sti применяются в редких случаях
 > и только в коде, напрямую работающем с железом или с переключением задач.
 > 
 > AB> И также будет фиксировать все двойные прерывания как
 > AB> "потерянные". Все прерывания от девайсов mass-media являются
 > AB> инициированными самим драйвером {ну разве кроме открытия трея CD}.
 > Т.е. AB> обычно потеря прерывания это программная ошибка или отсутствие
 > необходимой AB> проверки корректности завершения запрошенной операции
 > девайсом.
 > 
 > ide.c говорит, что lost interrupt пишется, когда таймер истек, устройство
 > по истечении таймера показывает ready, а прерывания так и не было.
 > Мне сложно представить себе, чтобы это была полностью программная ошибка
 > (хотя кто знает?)
 
 Где-то так я и написал : Устройство завершило команду, а прерывание 
 наложилось и потому не отмечено в системе, т.е. потеряно. Вопрос: почему 
 оно наложилось ? Если все команды инициированы драйвером, то и все 
 завершения должны им фиксироваться. Гонки сигналов от девайсов ловятся 
 аппаратными защелками. И по идее это все должно однозначно расшифровываться 
 драйвером. А вот таки не расшифровалось. Обращаю ваше внимание на то, что 
 пересбор ядра устранил эту проблему. Hе буду далее настаивать, ибо "кто его 
 знает", но по всему выходит, что проблема в кодах.
 
 Bye.
 -- 
 Aleksey Barabanov <alekseybb@mtu-net.ru>
 --- ifmail v.2.15dev5
  * Origin: intranet (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: lost interrupt !   Dmitry Bulatovsky   25 Aug 2002 20:40:51 
 Re: lost interrupt !   Alexei Dets   26 Aug 2002 20:07:17 
 lost interrupt !   Svyatoslav Abramenkov   26 Aug 2002 20:31:58 
 Re: lost interrupt !   Alexei Dets   27 Aug 2002 02:19:11 
 lost interrupt !   Svyatoslav Abramenkov   27 Aug 2002 07:29:04 
 Re: lost interrupt !   Aleksey Barabanov   27 Aug 2002 13:57:54 
 Re: lost interrupt !   Valentin Nechayev   27 Aug 2002 16:16:31 
 Re: lost interrupt !   Aleksey Barabanov   27 Aug 2002 17:33:49 
 Re: lost interrupt !   Alexei Dets   27 Aug 2002 19:05:24 
 Re: lost interrupt !   Serguei Khvatov   28 Aug 2002 13:24:59 
 Re: lost interrupt !   Alex Tomas   28 Aug 2002 16:29:43 
 Re: lost interrupt !   Serguei Khvatov   28 Aug 2002 17:13:25 
 Re: lost interrupt !   Alex Tomas   28 Aug 2002 18:29:59 
 Re: lost interrupt !   Valentin Nechayev   28 Aug 2002 21:27:27 
 Re: lost interrupt !   Alex Tomas   28 Aug 2002 21:35:32 
 Re: lost interrupt !   Valentin Nechayev   27 Aug 2002 10:48:05 
 Re: lost interrupt !   Alexei Dets   27 Aug 2002 19:35:59 
Архивное /ru.linux/185295a65759e.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional