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

 
 
> Потребления ресурсов пустой системой, Когда оправдано ставить операционку?
Golikov A.
сообщение Apr 5 2015, 14:37
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Всем привет!

В одной ветке кто-то упомянул что кортексы изначально созданы для операционных систем как птица для полета.

И вот тут я задумался. Где грань когда стоит ставить операционку, а когда нет?

1. Все говорят что если 1-2 задачи, то супер лупа хватит, но где гарантия что через полгода жизни проекта задач не станет больше, да и для 2 задач иногда крайне муторно руками балансировать нагрузку.
2. С другой стороны ставить ее всегда, наверное тоже не правильно, так как все же ресурсы она какие-то отъедает.

И вот тут возникли вопросы. А сколько ресурсов отъедает сама по себе операционная система. Имеется ввиду не флеша, а именно быстродействия.

Если взять допустим 2 задачи:
собирать данные по АЦП и отправлять их наружу по какому-то интерфейсу, допустим SPI. Можно ли утверждать что при правильной организации программы быстродействие системы с операционкой и без будет одинаково? Так как обе задачи поддержаны аппаратно и в целом не грузять проц на 100%.

И как бы обратная задача, при какой организации (что надо делать) чтобы операционка дала проигрыш?

Или же сейчас такие времена что пора ее пихать везде и всегда и не думать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Apr 7 2015, 08:48
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



AlexandrY спасибо! Есть над чем подумать.

Цитата
Лучше бы описали подробнее ваш случай, мы бы его разобрали в применении к RTOS.


Мой случай на самом деле такой. У меня намечается вялый проект на сроки гораздо большие чем надо для его реализации. Потому хочу попробовать что-то новое, в частности применить ОС.
Задача там примитивна сбор данных с нескольких каналов АЦП, минимальная первичная обработка, и выдача их по SPI. Если я воткну туда ОС это однозначно вызовет вопросы, если при этом производительность не пострадает, то я на них отвечуsm.gif, а если сильно пострадает, то будет ОЙsm.gif... Это маленький модуль большой системы, на одну конкретную функцию.


Если же говорит про задачи где я вижу реальный смысл применения ОС, так там система выглядит так.
Процессор связан с РС по езернет(ТСР/IP) и с другой стороны с FPGA через 2 SPI и UART, третей силой выступает HID манипулятор через USB.
Задачи процессора - это ТСР стэк, протокол поверх ТСР, и обмен с FPGA, упаковка-распаковка данных, контрольные суммы, хэндшейки и т.д. А также обработка USB.

По UART валиться статусы, их надо собирать, проверять что они пришли правильно и с заданным временным расписанием отправлять в РС.

По SPI идут данные РС - FPGA и обратно. Процессор только забирает что послать из ТСР, формирует пакеты для FPGA с добавлением чек сумм, а потом проверяет что они дошли до FPGA, и сообщает об этом РС, а также забирает данные из FPGA если есть ответы и шлет их РС.
USB, пока примитивная обработка HID манипулятора, и формирование управляющих сигналов для FPGA
Все остальное делает FPGA с буферизацией данных для работы и ответов, но оперативность поступления свежих данных для работы FPGA весьма важна.

Система построена и нормально работает, обеспечивая где-то 1-5 мСек реакцию системы, состояние манипулятора обрабатывается раз в 10 мСек и когда он обрабатывается это немного притормаживает общий цикл, плюс иногда ТСР стэк свои очереди чистить, на АРП отвечает и так далее... Так что время реакции плавает, но это нормально.

Но в системе есть CAN и еще 3 UARTа их заложили на будущее, и они никак не олапачиваются сейчас. Но все чаще возникаю мысли на них что-то повесить. И вот добавление этого в эту стройную систему вызывает некую боль. И мне кажется будь в системе ОС я бы просто добавил задачи и не страдал так, как буду страдать, когда буду внедрять доп функции и тестировать как поехала времянка от новых конечных автоматов.

За анализ системы с точки зрения ОС буду очень благодарен.











Цитата
Хорошо, когда все нюансы в ТЗ подробно расписаны, а клиент и исполнитель одинаково понимают и сложные, и, казалось бы, очевидные элементарные вещи.
Хорошо ещё, когда нет сложных законов управления, зависящих от кучи переменных (в том числе от времени), все комбинации значений которых непросто тестировать.

хорошо, но все естественно не так, потому проект все же имеет доработки и отладку. Иначе бы он писался бы с 1 раза без ошибок...

Цитата
Если сравнивать два изделия, допустим, одно из которых стоит 300 рублей, другое - 400, и за 400 дают пару-тройку каких-то фич помимо базового функционала того, что за 300, то объемы продаж того, что за 300, превышают объемы продаж того, что по 400 на порядок, и, нередко, не на один.


Это разные товары вы говорите про товары с эластичным спросом. Есть товары которые продаются Н штук в год, и сделай их хоть 1 доллар, все равно их больше Н не купять, а заломи цену в 2 раза, и опять их купят ровно Н штук. И тут как раз вопрос чтобы купили Н у тебя а не у конкурента.

Вот есть система тестов и диагностики продукта. Ей пользуются по 100 раз на дню. И если есть система которая стоит 2000 и делает диагностику 1 минуту 30 сек, и есть система за 5000 с временем диагностики 50 секунд. Даже вопросов не будет все купят вторую. Систему покупают один раз на много лет, разница в 3000 размажется и пропадет, а вот 40 секунд выигрыша времени накопиться в часы...

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

Вот есть и такие рынки...
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 7 2015, 10:04
Сообщение #3


Ally
******

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



Цитата(Golikov A. @ Apr 7 2015, 11:48) *
Система построена и нормально работает, обеспечивая где-то 1-5 мСек реакцию системы, состояние манипулятора обрабатывается раз в 10 мСек и когда он обрабатывается это немного притормаживает общий цикл, плюс иногда ТСР стэк свои очереди чистить, на АРП отвечает и так далее... Так что время реакции плавает, но это нормально.

Но в системе есть CAN и еще 3 UARTа их заложили на будущее, и они никак не олапачиваются сейчас. Но все чаще возникаю мысли на них что-то повесить. И вот добавление этого в эту стройную систему вызывает некую боль. И мне кажется будь в системе ОС я бы просто добавил задачи и не страдал так, как буду страдать, когда буду внедрять доп функции и тестировать как поехала времянка от новых конечных автоматов.


Поднять TCP без RTOS и еще что-то с ним параллельно это сильно.
Не удивительно что вас потянуло на RTOS.

RTOS не упрощает и не усложняет проблему разделения ресурсов процессорного времени если есть несколько одинаково критичных к точности времени исполнения задач с временем выполнения меньшим одного тика RTOS.
Точное измерение длительностей выполнения и планирование приоритетов это работа для среды разработки и хорошего трассера или логера.
По любому быстрые и строго детерминированные задачи с временем меньшим тика делают в обработчиках прерываний.
В RTOS эти прерывания называют прерываниями уровня ядра. Эти прерывания не работают с сервисами RTOS и имеют свой стек.
Они не запрещаются обычными сервисами RTOS для запрета прерываний. Поэтому RTOS на такие обработчики не имеет никакого влияния.
Само собой, что и DMA надо использовать по полной.

