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

 
 
> scmRTOS, Перезапуск процесса
=DS=
сообщение Jun 18 2008, 18:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 25-09-07
Пользователь №: 30 836



Здравствуйте! Вопрос, наверое, к авторам в первую очередь.
Можно ли в scmRTOS организовать перезапуск процесса (повторный вход в Exec со сбросом стека в начальное состояние), е еще лучше - подмену процесса другим, пусть даже с тем же размером стека и приоритетом. Обьясню зачем - устройство может работать в различных режимах и в каждом из них нужен свой набор примерно похожих, но отличающихся процессов. Одновременно держать их в памяти слишком накладно из-за стеков. Приходится на один процесс вешать разную функциональность в разных режимах. При этом каждый раз при смене режима выпутываться из вложенных циклов в кажом процессе, чтобы выйти на верхний уровень. Вот если бы была возможность просто плюнуть на текущий процесс, зная что он мне уже не нужен, и запустить вместо него другой, пусть с тем же стеком и приоритетом... или, на худой конец, просто быстро выскочить в начальное состояние процеса и пустить его по другой ветке... Понимаю, что в принципе должно быть возможно, но мешает не блестящее знание плюсов и раскиданнность самой ОС по нескольким файлам + дефицит времени для принятия решения. Тупой вызов Exec для процесса перезапускает его, но только один раз. дальше система начинает чудить. Очевидно, надо чистить стек, но как- пока не пойму. Буду признателен за помощь.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Jun 18 2008, 20:34
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(=DS= @ Jun 18 2008, 20:39) *
Вот если бы была возможность просто плюнуть на текущий процесс, зная что он мне уже не нужен, и запустить вместо него другой, пусть с тем же стеком и приоритетом...

Посто нужно воспользоваться более сложными системами. Оптимальной в этом отношении представляется FreeRTOS. Динамическое выделение памяти под контекст задачи позволяет порождать, убивать, заменять задачи, создавать наборы задач в зависимости от конкретной конфигурации... Передача параметров при создании задачи штатно тоже предусмотрнна. scmRTOS уж слишком во многих случаях минималистична и не всегда сособна быть "доработана" ввиду изначально заложеной концепции.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
=DS=
сообщение Jun 18 2008, 22:25
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 25-09-07
Пользователь №: 30 836



Цитата(zltigo @ Jun 19 2008, 00:34) *
Посто нужно воспользоваться более сложными системами.

Беда в том, что контроллер - MSP430 с их традиционно микроскопической оперативкой. scmRTOS и была выбрана из-за ее минималистчности и самых низких требований к ОЗУ. В ней как раз есть все то, что мне иужно и ничего сверх этого для решения моей конкретной задачи. Еще бы позможность перезапуска процессов или их подмены...

Оффтоп, навеянный аватаром - давно ищу в сети сборник рисунков Бидструпа. Случайно не знаете, где его можно найти?

Сообщение отредактировал =DS= - Jun 18 2008, 22:29
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 20:25
Рейтинг@Mail.ru


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