Если на то пошло, то и в Windows-е по большому счету нет "многозадачности". А есть, в конечном счете, одна задача (имеется в виду одно ядро) - диспетчер потоков, который потом обрастает великим множеством надстроек, структур, флагов и тттт.ддд...
Начиная с какого-то момента количество переходит в качество, и Win-да превращается в исполинское переплетение. Ваще-то, Форум - не место для обсуждения Win-ды, для этого есть увесистые тома от Джефа Рихтера, Руссиновича, и конечно Криса Касперски.
В очень укрупненном виде - все многозадачности похожи. Но я то хочу сказать, что "контроллеровская многозадачность" не переступила той грани, чтобы стать ненадежной.
С уважением, SAN
Да, еще насчет динамической памяти. Речь то идет не о тех устройствах где её нет, а контроллерах где она используется, и надежно работает !!!
С уважением, SAN
Первоначально опубликовано sanwork
Если на то пошло, то и в Windows-е по большому счету нет "многозадачности". А есть, в конечном счете, одна задача (имеется в виду одно ядро) - диспетчер потоков, который потом обрастает великим множеством надстроек, структур, флагов и тттт.ддд...
Так ведь ресурсами надо же кому то рулить, вот этим ядро ОС(если конечно под этим словом имелось ввиду не камень) и должно заниматься.
Первоначально опубликовано sanwork
Но я то хочу сказать, что "контроллеровская многозадачность" не переступила той грани, чтобы стать ненадежной.
А “повесить” контроллер можно?
Первоначально опубликовано sanwork
Да, еще насчет динамической памяти. Речь то идет не о тех устройствах где её нет, а контроллерах где она используется, и надежно работает !!!
Значит код выполняется под жестки “контролем” ОС контроллера (может даже интерпретируется) и свободу программа в своих действиях, в таком случае, должна иметь весьма условную.
С уважением!
Да уж жаркие дебаты вокруг да около...
С уважением!
1. Ресурсы лежат, ничего не делают, и ждут когда их вызовут. А вот активная часть Wind-ы - управление, настолько наслоено, что сами создатели уже не гарантируют её надежную работу. В ОС учавствует много факторов, они оказываются в разных сочетаниях, и непредсказуемость поведения системы растет в степенной прогрессии !
2. Подвесить контроллер можно (и гирю сломать можно) ! НО - не нужно ! За долгое время выработалась система исключающая зависания контроллеров. И то бывают отказы !
3. Этот пункт перекликается с 1-ым. Контроль (управление) должен быть только со стороны исполнительной программы. Когда-же выполняются системные сервисы, то главный управляющий процесс всегда может их прекратить без последствий. Автономная система должна (в одияле) работать вот так.
С уважением, SAN
1. Что ты подразумеваешь под активной частью винды?
2. Что значит не нужно? Ошибки в программах были, есть и будут. Причем с использованием ООП их количество только возрастает.
3. Опять же непонятно что за главный управляющий процесс? В моем понимании исполнительная программа для обеспечения целостности всей системы (ОС и других пользовательских процессов)должна выполняться в своей “песочнице”. И знать о других программах при выделении памяти ей совершенно необязательно для это есть ОС. Которая должна и обязана заниматься выделением и распределением лежачих ресурсов.
С уважением!
1. Есть пассивные ресурсы, и есть действия над ними. Например, кирпичи - ресурсы, а кладка кирпичей - активные действия над ними.
2. Есть ошибки, а есть ошибочные идеологии. Так вот, ошибки бывают всегда, и подлежат исправлению. А вот взятие ошибочного напрваления, принятие ошибочных идеологий - порой обходится дорого.
3. Главный управляющий процесс - это другими словами, управляющая программа, написанная программистом. Именно она - программа пользователя, должна безраздельно владеть промышленной системой управления, все должно быть подконтрольно только ей, без вмешательства операционной системы. В противоположность этому - бытовая Windows, которая "все сделает за вас !"
Разумеется, программист принимает на себя всю ответственность ! Но ведь, и пишут такие программы не "дипломированные специалисты" окончившие "трехдневные курсы WEB-дизайна", в "Академиях" которые находятся обычно в подвалах с евро-ремонтом !
С уважением, SAN
1. Спасибо за ликбез. Но это ты очень сильно абстрагировался. Меня же конкретно интересует что ты имел ввиду под активной частью винды.
2. Что бы выбрать правильно идеологию (направление) для платформы надо иметь соответствующий опыт, т.е. нужно набить шишки. К тому же правильная идеология это как правило компромисс.
3. Сначала управляющий процесс. Потом назовешь его ядро (ака core). Затем своя ОС. Так стоит ли изобретать велосипед? Тем же самым должна занимается ОС – выделять память, разруливать коллизии и т.д. и т.п.
В моих программах, в двух словах со всеми вытекающими, управляющий процесс занимается: запуском/остановам потоков, организацией межпоточного обмена (определяет механизм обмена), обработкой ошибок и в принципе все. Остальное включается в управляющий процесс тогда когда ОС отсутствует как класс или она не обеспечивает надлежащим образом потребности приложения.
С уважением!
1. Активная часть ?... - Очень кратко - управление потоками. Наверно будет неправильно - просто описывать состав ядра, работу потоков, контент задач ... Всё это многосложно, и ... не нужно ! Для нас полезнее взглянуть с точки зрения отношений PLC-программы и ядра системы. В Win-де хозяйничает ОС - с уровня ядра и совместно с сервисами пользовательского режима. При этом программа пользователя - пассивный набор блоков. В контроллере должна рулить PLC-программа. И дело вовсе не в сложности всей системы (и в контроллере может быть увесистая ОС), а именно в главенстве Пользовательской Программы над ОС. Это как-бы общий стратегический принцип, которого надо придерживаться, и почаще оглядываться.
2. Иметь опыт ?... Так он .. накоплен, в виде отработанной годами схемы. Практически, конечно, всегда получается компромисс. Но общий "правильный" принцип - как ориентир не даст сильно заблудиться.
3. Своя ОС ... Тут два больших направления. Одно - брать готовую ОС , другое - строить самому. Хорошие готовые ОС для задач автоматизации - есть, ими можно смело пользоваться. Правда тут одна заковыка - немалая цена $$$$$$$$$ !
Создание своей ОС - очень поучительно. Тогда изнутри поймешь суть смыслов, и обретешь не меньшие ценности ! Но насколько это преемлет нынешнее время ?...
А вот я там не совсем уловил - ты полностью шедулер (менеджер задач) сотворил, или все-таки какой-то готовый загрузчик стоит ? Поделись опытом.
С уважением, SAN
1. Я бы не сказал что это общий стратегический принцип. Принцип ОС должен заключаться в том что бы не мешать выполнению пользовательской программы. В твоем же варианте “падение” доминирующей программы может привести к нарушению целостности всей системы.
2. Опираясь на свой опыт при выборе общего "правильного" принципа ты определяешь и компромиссы.
3. Во втором варианте твоя ОС будет узко специализирована. Ко всему-прочему придется писать свои дрова под чужие железки. Так что покупка ОС может обойтись гораздо дешевле по сумме человека часов затраченных на разработку чего-нибудь своего. Опять же, оговорюсь, все зависит от поставленной задачи.
Под винду и линукс писал что-то вроде шедулера. На контроллерах многозадачность не реализовывал.
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме