|
|
  |
вопросо о QNX теоритичекого характера |
|
|
|
Jan 24 2011, 16:55
|
Частый гость
 
Группа: Свой
Сообщений: 116
Регистрация: 14-05-05
Из: snz->ekb->msk.
Пользователь №: 5 026

|
Некоторое время назад QSS был куплен RIM, и немного спустя был анонсирован планшет, основанный на QNX. меня интересуют 2 теоретических вопроса, которые я хотел бы прояснить при помощи знающих людей. и так. в QNX есть ряд архитектурных особенностей, который являются плюсом в пром автоматизации, но могут быть минусом в случае использовании для гаджета. а именно: a. многозадачность. как ни странно, использование полноценной многозадачности требует дополнительных затрат по питанию. б. есть мнение, что жесткое реально время только вредит мобильной системе. в линуксе, при вычислении приоритета процесса используется "степень интерактивности" - интерактивный процесс, занимающийся визуализацией на экран, имеет больше приоритет чем фоновый. так вот, обыграно ли это както в QNX, ведь в случае жесткого реально времени - вполне себе нормальна ситуация, когда интерактивный процесс отрисовки видео может быть прерван для подгрузки данных из интернета фоновым процессом.
как быть? что сделано в QNX, обходящие эти особенности, или может это вообще не особенности и мне все кажется? спасибо
|
|
|
|
|
Jan 24 2011, 17:27
|
Гуру
     
Группа: Свой
Сообщений: 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, обходящие эти особенности, или может это вообще не особенности и мне все кажется? Кажется.
|
|
|
|
|
Jan 27 2011, 06:13
|

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

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

Профессионал
    
Группа: Свой
Сообщений: 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 (интернета) уже будет медленно обнюхивать эти данные на предмет выуживания из них информации. Естественно, что если идёт показ видео получаемого из интернета, и существующий буфер не успевает гасить неравномерность поступающих пакетов и их потерю - будут затыки в воспроизведении. Передавать любой синхронный поток через пакетный канал - хреново и здесь РТОС не спасёт от его особенностей. Просто грамотно организовав систему - можно будет добиться меньшей латентности при передаче, а следовательно решить задачу с меньшим объёмом ОЗУ и на более слабом проце. Степень интерактивности будет зависеть от радиуса кривизны рук разработчика...
|
|
|
|
|
Feb 21 2011, 14:02
|
Участник

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

|
Цитата(katarsis @ Jan 24 2011, 19:55)  б. есть мнение, что жесткое реально время только вредит мобильной системе. в линуксе, при вычислении приоритета процесса используется "степень интерактивности" - интерактивный процесс, занимающийся визуализацией на экран, имеет больше приоритет чем фоновый. так вот, обыграно ли это както в QNX, ведь в случае жесткого реально времени - вполне себе нормальна ситуация, когда интерактивный процесс отрисовки видео может быть прерван для подгрузки данных из интернета фоновым процессом. Жесткое реальное время вредит только с той точки зрения, что если система открытая в смысле возможности доустановки ПО написанного кем угодно и как угодно, то это ПО, будучи неправильно написанным, может напрочь парализовать как работу ОС, так и всего, что под ней работают, включая драйверы и службы (в QNX драйверы и службы это тоже приложения). Но, насколько я понимаю, планшеты в этом смысле очень близки к эмбеддед устройствам: не пишут под них все кто попало... Да и, если быть честным, и Линукс или Винду можно парализовать, например, используя переменные-флаги для межпоточной синхронизации вместо штатных средств.
|
|
|
|
|
Feb 21 2011, 14:22
|
Знающий
   
Группа: Участник
Сообщений: 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
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|