Многопоточность в ADAM 5510( или прерывания) |
Ответить | Страница <1 34567> |
Автор | |
Действительный член Присоединился: 08 Март 2006 Категория: Russian Federation Online Status: Offline Публикации: 440 |
Опубликовано: 30 Апрель 2009 19:10 |
1. Ну ваще-то, программа не должна падать по определению. Если падает - то надо переписывать, пока не достигнет нужной устойчивости. Это как организм - пытается жить до последнего, даже при тяжелых повреждениях. Винда - прямая противоположность: чуть чо не так - лапки кверху. Когда я говорил о выборе ОС то забыл одну очень интересную вещь - драйверы Реального Времени встраиваемые в стандартные ОС. Из которых я встречал, самая серьезная - SP RTE , входящая в состав среды CoDeSys. Вот отличный пример компромисса ! Каждая часть занимается своим делом : Винда - для раскрасок, расписных интерфейсов (уж это-то она могет !), РТ-часть - для классического ПЛК, без всяких декораций и с присущей ему надежностью. Интересно, что обе части могут находиться как на одной машине, так и на разных, обмен данными - по любому современному интерфейсу. Второй вариант намного лучше, потому-что процессорный модуль можно подобрать наиболее оптимально: под Винду с графикой - свой, а под ПЛК - другой, которому даже графическая карта не нужна. Все вместе получается дешевле чем одна общая машина. С уважением, SAN |
|
Действительный член Присоединился: 15 Апрель 2005 Категория: Russian Federation Online Status: Offline Публикации: 101 |
|
Если Вам удастся привести убедительный пример, когда при зависании Windows (или чего другого) отваливался "нижний уровень" в какой-нибудь системе - будет для всех без исключения крайне интересно и поучительно. |
|
Действительный член Присоединился: 08 Март 2006 Категория: Russian Federation Online Status: Offline Публикации: 440 |
|
Немного уточню. Винда очень болезненно переносит дисковые операции, особенно с CD/DVD приводами. Это сложилось исторически, и чо-та так и не смогли поправить. Эти типы зависаний довольно глубоко уходят корнями в ядро. SP RTE проверялась при вот этих глюках, что весьма убедительно. С уважением, SAN |
|
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
|
Опишите условия проверки если не трудно. При дисковых операциях подвисает Shell причем если этот Shell эксплорер, что кстати вовсе не обязательно. Процессы не завязанные на неуспешную дисковую операцию протекают в штатном режиме. Попробуйте контролировать работу испытуемого хоста по удаленке, оснастки производительности в этом помогут. |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 02 Октябрь 2007 Категория: Russian Federation Online Status: Offline Публикации: 427 |
|
Свои пять копеек внесу. Еще DOS при выполнении файловых операций отключала все прерывания на 10 мс (примерно) при обращении к сектору. Как результат, отставание часов машины при большом объеме файловых операций и сбои в работе последовательного обмена в момент файловых операций , когда буферизация не спасает (а буфер в 14 байт, вообще говоря, далеко не всегда спасает). Это собственно все видели. Скорее всего, этот же механизм перенесен и в винду - винчестеры- то что при DOS, что при винде одинаково с компом общаются. Может его чуть подправили, но скорее всего нет, если было бы можно - сделали еще бы в DOSе. Так что, чудеса при файловых операциях во многом отсюда произрастают. Скорострельность машины выручает, но до тех пор, пока работа не связана с прерываниями.
Видел такую штуку: при неуспешной файловой операции убивался Diskonchip. Причем происходило это настолько достоверно и регулярно, что от него пришлось просто отказаться в компьюторе и уйти на Diskonmodul, там то уж такого не было. |
|
При экспериментах ни один чайник не пострадал
----------- Плохому системному интегратору всегда OPC сервер мешает. ______________ Пишу на C++ за еду |
|
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
|
Гадать назачем
Берите "Внутренне устройство Windows..." от Русиновича и Соломона, там все подробно расписано. Windows действительно маскирует все ниже лежащие по приоритету прерывания и операции на момент обработки текущего прерывания. Но приоритет прерывания занимаемого часами один из самых высоких, во всяком случае файловые операции он прерывает. В основе любой платформы лежит простая концепция, принцип. Он как Конституция прост и он же закладывает базовые достоинства и недостатки любой платформы. Так сказать клей для религиозных войн. Если вы хотите понять суть недостатков платформы эта книга вам поможет. Поможет понять также и неоспоримые достоинства коих данная платформа вовсе не лишена как многие полагают. Вопрос применяемости той или иной концепции постороения платформы ИМХО должен рассматриваться этом разрезе, а не сравнением с продуктами дефекации |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 02 Октябрь 2007 Категория: Russian Federation Online Status: Offline Публикации: 427 |
|
Файловые операции прерывают операции с часами. Если написано наоборот - врут, мин херц! Вернее так: если идет обращение в файлу - запрещаются все прерывания. Поэтому каков бы приоритет ни был - прерывание будет пропущено. То что я видел в DOSе - именно пропущено (утеряно). Уже не помню, но когда смотрел как контроллер прерывания работает, то всплыло то, что чтобы было не совсем плохо (вернее плохо, но по очереди) приоритеты прерываний после каждого прерывания вращаются. Мои попытки жестко назначить приоритеты (хотел чтобы порты все же не теряли символы при обмене) не увенчались успехом, падала система.
|
|
При экспериментах ни один чайник не пострадал
----------- Плохому системному интегратору всегда OPC сервер мешает. ______________ Пишу на C++ за еду |
|
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
|
эээ... вы сказали что этот механизм был перенесен в Windows, я вам сказал, что это не так. Но как говорил Морфеус я могу только показать вам дверь, войти в нее вам нужно самому
|
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 02 Октябрь 2007 Категория: Russian Federation Online Status: Offline Публикации: 427 |
|
Эээ. Вы прочитали в книжке. Но, когда вам придеся поправлять обмен или добиваться нормальной работы часов в компе или контроллере, в котором стоит винда, вспомните не соломона, а то что я написал:) Кстати, писатели на чистую воду выводятся очень просто. Запускается компьютор на 3 часа без задач. Просто работает. Смотрим его часы по внешним эталонным. Через три часа опять смотрим. Второй подход. Все три часа должна крутиться задача которая пишет в файл без перерыва. Вы получите отставание во втором случае примерно в 5-6 секунд. Я уже насмотрелся на это, но вы можете посмотреть. |
|
При экспериментах ни один чайник не пострадал
----------- Плохому системному интегратору всегда OPC сервер мешает. ______________ Пишу на C++ за еду |
|
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
|
Ни разу не видел ничего подобного на своем файловом сервере, 2000 Windows Advansed Server SP 4 синхронизируюсь переодически (раз в неделю) с пулом NTP серверов со стратумом 2 компенсирую отставание порядка 12-15 секунд стабильно. Нагрузка имеет рваный неравномерный характер. По поводу пренебрежения к теории могу сказать, что мифы рожденные невежеством порождают неверные выводы от объема практики не зависящие. DIXI
|
|
Ответить | Страница <1 34567> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |