Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > ПЛК и микроконтроллеры
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Многопоточность в ADAM 5510( или прерывания)

 Ответить Ответить Страница  <1 23456 7>
Автор
Сообщение
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Многопоточность в ADAM 5510( или прерывания)
    Опубликовано: 22 Апрель 2009 19:52

Если на то пошло, то и в  Windows-е  по большому счету нет "многозадачности".  А есть, в конечном счете, одна задача (имеется в виду одно ядро) - диспетчер потоков, который потом обрастает великим множеством надстроек, структур, флагов  и тттт.ддд...

Начиная с какого-то момента количество переходит в качество, и Win-да превращается в исполинское переплетение.  Ваще-то, Форум - не место для обсуждения Win-ды, для этого есть увесистые тома от Джефа Рихтера, Руссиновича, и конечно  Криса Касперски.

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

С уважением, SAN

Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 22 Апрель 2009 20:02

Да, еще насчет динамической памяти.  Речь то идет не о тех устройствах где её нет, а контроллерах где она используется, и надежно работает !!!

С уважением, SAN

Наверх
globus Смотреть выпадающим
Участник
Участник


Присоединился: 29 Июнь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 62
Свойства публикации Свойства публикации   Ответить, цитируя автора - globus Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Апрель 2009 08:23
Первоначально опубликовано sanwork

Если на то пошло, то и в  Windows-е  по большому счету нет "многозадачности".  А есть, в конечном счете, одна задача (имеется в виду одно ядро) - диспетчер потоков, который потом обрастает великим множеством надстроек, структур, флагов  и тттт.ддд...



Так ведь ресурсами надо же кому то рулить, вот этим ядро ОС(если конечно под этим словом имелось ввиду не камень) и должно заниматься.

Первоначально опубликовано sanwork


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



А “повесить” контроллер можно?

Первоначально опубликовано sanwork


Да, еще насчет динамической памяти. Речь то идет не о тех устройствах где её нет, а контроллерах где она используется, и надежно работает !!!

Значит код выполняется под жестки “контролем” ОС контроллера (может даже интерпретируется) и свободу программа в своих действиях, в таком случае, должна иметь весьма условную.
С уважением!
Наверх
globus Смотреть выпадающим
Участник
Участник


Присоединился: 29 Июнь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 62
Свойства публикации Свойства публикации   Ответить, цитируя автора - globus Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Апрель 2009 08:24
Да уж жаркие дебаты вокруг да около...
С уважением!
Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Апрель 2009 10:59

1. Ресурсы лежат, ничего не делают, и ждут когда их вызовут.  А вот активная часть Wind-ы - управление, настолько наслоено, что сами создатели уже не гарантируют её надежную работу.  В ОС учавствует много факторов, они оказываются в разных сочетаниях, и   непредсказуемость поведения системы растет в степенной прогрессии !

2. Подвесить контроллер можно (и гирю сломать можно) !  НО -  не нужно !  За долгое время выработалась система исключающая зависания контроллеров.  И то бывают отказы !

3. Этот пункт перекликается с 1-ым.  Контроль (управление) должен быть только со стороны исполнительной программы.  Когда-же выполняются системные сервисы, то главный управляющий процесс всегда может их прекратить без последствий.  Автономная система должна (в одияле) работать вот так.

С уважением, SAN

Наверх
globus Смотреть выпадающим
Участник
Участник


Присоединился: 29 Июнь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 62
Свойства публикации Свойства публикации   Ответить, цитируя автора - globus Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Апрель 2009 08:00
1. Что ты подразумеваешь под активной частью винды?

2. Что значит не нужно? Ошибки в программах были, есть и будут. Причем с использованием ООП их количество только возрастает.

3. Опять же непонятно что за главный управляющий процесс? В моем понимании исполнительная программа для обеспечения целостности всей системы (ОС и других пользовательских процессов)должна выполняться в своей “песочнице”. И знать о других программах при выделении памяти ей совершенно необязательно для это есть ОС. Которая должна и обязана заниматься выделением и распределением лежачих ресурсов.
С уважением!
Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Апрель 2009 12:17

1. Есть пассивные ресурсы, и есть действия над ними. Например, кирпичи - ресурсы, а кладка кирпичей - активные действия над ними.

2. Есть ошибки, а есть ошибочные идеологии. Так вот, ошибки бывают всегда, и подлежат исправлению.  А вот взятие ошибочного напрваления, принятие ошибочных идеологий - порой обходится дорого.

