реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> вопросо о QNX теоритичекого характера
katarsis
сообщение Jan 24 2011, 16:55
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 116
Регистрация: 14-05-05
Из: snz->ekb->msk.
Пользователь №: 5 026



Некоторое время назад QSS был куплен RIM, и немного спустя был анонсирован планшет, основанный на QNX.
меня интересуют 2 теоретических вопроса, которые я хотел бы прояснить при помощи знающих людей.
и так.
в QNX есть ряд архитектурных особенностей, который являются плюсом в пром автоматизации, но могут быть минусом в случае использовании для гаджета. а именно:
a. многозадачность. как ни странно, использование полноценной многозадачности требует дополнительных затрат по питанию.
б. есть мнение, что жесткое реально время только вредит мобильной системе. в линуксе, при вычислении приоритета процесса используется "степень интерактивности" - интерактивный процесс, занимающийся визуализацией на экран, имеет больше приоритет чем фоновый. так вот, обыграно ли это както в QNX, ведь в случае жесткого реально времени - вполне себе нормальна ситуация, когда интерактивный процесс отрисовки видео может быть прерван для подгрузки данных из интернета фоновым процессом.

как быть? что сделано в QNX, обходящие эти особенности, или может это вообще не особенности и мне все кажется?
спасибо
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Jan 24 2011, 17:27
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Ну, QNX я лет 10 не пользовал, но честно говоря не вижу что из вопросов касается именно QNX, а не любой RTOS. С этой позиции и выскажусь:

Цитата(katarsis @ Jan 24 2011, 18:55) *
a. многозадачность. как ни странно, использование полноценной многозадачности требует дополнительных затрат по питанию.

Практически это не соответствует действительности. Теоретически я могу себе представить как эти единицы процента ресурса бьют по энергопотреблению, но практически скорее могу представить себе обратную ситуацию, когда грамотная диспетчеризация и пользование сервисов RTOS позволяет оптимально собрать систему и тем самым снизить потребление.

Цитата(katarsis @ Jan 24 2011, 18:55) *
б. есть мнение, что жесткое реально время только вредит мобильной системе. в линуксе, при вычислении приоритета процесса используется "степень интерактивности" - интерактивный процесс, занимающийся визуализацией на экран, имеет больше приоритет чем фоновый. так вот, обыграно ли это както в QNX, ведь в случае жесткого реально времени - вполне себе нормальна ситуация, когда интерактивный процесс отрисовки видео может быть прерван для подгрузки данных из интернета фоновым процессом.

странное мнение. Как человек, делавший батарейную технику на базе RTOS (юкос и его гуи), никогда не сталкивался с подобными проблемами. Экран обновляется по мере поступления новых данных и из соображений эргономики а никак не от "степени интерактивности". Это относится и ко всем остальным задачам: обработка следует за событием, просто в RTOS это время до начала обработки не резиновое.

Цитата(katarsis @ Jan 24 2011, 18:55) *
как быть? что сделано в QNX, обходящие эти особенности, или может это вообще не особенности и мне все кажется?

Кажется. sm.gif
Go to the top of the page
 
+Quote Post
jasper
сообщение Jan 27 2011, 06:13
Сообщение #3


Народный чинитель
***

Группа: Участник
Сообщений: 415
Регистрация: 15-07-05
Пользователь №: 6 811



Цитата(katarsis @ Jan 24 2011, 21:55) *
б. есть мнение, что жесткое реально время только вредит мобильной системе. в линуксе, при вычислении приоритета процесса используется "степень интерактивности" - интерактивный процесс, занимающийся визуализацией на экран, имеет больше приоритет чем фоновый. так вот, обыграно ли это както в QNX, ведь в случае жесткого реально времени - вполне себе нормальна ситуация, когда интерактивный процесс отрисовки видео может быть прерван для подгрузки данных из интернета фоновым процессом.

Мне кажется, что все с точностью, да наоборот.
Гораздо более неприятная ситуация, когда, например, подвисший браузер блокирует входящий звонок.
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Jan 27 2011, 10:06
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(katarsis @ Jan 24 2011, 19:55) *
a. многозадачность. как ни странно, использование полноценной многозадачности требует дополнительных затрат по питанию.


