|
Подскажите пожалуйста, про многозадачность. |
|
|
|
Oct 18 2006, 07:29
|
Местный
  
Группа: Свой
Сообщений: 252
Регистрация: 14-09-06
Пользователь №: 20 377

|
Есть несколько задач (программ) которые должны выполнятся с минимальным временем, можно организовать как линейный список функций, которые последовательно вызываются из главной функции main() при условии что время выполнения каждой функции ограничено т.е. внутри функции нет кода который задерживает выполнения (ожидает чего либо). Например одна функция обрабатывает принятый массив с USARTа. другая расшифровывает принятую команду и выполняет ее, подготавливает ответ к отправке (квитирование). Еще пару функций, которые что-то делают (обслуживают клавиатуру, исполнительные устройства). Получается все запутанно, если делать все функции в виде конечных автоматов с минимальным временем работы каждой. Хорошо было бы, если каждая функция выполнялась в виде задачи, ожидает, данные с параллельного потока пускай ждет, получила что хотела, выполняет. Есть задержка в функции скажем, на 20 секунд, пускай ждет, в это время выполняются другие функции. С операционными системами как-то все сложно, может планировщик задач да и все. Какие есть решение не сложные? Механизм взаимодействия функций друг с другом.
|
|
|
|
|
 |
Ответов
|
Oct 20 2006, 05:52
|
Местный
  
Группа: Свой
Сообщений: 252
Регистрация: 14-09-06
Пользователь №: 20 377

|
Посмотрел ОС scmRTOS, jacOS, Salvo. многозадачность нужна в AVR а все операционки со своей поддержкой много МК самых разных, поддержка разных компиляторов, условная компиляция, комментарии в исходнике не поймешь, да и исходник сам не найти, компоновка в среде, закрытые подключаемые библиотеки… Можно конечно по примерам, по рекомендациям интеграции в определенную среду разработки но так до конца не поняв внутреннею работу ОС, разбираться, что где не работает, почему когда работает когда нет. Понравилась Salvo но где исходник! В моем проекте задач 6. Причем некоторые требуют жесткой временной привязки и активно используют таймеры, порты ввода вывода, ШИМ, SPI, USART. Остальные задачи, включить выключить, считать дискретный вход. Мне кажется, нужен хороший кооперативный приоритетный планировщик как, например в Salvo (вот бы его исходник) ни какой глобализации объять не объятное, только то что нужно. Осталось написать кооперативный планировщик, скажем задач 10 максимум. Может есть у кого исходник.
|
|
|
|
|
Oct 20 2006, 09:47
|
Участник

Группа: Новичок
Сообщений: 44
Регистрация: 2-05-06
Пользователь №: 16 710