3. Главный управляющий процесс - это другими словами, управляющая программа, написанная программистом. Именно она - программа пользователя, должна безраздельно владеть промышленной системой управления, все должно быть подконтрольно только ей, без вмешательства операционной системы.  В противоположность этому - бытовая Windows, которая "все сделает за вас !"

Разумеется, программист принимает на себя всю ответственность ! Но ведь, и пишут такие программы не "дипломированные специалисты" окончившие "трехдневные курсы WEB-дизайна", в "Академиях" которые находятся обычно в подвалах с евро-ремонтом !

С уважением, SAN

Наверх
globus Смотреть выпадающим
Участник
Участник


Присоединился: 29 Июнь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 62
Свойства публикации Свойства публикации   Ответить, цитируя автора - globus Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 27 Апрель 2009 08:00
1. Спасибо за ликбез. Но это ты очень сильно абстрагировался. Меня же конкретно интересует что ты имел ввиду под активной частью винды.
2. Что бы выбрать правильно идеологию (направление) для платформы надо иметь соответствующий опыт, т.е. нужно набить шишки. К тому же правильная идеология это как правило компромисс.
3. Сначала управляющий процесс. Потом назовешь его ядро (ака core). Затем своя ОС. Так стоит ли изобретать велосипед? Тем же самым должна занимается ОС – выделять память, разруливать коллизии и т.д. и т.п.
В моих программах, в двух словах со всеми вытекающими, управляющий процесс занимается: запуском/остановам потоков, организацией межпоточного обмена (определяет механизм обмена), обработкой ошибок и в принципе все. Остальное включается в управляющий процесс тогда когда ОС отсутствует как класс или она не обеспечивает надлежащим образом потребности приложения.
С уважением!
Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 27 Апрель 2009 14:35

1.
Активная часть ?... - Очень кратко - управление потоками.
Наверно будет неправильно - просто описывать состав ядра, работу потоков, контент задач ...
Всё это многосложно, и ... не нужно !
Для нас полезнее взглянуть с точки зрения отношений PLC-программы и ядра системы.
В Win-де хозяйничает ОС - с уровня ядра и совместно с сервисами пользовательского режима.
При этом программа пользователя - пассивный набор блоков.
В контроллере должна рулить PLC-программа. И дело вовсе не в сложности всей системы (и в контроллере может быть увесистая ОС), а именно в главенстве Пользовательской Программы над ОС.
Это как-бы общий стратегический принцип, которого надо придерживаться, и почаще оглядываться.

2.
Иметь опыт ?... Так он .. накоплен, в виде отработанной годами схемы.
Практически, конечно, всегда получается компромисс. Но общий "правильный" принцип - как ориентир не даст сильно заблудиться.

3.
Своя ОС ...
Тут два больших направления.
Одно - брать готовую ОС ,  другое - строить самому.
Хорошие готовые ОС для задач автоматизации - есть, ими можно смело пользоваться. Правда тут одна заковыка - немалая цена  $$$$$$$$$ !


Создание своей ОС - очень поучительно. Тогда изнутри поймешь суть смыслов, и обретешь не меньшие ценности !
Но насколько это преемлет нынешнее время ?...

А вот я там не совсем уловил - ты полностью шедулер (менеджер задач) сотворил, или все-таки какой-то готовый загрузчик стоит ?  Поделись опытом.

С уважением, SAN

Наверх
globus Смотреть выпадающим
Участник
Участник


Присоединился: 29 Июнь 2007
Категория: Russian Federation
Online Status: Offline
Публикации: 62
Свойства публикации Свойства публикации   Ответить, цитируя автора - globus Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 30 Апрель 2009 08:14
1. Я бы не сказал что это общий стратегический принцип. Принцип ОС должен заключаться в том что бы не мешать выполнению пользовательской программы. В твоем же варианте “падение” доминирующей программы может привести к нарушению целостности всей системы.
2. Опираясь на свой опыт при выборе общего "правильного" принципа ты определяешь и компромиссы.
3. Во втором варианте твоя ОС будет узко специализирована. Ко всему-прочему придется писать свои дрова под чужие железки. Так что покупка ОС может обойтись гораздо дешевле по сумме человека часов затраченных на разработку чего-нибудь своего. Опять же, оговорюсь, все зависит от поставленной задачи.

Под винду и линукс писал что-то вроде шедулера. На контроллерах многозадачность не реализовывал.
С уважением!
Наверх
 Ответить Ответить Страница  <1 23456 7>

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz