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

 
 
> scmRTOS - где семафоры?
bmf
сообщение Jun 9 2005, 09:09
Сообщение #1


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

Группа: Свой
Сообщений: 146
Регистрация: 6-01-05
Из: Украина
Пользователь №: 1 831



Хотел попробовать, стал разбираться и не нашел семафоров.
Может я чего не понял?
Есть TEventFlag - но это немножко другое (после "сигнала" все процессы,
ожидающие указанное событие, будут переведены в состояние готовых к выполнению)
Более похож TMutex - но тоже вроде не то.
Кто работал? В чем фишка?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bmf
сообщение Jun 10 2005, 19:39
Сообщение #2


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

Группа: Свой
Сообщений: 146
Регистрация: 6-01-05
Из: Украина
Пользователь №: 1 831



И еще, посмотрите как в uCos ищется самая приоритетная задача, и как в smcRTOS или freeRTOS и увидите что время поска при любом переключении (через swithtask или при установке семафора) будет в 10 раз меньше.
Go to the top of the page
 
+Quote Post
dxp
сообщение Jun 14 2005, 06:20
Сообщение #3


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(bmf @ Jun 11 2005, 01:39)
И еще, посмотрите как в uCos ищется самая приоритетная задача, и как в smcRTOS или freeRTOS и увидите что время поска при любом переключении (через swithtask или при установке семафора) будет в 10 раз меньше.
*

Насчет freeRTOS не скажу, давно уже не смотел в ее сторону. А про uCOS, конечно, знаю. Две итерации по таблице. При количестве процессов менее 8 это ДОЛЬШЕ, чем в scmRTOS, где просто тупой перебор-поиск признака активного процесса. В scmRTOS всего максимум может быть 15 пользовательских процессов, реально их бывает не более 8 (я не знаю никого, кто бы использовал больше на мелких МК с килобайтом-двумя ОЗУ). Поэтому в ее случае можно позволить себе максимально простой и легкий алгоритм поиска. С 64-мя задачами такого делать уже нельзя. В этом и состоит их главное отличие - бОльшая масса обладает бОльшей инерцией.

Насчет реальных времен переключения процессов: я проводил такой эксперимент: один процесс, более приоритетный, встает на ожидание флага. Другой процесс устанавливает ножку МК в 1 и сигналит флаг. Когда после этого ожидающий процесс получает управление, он сбрасывает ножку МК в 0. По длительности импульса и определяется время передачи уплавения между процессами. На MSP430F149 при тактовой частоте ~5 МГц на scmRTOS время было порядка 26-27 мкс, на uCOS - около 50 мкс (или около того, могу уже точные цифры наврать, давно было, но запомнилось, что где-то порядка двух раз). Комплятор в случае scmRTOS был IAR v2.0x, в случае uCOS - 1.26. Качество кодогенерации смотрел, никаких нареканий к 1.26 не помню. Причина, по которой использовалсь разные компиляторы - для scmRTOS нужны ++, для uCOS был порт под 1.26.

Т.ч. Ваши заявления про 10 раз - извините, бред с любой стороны (ни одна из ОС не имеет такого преимущества перед другой - максимум раза в три), и uCOS медленее. Не верите - возмите и проверьте сами.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- bmf   scmRTOS - где семафоры?   Jun 9 2005, 09:09
- - ig_z   Цитата(bmf @ Jun 9 2005, 12:09)Хотел попробов...   Jun 9 2005, 10:23
- - bmf   ЦитатаТак ведь автор вполне ясно сказал, что семаф...   Jun 9 2005, 12:24
|- - ig_z   Цитата(bmf @ Jun 9 2005, 15:24)ЦитатаТак ведь...   Jun 9 2005, 13:58
|- - dxp   Цитата(bmf @ Jun 9 2005, 18:24)ЦитатаТак ведь...   Jun 10 2005, 06:25
- - bmf   В доке к версии 2.0 такого обзаца нет. Думаю что к...   Jun 9 2005, 14:41
|- - dxp   Цитата(bmf @ Jun 9 2005, 20:41)В доке к верси...   Jun 10 2005, 06:38
|- - IgorKossak   Цитата(bmf @ Jun 9 2005, 17:41)В доке к верси...   Jun 17 2005, 11:17
|- - dxp   Цитата(IgorKossak @ Jun 17 2005, 17:17)А чем,...   Jun 20 2005, 04:14
- - bmf   ЦитатаНадо бы уточнить, что Вы понимаете под терми...   Jun 10 2005, 08:42
|- - dxp   Цитата(bmf @ Jun 10 2005, 14:42)ЦитатаНадо бы...   Jun 10 2005, 09:57
- - bmf   Спасибо за идеи. В принципе если есть исходники, т...   Jun 10 2005, 11:41
|- - dxp   Цитата(bmf @ Jun 10 2005, 17:41)Дя и сомнения...   Jun 10 2005, 12:09
- - bmf   Не знаю, впринципе всего десяток функций, там и со...   Jun 10 2005, 12:59
|- - dxp   Цитата(bmf @ Jun 10 2005, 18:59)Не знаю, впри...   Jun 10 2005, 13:28
- - bmf   Ну например, для тойже uCos - реакция на прерывани...   Jun 10 2005, 16:57
|- - dxp   Цитата(bmf @ Jun 10 2005, 22:57)Ну например, ...   Jun 14 2005, 06:00
- - bmf   А если реализовывать по честному семафоры (как в т...   Jun 11 2005, 09:22
|- - dxp   Цитата(bmf @ Jun 11 2005, 15:22)А если реализ...   Jun 14 2005, 06:32
- - bmf   Знаю что не влезет на мегу8, поэтому и ищу вариант...   Jun 14 2005, 17:50
|- - dxp   Цитата(bmf @ Jun 14 2005, 23:50)Знаю что не в...   Jun 15 2005, 05:47
|- - dxp   Цитата(bmf @ Jun 14 2005, 23:50)Просто надо в...   Jun 15 2005, 05:51
|- - dxp   Цитата(bmf @ Jun 14 2005, 23:50)И проблем пер...   Jun 15 2005, 06:53
- - bmf   На каждый ваш лист, я смогу аргументированно ответ...   Jun 15 2005, 17:25
- - bmf   Теперь о позитиве. ЦитатаОна никогда не станет ко...   Jun 17 2005, 05:12
- - bmf   Придется его такой и использовать. Просто в оригин...   Jun 17 2005, 12:52
- - bmf   Да все уже получилось не так, как вначале задумавы...   Jun 21 2005, 17:39


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

 


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


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