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

 
 
> Технология динамической загрузки модулей для RTOS, Какие есть методы и инструменты.
AlexandrY
сообщение Dec 29 2012, 21:48
Сообщение #1


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Как-то тут проскочила мысль, что настоящая операционная система должна грузить сторонние приложения и выполнять их.

Очевидно, что это реализовать для небольших проектов и даже не с ОС совершенно элементарно.
Для этого при компиляции основного ядра делают symbol definition file и потом этот файл и файлы хидеров передают третьей стороне чтобы те могли правильно скомпилировать и слинковать свои приложения для ядра.

Но когда в ядре количество функций переваливает за тысячу, то сделать переносимые хидеры в ручную представляется проблемой.
Также желательно сделать отдельный модуль с так называемой jump table чтобы уменьшить зависимость от мелких изменений и перекомпиляций ядра. Как-то подумать о фильтрации, чтобы не все подряд сущности из ядра попадали в symbol definition file и т.д.

И тогда вопрос - заморачивается ли кто-нибудь с этим и известны ли инструменты автоматизации всего этого процесса.


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
a9d
сообщение Dec 29 2012, 22:03
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 312
Регистрация: 9-04-10
Пользователь №: 56 532



Для начала
Цитата
Операционная система (Operating system) по ГОСТ 15971-90
Совокупность системных программ, предназначенная для обеспечения определенного уровня эффективности системы обработки информации за счет автоматизированного управления ее работой и предоставляемого пользователю определенного набора услуг [из п. 16 Таблицы 1 ГОСТ 15971-90]

Цитата
операційна система - сукупність програмних засобів,
призначених для автоматизованого керування виконанням програми та
надання користувачам певних послуг (ДСТУ 2938-94, п. 4.16);


Как видно загружать программы не обязательно.

Можно использовать Си подобные скрипты. Тогда не будет зависимости от версии ядра. Но размер скриптов будет большим и пострадает производительность.

Сообщение отредактировал a9d - Dec 29 2012, 22:04
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 30 2012, 13:41
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(a9d @ Dec 30 2012, 00:03) *
Как видно загружать программы не обязательно.

Можно использовать Си подобные скрипты. Тогда не будет зависимости от версии ядра. Но размер скриптов будет большим и пострадает производительность.


ГОСТ конечно сильный аргумент, но те кто задает моду на OS-и про ГОСТ наверно мало знают, если вообще знают. wink.gif

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

Скажем та же функция загрузки сторонних приложений написанных на C-и в ось без виртуализации памяти выглядит очень опасной.
Скорее это подход из прошлого века времен DOS.
Т.е. для малых RTOS такая фича дала бы не преимущество, а большую проблему. Значит загрузку программ на С-и вычеркиваем из списка must-have.

Если говорить о HAL в RTOS. (это вдогонку закрытой предыдущей темы)
Тут тоже не все так просто. Обычно разработчики очень неохотно меняют семейства микроконтроллеров. Это довольно трудное занятие.
Именно потому, что вынуждены детально изучать всю аппаратную часть платформы.
Тогда зачем абстракции? Что HAL уровень упрощает в RTOS кроме переносимости верхнего уровня?
Но рискну предположить, что именно переносимость меньше всего волнует разработчиков. Она скорее важна тем кто разрабатывает оси чтобы расширить сегмент сбыта. Т.е. HAL ставим под вопросом в списке must-have для RTOS, хотя вообще для осей фича стоящая.

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AlexandrY   Технология динамической загрузки модулей для RTOS   Dec 29 2012, 21:48
- - haker_fox   QUOTE (AlexandrY @ Dec 30 2012, 06:48) И ...   Dec 30 2012, 13:09
- - a9d   Насколько я помню в винде адреса API функций прогр...   Dec 30 2012, 14:31
|- - AlexandrY   Цитата(a9d @ Dec 30 2012, 16:31) Наскольк...   Dec 31 2012, 12:09
- - haker_fox   Гм... чувствую благовейный ветерок) Как когда-то д...   Dec 31 2012, 06:04
- - a9d   А как планируете решать проблему с MMU ? Также как...   Dec 31 2012, 14:59
|- - AlexandrY   Цитата(a9d @ Dec 31 2012, 16:59) А как пл...   Dec 31 2012, 15:31
- - a9d   Вот об отсутствии и идет речь. Вот простой пример...   Dec 31 2012, 15:37
|- - AlexandrY   Цитата(a9d @ Dec 31 2012, 17:37) Вот об о...   Dec 31 2012, 16:50
|- - haker_fox   QUOTE (AlexandrY @ Jan 1 2013, 01:50) Сущ...   Jan 2 2013, 09:39
- - vshemm   ЦитатаКак-то тут проскочила мысль, что настоящая о...   Jan 2 2013, 20:42
|- - AlexandrY   Цитата(vshemm @ Jan 2 2013, 22:42) Про за...   Jan 3 2013, 07:51
|- - vshemm   Цитата(AlexandrY @ Jan 3 2013, 11:51) Нас...   Jan 8 2013, 16:07
|- - AlexandrY   Цитата(vshemm @ Jan 8 2013, 18:07) Боюсь,...   Jan 16 2013, 12:07
- - desh   Контики от А. Дункельса и компании поддерживает за...   Jan 13 2013, 07:56
|- - SyncLair   Цитата(desh @ Jan 13 2013, 11:56) Контики...   Jan 18 2013, 19:30
|- - haker_fox   QUOTE (SyncLair @ Jan 19 2013, 04:30) То ...   Jan 19 2013, 05:36
|- - AlexandrY   Цитата(haker_fox @ Jan 19 2013, 07:36) Эт...   Jan 19 2013, 11:08
||- - haker_fox   QUOTE (AlexandrY @ Jan 19 2013, 20:08) Вы...   Jan 20 2013, 08:54
|- - kolobok0   Цитата(haker_fox @ Jan 19 2013, 09:36) .....   Jan 20 2013, 01:28
|- - AlexandrY   Цитата(kolobok0 @ Jan 20 2013, 03:28) под...   Jan 20 2013, 10:29
|- - kolobok0   Цитата(AlexandrY @ Jan 20 2013, 14:29) .....   Jan 20 2013, 16:25
||- - AlexandrY   Цитата(kolobok0 @ Jan 20 2013, 18:25) вос...   Jan 20 2013, 19:24
||- - haker_fox   QUOTE (AlexandrY @ Jan 21 2013, 03:24) Т....   Jan 21 2013, 00:58
||- - kolobok0   Цитата(AlexandrY @ Jan 20 2013, 23:24) .....   Jan 21 2013, 08:47
|- - SyncLair   Цитата(AlexandrY @ Jan 20 2013, 14:29) Дл...   Jan 22 2013, 14:30
|- - AlexandrY   Цитата(SyncLair @ Jan 22 2013, 16:30) Есл...   Jan 22 2013, 15:10
|- - SyncLair   Цитата(AlexandrY @ Jan 22 2013, 19:10) Чт...   Jan 22 2013, 18:05
- - neiver   Насчёт взаимодействия загружаемого модуля и ядра, ...   Jan 16 2013, 15:01
- - _Pasha   Цитата(neiver @ Jan 16 2013, 19:01) SVC -...   Jan 16 2013, 15:07


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

 


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


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