Вот если ваши задачи длинные, на сотни миллисекунд, это например запись файлов из буферов, и вам надо записать быстрее чем подоспеет другой буфер, вот тогда вам надо подключать шедуллеры RTOS и думать там над планировщиками.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Golikov A.   Потребления ресурсов пустой системой   Apr 5 2015, 14:37
- - SM   По быстродействию, можно считать, грамотно настрое...   Apr 5 2015, 15:25
- - Golikov A.   Экономить на чипах это не для нас... Беспокоит ч...   Apr 6 2015, 07:39
|- - aaarrr   Цитата(Golikov A. @ Apr 6 2015, 10:39) Ил...   Apr 6 2015, 07:49
|- - adnega   Цитата(Golikov A. @ Apr 6 2015, 10:39) Бе...   Apr 6 2015, 08:25
|- - SM   Цитата(Golikov A. @ Apr 6 2015, 10:39) Эк...   Apr 6 2015, 09:36
- - ViKo   Использую Keil CMSIS-RTOS RTX, но не могу сказать,...   Apr 6 2015, 11:13
- - Golikov A.   Спасибо откликнувшимся%) SM - у вас экстрим по ...   Apr 6 2015, 12:12
|- - SM   Цитата(Golikov A. @ Apr 6 2015, 15:12) SM...   Apr 6 2015, 12:30
|- - AHTOXA   Выскажусь тоже. С тех пор, как я попробовал исполь...   Apr 6 2015, 15:05
|- - MiklPolikov   Цитата(AHTOXA @ Apr 6 2015, 18:05) Выскаж...   Apr 10 2015, 02:54
- - Golikov A.   Спасибо за оценку. Если 1 % и менее, то попробую...   Apr 6 2015, 14:55
|- - SM   Цитата(Golikov A. @ Apr 6 2015, 17:55) Ес...   Apr 6 2015, 15:34
|- - adnega   Цитата(SM @ Apr 6 2015, 18:34) Поэтому по...   Apr 7 2015, 05:36
|- - SM   Цитата(adnega @ Apr 7 2015, 08:36) Есть в...   Apr 7 2015, 08:35
- - Golikov A.   АНТОХА спасибо за отзыв. SM - я не буду экономит...   Apr 7 2015, 04:34
- - ViKo   Никто заранее не знает, будет ли впритык у его мик...   Apr 7 2015, 05:30
- - AlexandrY   Цитата(Golikov A. @ Apr 5 2015, 17:37) И ...   Apr 7 2015, 06:58
- - Golikov A.   Спасибо за мнение. Я так понимаю MQX платная в общ...   Apr 7 2015, 07:39
|- - den_po   Цитата(Golikov A. @ Apr 7 2015, 11:39) Та...   Apr 7 2015, 07:54
|- - aaarrr   Цитата(Golikov A. @ Apr 7 2015, 10:39) А ...   Apr 7 2015, 08:01
|- - AlexandrY   Цитата(Golikov A. @ Apr 7 2015, 10:39) Сп...   Apr 7 2015, 08:14
- - Golikov A.   ЦитатаЗвучит как "ну уговорите же меня"....   Apr 7 2015, 08:14
|- - den_po   Цитата(Golikov A. @ Apr 7 2015, 12:14) Я ...   Apr 7 2015, 08:31
|- - SM   Цитата(Golikov A. @ Apr 7 2015, 11:42) Ес...   Apr 7 2015, 08:50
- - A. Fig Lee   По моему, ОС нужна если задачи в основном асинхрон...   Apr 7 2015, 10:12
|- - den_po   Цитата(A. Fig Lee @ Apr 7 2015, 14:12) 1)...   Apr 7 2015, 10:24
|- - SM   Цитата(den_po @ Apr 7 2015, 13:24) Это до...   Apr 7 2015, 10:32
|- - den_po   Цитата(SM @ Apr 7 2015, 14:32) Это распро...   Apr 7 2015, 10:40
|- - SM   Цитата(den_po @ Apr 7 2015, 13:40) То ест...   Apr 7 2015, 10:45
|- - den_po   Цитата(SM @ Apr 7 2015, 14:45) Я, думаю, ...   Apr 7 2015, 10:54
||- - SM   Цитата(den_po @ Apr 7 2015, 13:54) Сравни...   Apr 7 2015, 11:14
||- - den_po   Цитата(SM @ Apr 7 2015, 15:14) Так о том ...   Apr 7 2015, 11:20
|- - A. Fig Lee   Цитата(SM @ Apr 7 2015, 06:45) Я, думаю, ...   Apr 7 2015, 11:27
|- - den_po   Цитата(A. Fig Lee @ Apr 7 2015, 15:27) То...   Apr 7 2015, 11:45
|- - SM   Цитата(den_po @ Apr 7 2015, 14:45) этих в...   Apr 7 2015, 11:51
|- - den_po   Цитата(SM @ Apr 7 2015, 15:51) Нет у прог...   Apr 7 2015, 12:02
- - Golikov A.   Ну понеслась... линукс ставить данных из протокола...   Apr 7 2015, 11:53
|- - SM   Цитата(Golikov A. @ Apr 7 2015, 14:53) вс...   Apr 7 2015, 12:04
||- - den_po   Цитата(SM @ Apr 7 2015, 16:04) Я не вижу ...   Apr 7 2015, 12:05
|- - AlexandrY   Цитата(Golikov A. @ Apr 7 2015, 14:53) Пр...   Apr 7 2015, 12:38
|- - A. Fig Lee   Цитата(Golikov A. @ Apr 7 2015, 07:53) То...   Apr 7 2015, 12:59
|- - den_po   Цитата(A. Fig Lee @ Apr 7 2015, 16:59) А ...   Apr 7 2015, 13:17
- - Golikov A.   ЦитатаНу, во первых, можно его так минимально скон...   Apr 7 2015, 12:30
|- - SM   Цитата(Golikov A. @ Apr 7 2015, 15:30) На...   Apr 7 2015, 12:38
|- - AlexandrY   Цитата(SM @ Apr 7 2015, 15:38) И в части ...   Apr 7 2015, 13:08
- - Golikov A.   А почему в один день он не мог попасть на машину к...   Apr 7 2015, 13:03
|- - SM   Цитата(Golikov A. @ Apr 7 2015, 16:03) Ес...   Apr 7 2015, 13:10
|- - A. Fig Lee   Цитата(Golikov A. @ Apr 7 2015, 09:03) А ...   Apr 7 2015, 15:16
- - Golikov A.   Цитата10 мс и не меньше. Если тик 2 мс или меньше ...   Apr 7 2015, 13:13
- - SM   Все примерно так, только, желательно, без лишнего ...   Apr 7 2015, 13:17
- - Golikov A.   ЦитатаЭ... Поясните, пожалуйста. Ничто и никогда н...   Apr 7 2015, 13:19
|- - SM   Цитата(Golikov A. @ Apr 7 2015, 16:18) 1....   Apr 7 2015, 13:22
- - Golikov A.   ЦитатаЭто бред полный. В ядре ничего не запущено с...   Apr 7 2015, 13:44
|- - SM   Цитата(Golikov A. @ Apr 7 2015, 16:44) до...   Apr 7 2015, 14:17
- - Golikov A.   А скажите, если все же не линукс, то что надо чтоб...   Apr 7 2015, 16:15
|- - SM   Цитата(Golikov A. @ Apr 7 2015, 19:15) Ка...   Apr 7 2015, 16:35
|- - AlexandrY   Цитата(Golikov A. @ Apr 7 2015, 19:15) А ...   Apr 8 2015, 08:28
- - Golikov A.   да кто ее знает в каком. Из коробки имеется ввиду...   Apr 8 2015, 08:42
|- - AlexandrY   Цитата(Golikov A. @ Apr 8 2015, 11:42) да...   Apr 8 2015, 12:01
|- - den_po   Цитата(AlexandrY @ Apr 8 2015, 16:01) Нем...   Apr 8 2015, 12:24
|- - AlexandrY   Цитата(den_po @ Apr 8 2015, 15:24) Значит...   Apr 8 2015, 12:47
|- - alexunder   Цитата(AlexandrY @ Apr 8 2015, 14:47) Но ...   Apr 8 2015, 13:11
- - Golikov A.   И все же, подскажите пожалуйста. 1. Вот я хочу на...   Apr 8 2015, 13:15
|- - alexunder   Цитата(Golikov A. @ Apr 8 2015, 15:15) 1....   Apr 8 2015, 13:38
|- - ViKo   Цитата(Golikov A. @ Apr 8 2015, 16:15) 1....   Apr 8 2015, 13:42
|- - AlexandrY   Цитата(Golikov A. @ Apr 8 2015, 16:15) И ...   Apr 8 2015, 18:29
- - Golikov A.   Цитатаразве MQX портирована под этот мк? наверняка...   Apr 8 2015, 14:47
|- - ViKo   Цитата(Golikov A. @ Apr 8 2015, 17:47) Лу...   Apr 8 2015, 15:22
- - Golikov A.   А вы уверены что их библиотеке нельзя послать сооб...   Apr 8 2015, 15:29
- - Golikov A.   Вот же блин же... мне не нужны все эти драйверы, и...   Apr 8 2015, 18:40
|- - aaarrr   Цитата(Golikov A. @ Apr 8 2015, 21:40) Не...   Apr 8 2015, 19:17
|- - AlexandrY   Цитата(Golikov A. @ Apr 8 2015, 21:40) чт...   Apr 8 2015, 19:39
|- - A. Fig Lee   Цитата(Golikov A. @ Apr 8 2015, 14:40) Во...   Apr 8 2015, 23:50
- - Golikov A.   ну так я надеялся что FreeRTOS собрана под разные ...   Apr 8 2015, 20:11
|- - den_po   Цитата(Golikov A. @ Apr 9 2015, 01:11) ну...   Apr 9 2015, 03:56
|- - LightElf   QUOTE (Golikov A. @ Apr 8 2015, 23:11) ну...   Apr 9 2015, 07:53
- - Golikov A.   ЦитатаТо, что вы хотите, реализовано в кокосе. Пар...   Apr 9 2015, 04:49
|- - den_po   Цитата(Golikov A. @ Apr 9 2015, 08:49) Не...   Apr 9 2015, 05:26
- - Golikov A.   блин я пропустил этот ответ. То есть я беру из с...   Apr 9 2015, 07:11
|- - aaarrr   Цитата(Golikov A. @ Apr 9 2015, 10:11) То...   Apr 9 2015, 07:43
|- - den_po   Цитата(Golikov A. @ Apr 9 2015, 11:11) То...   Apr 9 2015, 08:18
- - Golikov A.   Ну что же, всем спасибо за беседу, попробуем запус...   Apr 9 2015, 08:04
- - adnega   Цитата(Golikov A. @ Apr 9 2015, 11:04) Ну...   Apr 9 2015, 08:08
- - alexunder   Цитата(adnega @ Apr 9 2015, 10:08) Мне в ...   Apr 10 2015, 06:46
- - Сергей Борщ   Цитата(alexunder @ Apr 10 2015, 08:46) пу...   Apr 10 2015, 07:12
- - SM   Цитата(Сергей Борщ @ Apr 10 2015, 10:12) ...   Apr 10 2015, 07:55
|- - AlexandrY   Цитата(SM @ Apr 10 2015, 10:55) Вообще, п...   Apr 10 2015, 08:24
|- - SM   Цитата(AlexandrY @ Apr 10 2015, 11:24) Со...   Apr 10 2015, 09:04
- - alexunder   Цитата(Сергей Борщ @ Apr 10 2015, 09:12) ...   Apr 10 2015, 08:44


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 09:35
Рейтинг@Mail.ru


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