Slovan 0 27 сентября, 2012 Опубликовано 27 сентября, 2012 · Жалоба Добрый день! Понимаю всю обсурдность вопроса... но стоит задача - обеспечить передачу UDP пакетов в сеть с жестким интервалом 10мс. Система только виндоуз и ничего кроме виндоуз. (Причины: драйвера, ПО, просто лень разработчиков изучать другие системы) В общем, уговорить перейти на что-то более адекватное у меня не получается. Какие есть варианты? Мультимедия таймер не обеспечивает необходимой точности. http://www.intervalzero.com/ - вроде бы то, что нужно. Но непонятно, сколько времени уйдет на освоение и сколько вообще это будет стоить. Если подключить к COM порту контроллер, который будет каждые 10мс посылать сигнал, и роботать по прерыванию - может это как-то улучшить ситуацию? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 10 28 сентября, 2012 Опубликовано 28 сентября, 2012 · Жалоба Если подключить к COM порту контроллер, который будет каждые 10мс посылать сигнал, и роботать по прерыванию - может это как-то улучшить ситуацию?Нет, такое решение не улучшит. Какя разница кто будет источником прерывания - компорт или внутренний таймер? Если винде надо будет обслужить другую задачу, например перерисовать гуи, то она запросто предержить обработку прерывания от компорта. Но если городить внешний контроллер, так пусть он и передает эти UDP паеты сам. Если на комп поставить голый линукс, то ситуация не лучше. Что для линукса, что для венды... чтоб получить жёсткие интервалы времени нужен бубен типа такого. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 28 сентября, 2012 Опубликовано 28 сентября, 2012 · Жалоба На DOS перейдите, чего уж там... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 9 28 сентября, 2012 Опубликовано 28 сентября, 2012 · Жалоба Если на комп поставить голый линукс, то ситуация не лучше. Что такое голый линукс ? Это голый или не голый http://www.redhat.com/products/mrg/realtime/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Slovan 0 28 сентября, 2012 Опубликовано 28 сентября, 2012 · Жалоба Если на комп поставить голый линукс, то ситуация не лучше. Что для линукса, что для венды... чтоб получить жёсткие интервалы времени нужен бубен типа такого. Ну если бы можно было поставить другую систему, то смотрели бы в первую очередь сторону QNX... Venturcom RTX это и есть http://www.intervalzero.com/ На DOS перейдите, чего уж там... Ну да, вариант. Еще Win CE можно попробовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 10 28 сентября, 2012 Опубликовано 28 сентября, 2012 · Жалоба Что такое голый линукс ? Это голый или не голый http://www.redhat.com/products/mrg/realtime/ это не голый. Технически MRG Realtime – это набор пакетов, превращающих стандартный Red Hat Enterprise Linux (RHEL) в ОС реального времени. Можно поставить какойнить дебьян и руками настроить и/или доставить набор пакетов превращяющий дебьян в реалтайм. Ну если бы можно было поставить другую систему, то смотрели бы в первую очередь сторону QNX... В общем, уговорить перейти на что-то более адекватное у меня не получается.я не предлагаю поставить др систему. Я про линукс сказал к тому, что дригие ос, а это линуксы, фрибсд, макОС.... это тоже не реалтайм и там тоже нужен бубен. Да, совсем забыл про QNX. Могу сказать про QNX4.25 реалтаймовости она даст, но будут проблемы с дровами под современное железо. QNX6 ... ни чего не скажу, неуспел освоить. А ДОС даст опрос по таймеру строго каждые 10 мс или строго каждую мс если паралельно будут крутиться ещё несколько мение приоритетных задач? Тоже есть пару проектов где хотелось-бы строгие интервалы иметь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 8 28 сентября, 2012 Опубликовано 28 сентября, 2012 (изменено) · Жалоба Понимаю всю обсурдность вопроса... но стоит задача - обеспечить передачу UDP пакетов в сеть с жестким интервалом 10мс. Действительно, абсурдная постановка задачи. Первый же встретившийся на пути пакетов UDP роутер или даже Ethernet-свич сломает любой жёсткий интервал следования пакетов. Поэтому упираться в ОС бессмысленно. Для таких задач нужно смотреть в сторону синхронных коммуникаций. И, кстати, реалтайм тут совершенно ни при чём. :rolleyes: Изменено 28 сентября, 2012 пользователем gerber Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 28 сентября, 2012 Опубликовано 28 сентября, 2012 · Жалоба А ДОС даст опрос по таймеру строго каждые 10 мс или строго каждую мс если паралельно будут крутиться ещё несколько мение приоритетных задач? Тоже есть пару проектов где хотелось-бы строгие интервалы иметь Дос-то однозадачный :) Но это совершенно не беда, если смастерить приложение, которое на самом деле будет FREERTOS с юзаньем железячных прерываний с одной стороны и доступом к биосу через досовские сервисы с другой. Почему бы и нет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 9 28 сентября, 2012 Опубликовано 28 сентября, 2012 (изменено) · Жалоба это не голый. Можно поставить какойнить дебьян и руками настроить и/или доставить набор пакетов превращяющий дебьян в реалтайм. Тогда нужно говорить не голый/одетый а про ванильное ядро. Ветка -rt одна из многих девелоперских веток и все что там стабильно и имеет применение со временем попадает в майнстрим https://www.osadl.org/Realtime-Linux.projec...me-linux.0.html юзерспейс остается тем-же, в этом изюминка подхода - realtime Linux не требует модификации кода юзерспейс, специальных драйверов и пакетов кроме утилиты для раздачи приоритетов (chrt), которая там и так есть. Действительно, абсурдная постановка задачи. Первый же встретившийся на пути пакетов UDP роутер или даже Ethernet-свич сломает любой жёсткий интервал следования пакетов. http://en.wikipedia.org/wiki/Precision_Tim...ssage_transport Изменено 28 сентября, 2012 пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 10 28 сентября, 2012 Опубликовано 28 сентября, 2012 · Жалоба Тогда нужно говорить не голый/одетый а про ванильное ядро. Ветка -rt одна из многих девелоперских веток и все что там стабильно и имеет применение со временем попадает в майнстрим https://www.osadl.org/Realtime-Linux.projec...me-linux.0.html ну уж тогда нужно говорить "linux" и "realtime Linux". Даже на вашей ссылке в одном месте слово линукс "Is realtime possible with Linux?" (даже в этом вопросе подрозумевается что обычный линукс не реалтаймовый), и на всем сайте они свой линукс называют "Realtime Linux". Дос-то однозадачный досы то разные бывают..... я просто думал что FreeDOS-32 многозадачный. ашипся, пока тока в планах ввести многозадачность. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 9 28 сентября, 2012 Опубликовано 28 сентября, 2012 (изменено) · Жалоба "Is realtime possible with Linux?" (даже в этом вопросе подрозумевается что обычный линукс не реалтаймовый) и "необычный" не реалтаймовый (по крайней мере как это многие понимают на микроконтроллерах - точность до тактов) это игра слов, а детерминизм достаточный для задач ТС (10 мс) обеспечит даже ванильное ядро на х86 (HPET там давным давно есть на всех системах). Изменено 28 сентября, 2012 пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 8 28 сентября, 2012 Опубликовано 28 сентября, 2012 · Жалоба http://en.wikipedia.org/wiki/Precision_Tim...ssage_transport В огороде бузина, а в Киеве дядька. Возможность синхронизировать время по сети никак не гарантирует, что UDP пакеты дойдут до получателя строго с тем же интервалом, с каким вышли от отправителя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 28 сентября, 2012 Опубликовано 28 сентября, 2012 · Жалоба досы то разные бывают..... я просто думал что FreeDOS-32 многозадачный. ашипся, пока тока в планах ввести многозадачность. http://www.on-time.com/rtkernel-dos.htm Знакомая штучка? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Slovan 0 28 сентября, 2012 Опубликовано 28 сентября, 2012 · Жалоба Действительно, абсурдная постановка задачи. Первый же встретившийся на пути пакетов UDP роутер или даже Ethernet-свич сломает любой жёсткий интервал следования пакетов. Хм... Ну роутеров у нас нет, только свичи. Большого потока данных не идет. Небольшое колебание 9-11мс допускается. Вроде не должно быть проблем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 9 28 сентября, 2012 Опубликовано 28 сентября, 2012 · Жалоба Возможность синхронизировать время по сети никак не гарантирует, что UDP пакеты дойдут до получателя строго с тем же интервалом, с каким вышли от отправителя. Ну все - нужно срочно каждому тянуть синхронные коммуникации до Гринвича, ггг. Как говорится смотрю в книгу вижу фигу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться