Официальный форум СВД Встраиваемые Системы
23 Марта, 2019, 15:54:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Портирование кода из Линукс в QNX.  (Прочитано 215 раз)
kanat
Пользователь

Сообщений: 14



« : 05 Марта, 2019, 16:11:00 »

Здравствуйте, уважаемые форумчане!

Когда-то давно нашёл тему на форуме (буржуинском) "How to port a Linux driver to QNX?" (точнее на openqnx.com ).
Много там полезного и заумного. Впрочем помогло в самом начале.

Сейчас у меня совсем простой вопрос: "QNX how to INIT_DELAYED_WORK" негусто с ответами в поисковиках.
Простенький вроде механизм, можно и самому сочинить. Однако может быть есть проверенные методики?
Надо отложить задачу (вызов процедуры) на 200 миллисекунды в другом потоке (неспешном).

Записан

"Прямой угол" - от слова "стою прямо" (к градусам отношения не имеет)).
Андрей Докучаев
Сотрудник СВД ВС
Ветеран

Сообщений: 735



WWW
« Ответ #1 : 05 Марта, 2019, 16:38:15 »

Сейчас у меня совсем простой вопрос

Простой встречный вопрос. Зачем и откуда в QNX системные сервисы ядра Linux, в частности workqueue?
Записан

kanat
Пользователь

Сообщений: 14



« Ответ #2 : 05 Марта, 2019, 17:08:53 »

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

А вот то что в QNX есть механизм очередей сообщений радует. В QNX их аж две штуки:  mqueue (posix) и mq.
Записан

"Прямой угол" - от слова "стою прямо" (к градусам отношения не имеет)).
Андрей Докучаев
Сотрудник СВД ВС
Ветеран

Сообщений: 735



WWW
« Ответ #3 : 05 Марта, 2019, 21:05:53 »

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

В ядре Linux общая концепция работы с потоками иная. В QNX автономный от ядра ОС код тем или иным образом может порождать собственные потоки, выполнить задержку в котором не составляет никакого труда.
Записан

kanat
Пользователь

Сообщений: 14



« Ответ #4 : 06 Марта, 2019, 09:22:36 »

Спасибо.
Да. Как-то трудновато перестроить мЫшление, надо помнить что создание потока в QNX стоит "копейки".
То есть привыкли что поток это нечто похожее на усечённый процесс, LWP в Solaris (расходы большие, потому и некий системный процесс, для отложенных задач, организовать было разумным).
Записан

"Прямой угол" - от слова "стою прямо" (к градусам отношения не имеет)).
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2019 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 05 Марта, 2019, 22:43:40