|
Цитата(_Алекс @ Oct 20 2006, 09:52)  Посмотрел ОС scmRTOS, jacOS, Salvo. многозадачность нужна в AVR а все операционки со своей поддержкой много МК самых разных, поддержка разных компиляторов, условная компиляция, комментарии в исходнике не поймешь, да и исходник сам не найти, компоновка в среде, закрытые подключаемые библиотеки… Врядли исходники или коментарии в них реально нужны. Встретил где-то фразу, имхо так и есть, что для того чтобы поправить что-нибудь в ядре нужно быть экспертом в RTOS. Цитата(_Алекс @ Oct 20 2006, 09:52)  Мне кажется, нужен хороший кооперативный приоритетный планировщик как, например в Salvo (вот бы его исходник) ни какой глобализации объять не объятное, только то что нужно. Осталось написать кооперативный планировщик, скажем задач 10 максимум. Может есть у кого исходник. Исходники можно взять для jacos, и повторю, нужны они лишь при обновлении версий компиляторов. Раньше можно было немножко заплатить за поддержку, сейчас ее нет, но есть исходники. Salvo только за деньги, за довольно приличные. Можно слямзить исходники, но лямженный порт для AVR не встечал. Может есть у кого?
|
|
|
|
Сообщений в этой теме
_Алекс Подскажите пожалуйста, про многозадачность. Oct 18 2006, 07:29 Сергей Б Ну для этого и придуманы прерывания, например для ... Oct 18 2006, 07:35 _Алекс Цитата(Сергей Б @ Oct 18 2006, 10:35) Ну ... Oct 18 2006, 07:42 Сергей Б Ну так ясное дело в прерывании, например для юарта... Oct 18 2006, 08:01 Alexander Storm Попробуй всеж чуток с операционками разобраться, п... Oct 18 2006, 19:24  Dog Pawlowa Осень. Пора, как все, лететь к RTOS.
Но я пока ... Oct 19 2006, 09:04   _Алекс Цитата(Dog Pawlowa @ Oct 19 2006, 12:04) ... Oct 19 2006, 09:26    Dog Pawlowa Цитата(_Алекс @ Oct 19 2006, 12:26) Поясн... Oct 19 2006, 09:48  osnwt Цитата(Alexander Storm @ Oct 18 2006, 22... Oct 19 2006, 14:09   AVR Цитата(osnwt @ Oct 19 2006, 18:09) Цитата... Oct 19 2006, 16:38 GinRider Цитата(_Алекс @ Oct 18 2006, 10:29) Получ... Oct 18 2006, 08:13 Сергей Б Цитата(GinRider @ Oct 18 2006, 12:13) Цит... Oct 18 2006, 08:27 rezident Можно и без вложенных прерываний в одном прерывани... Oct 18 2006, 08:37 GetSmart В винде вот красиво сделано. Там есть обработчики ... Oct 18 2006, 08:43 IgorKossak Наклёвывается необходимость применения RTOS.
По кр... Oct 18 2006, 08:52 GinRider Цитата(IgorKossak @ Oct 18 2006, 11:52) Н... Oct 18 2006, 09:28  µµC Цитата(GinRider @ Oct 18 2006, 13:28) Есл... Oct 18 2006, 09:47  SasaVitebsk Цитата(GinRider @ Oct 18 2006, 12:28) Цит... Oct 18 2006, 09:50   GinRider Цитата(SasaVitebsk @ Oct 18 2006, 12:50) ... Oct 18 2006, 11:29    µµC Цитата(GinRider @ Oct 18 2006, 15:29) Про... Oct 18 2006, 12:12     defunct Цитата(µµC @ Oct 18 2006, 15:12) Получает... Oct 18 2006, 13:48 _Алекс Есть функции, есть планировщик задач. Функции заци... Oct 18 2006, 11:18 Сергей Борщ Цитата(_Алекс @ Oct 18 2006, 14:18) Есть ... Oct 18 2006, 11:56 defunct Цитата(_Алекс @ Oct 18 2006, 10:29) Есть ... Oct 18 2006, 11:32 Михаил Горюнов Скромная попытка объяснить необъятное двумя словам... Oct 18 2006, 13:09 _Алекс Почитал по операционнкам, попроще получается коопе... Oct 19 2006, 08:06 Hz! Цитата(_Алекс @ Oct 19 2006, 11:06) Почит... Oct 19 2006, 09:20 Hz! ЦитатаЯсно, а кто задачи с приоритетами 2 и 3 дела... Oct 19 2006, 10:05 Alex B._ Автор jacOS высылает исходники по запросу, напишит... Oct 19 2006, 17:50 osnwt Цитата(_Алекс @ Oct 20 2006, 08:52) Посмо... Oct 20 2006, 06:09  _Алекс Исходники можно взять для jacos, и повторю, нужны ... Oct 20 2006, 10:50   µµC Цитата(_Алекс @ Oct 20 2006, 14:50) А у в... Oct 20 2006, 11:19 Alex B._ >> Один минус: отсутствие исходников
Это не... Oct 20 2006, 12:39 osnwt Цитата(Alex B._ @ Oct 20 2006, 15:39) ... Oct 20 2006, 16:57 Alex B._ Согласен на полминуса.
Для того чтобы лучше понять... Oct 20 2006, 18:27 osnwt Поддержка - или платить постоянно за нее, или авто... Oct 20 2006, 18:33 haker_fox Цитата(_Алекс @ Oct 18 2006, 16:29) Есть ... Oct 21 2006, 03:26 yod У многих "универсальных" ОС основная про... Oct 24 2006, 10:18 Turion А ничего, что на сайте scmRTOS висит версия 2.04a-... Oct 25 2006, 11:59  Сергей Борщ Цитата(Turion @ Oct 25 2006, 14:59) А нич... Oct 25 2006, 12:13 µµC Цитата(yod @ Oct 24 2006, 14:18) Функция ... Oct 25 2006, 12:47  yod jacOS - это круто, потому что FSM (Finite State Ma... Oct 25 2006, 12:57   µµC Цитата(yod @ Oct 25 2006, 16:57) потому ч... Oct 25 2006, 13:14    yod Цитата(µµC @ Oct 25 2006, 20:14) В каком ... Oct 26 2006, 03:33     dxp Цитата(yod @ Oct 26 2006, 10:33) Цитата(µ... Oct 26 2006, 04:17      Dog Pawlowa Цитата(dxp @ Oct 26 2006, 07:17) А само ... Oct 26 2006, 06:06       osnwt Цитата(Dog Pawlowa @ Oct 26 2006, 09:06) ... Oct 26 2006, 06:39     µµC Цитата(yod @ Oct 26 2006, 07:33) "За... Oct 26 2006, 17:30 bodja74 2vod
Смотрел,хорошая оська,незнаю как насчет фунц... Oct 26 2006, 22:05 yod to bodja74
Цитата(bodja74 @ Oct 27 2006, 05... Oct 27 2006, 03:42  bodja74 Цитата(yod @ Oct 27 2006, 06:42) Я пока ... Oct 27 2006, 20:13   trofim .def Zero = rxx ;любой регистр
clr Zero ; в и... Oct 31 2006, 11:16    bodja74 Цитата(trofim @ Oct 31 2006, 14:16) Кто п... Oct 31 2006, 13:02     =GM= Цитата(bodja74 @ Oct 31 2006, 13:02) Цита... Oct 31 2006, 16:30      bodja74 Цитата(=GM= @ Oct 31 2006, 19:30) Цитата(... Oct 31 2006, 16:40       =GM= Цитата(bodja74 @ Oct 31 2006, 16:40) Абсо... Oct 31 2006, 17:41        bodja74 Цитата(=GM= @ Oct 31 2006, 20:41) Ну ладн... Oct 31 2006, 19:27         =GM= GM Ну ладно, при случае(:-). А вы где территориаль... Nov 1 2006, 11:07          bodja74 Цитата(=GM= @ Nov 1 2006, 14:07) GM Ну ла... Nov 1 2006, 16:41           =GM= [quote name='bodja74' date='Nov 1 2006... Nov 1 2006, 18:01           =GM= Цитата(bodja74 @ Nov 1 2006, 16:41) ЗЫ ГЫ... Nov 2 2006, 15:43
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|