Многозодачность обеспечивается в ядре ОС. Ядро маленькое. В QNX можно регулировать периоды вызова ядра.
Я уже лет 8 им не занимаюсь, но помоему в QNX4 изначально ядро дёргают каждые 25мс и это время можно уменьшить до 1мс.
В QNX6 вроде до 0.125мс можно поставить.

Цитата(katarsis @ Jan 24 2011, 19:55) *
б. есть мнение, что жесткое реально время только вредит мобильной системе. в линуксе, при вычислении приоритета процесса используется "степень интерактивности" - интерактивный процесс, занимающийся визуализацией на экран, имеет больше приоритет чем фоновый. так вот, обыграно ли это както в QNX, ведь в случае жесткого реально времени - вполне себе нормальна ситуация, когда интерактивный процесс отрисовки видео может быть прерван для подгрузки данных из интернета фоновым процессом.


Не может. Во первых есть 3 типа планирование процессов (scheduling). Во вторых ни интернет, ни показ видео не являются отдельными процессами.
Они каждый состоят из кучи процессов со своими приоритетами.

Видеокадр заполняется с двойной буферизацией. Поэтому главное успеть декодировать новый кадр за межкадровое время.
Данные для начала поподяют из езернета в память карты - оттуда в драйвер с высоким приоритетом по прерыванию.
Далее стек TCPIP (интернета) уже будет медленно обнюхивать эти данные на предмет выуживания из них информации.

Естественно, что если идёт показ видео получаемого из интернета, и существующий буфер не успевает гасить неравномерность поступающих пакетов и их потерю - будут затыки в воспроизведении.

Передавать любой синхронный поток через пакетный канал - хреново и здесь РТОС не спасёт от его особенностей. Просто грамотно организовав систему - можно будет добиться меньшей латентности при передаче, а следовательно решить задачу с меньшим объёмом ОЗУ и на более слабом проце.

Степень интерактивности будет зависеть от радиуса кривизны рук разработчика...
Go to the top of the page
 
+Quote Post
Daddy Torque
сообщение Feb 21 2011, 14:02
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 21-09-08
Из: СПб
Пользователь №: 40 369



Цитата(katarsis @ Jan 24 2011, 19:55) *
б. есть мнение, что жесткое реально время только вредит мобильной системе. в линуксе, при вычислении приоритета процесса используется "степень интерактивности" - интерактивный процесс, занимающийся визуализацией на экран, имеет больше приоритет чем фоновый. так вот, обыграно ли это както в QNX, ведь в случае жесткого реально времени - вполне себе нормальна ситуация, когда интерактивный процесс отрисовки видео может быть прерван для подгрузки данных из интернета фоновым процессом.

Жесткое реальное время вредит только с той точки зрения, что если система открытая в смысле возможности доустановки ПО написанного кем угодно и как угодно, то это ПО, будучи неправильно написанным, может напрочь парализовать как работу ОС, так и всего, что под ней работают, включая драйверы и службы (в QNX драйверы и службы это тоже приложения). Но, насколько я понимаю, планшеты в этом смысле очень близки к эмбеддед устройствам: не пишут под них все кто попало... Да и, если быть честным, и Линукс или Винду можно парализовать, например, используя переменные-флаги для межпоточной синхронизации вместо штатных средств.
Go to the top of the page
 
+Quote Post
sasamy
сообщение Feb 21 2011, 14:22
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(Daddy Torque @ Feb 21 2011, 17:02) *
Жесткое реальное время вредит только с той точки зрения, что если система открытая в смысле возможности доустановки ПО написанного кем угодно и как угодно, то это ПО, будучи неправильно написанным, может напрочь парализовать как работу ОС, так и всего, что под ней работают, включая драйверы и службы (в QNX драйверы и службы это тоже приложения).


В таком случае QNX как ОС абсолютно бесполезна - надежней и дешевле использовать Linux с гипервизором, тут тебе и реалтайм если нужен и абсолютная неубиваемость системы. Собственно c QNX это и наблюдаем - как говорится давно пошла по рукам, хозяева уже который раз сменились.
http://www.arm.com/files/pdf/26420.pdf

Сообщение отредактировал sasamy - Feb 21 2011, 15:02
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 07:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01401 секунд с 7
ELECTRONIX ©2004-2016