|
Потребления ресурсов пустой системой, Когда оправдано ставить операционку? |
|
|
|
Apr 5 2015, 14:37
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Всем привет!
В одной ветке кто-то упомянул что кортексы изначально созданы для операционных систем как птица для полета.
И вот тут я задумался. Где грань когда стоит ставить операционку, а когда нет?
1. Все говорят что если 1-2 задачи, то супер лупа хватит, но где гарантия что через полгода жизни проекта задач не станет больше, да и для 2 задач иногда крайне муторно руками балансировать нагрузку. 2. С другой стороны ставить ее всегда, наверное тоже не правильно, так как все же ресурсы она какие-то отъедает.
И вот тут возникли вопросы. А сколько ресурсов отъедает сама по себе операционная система. Имеется ввиду не флеша, а именно быстродействия.
Если взять допустим 2 задачи: собирать данные по АЦП и отправлять их наружу по какому-то интерфейсу, допустим SPI. Можно ли утверждать что при правильной организации программы быстродействие системы с операционкой и без будет одинаково? Так как обе задачи поддержаны аппаратно и в целом не грузять проц на 100%.
И как бы обратная задача, при какой организации (что надо делать) чтобы операционка дала проигрыш?
Или же сейчас такие времена что пора ее пихать везде и всегда и не думать?
|
|
|
|
|
 |
Ответов
|
Apr 6 2015, 12:12
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Спасибо откликнувшимся%) SM - у вас экстрим по жизни  Вы совсем не помогаете  )) советы звучат типа "а все равно вы человек пропащий, ресурсов не жалеете, прибыль не имеет, вам что с ОС что без все одно..." adnega - возможно вы, но и не только. Я читал статейки разные, ведь даже спец прерывание есть у кортексов. Почему сейчас не используете ОС, тем более если все время думаете? ViKo - спасибо за отзыв. Меня тоже немного пугает что не пойми что внутри ОС, все же объем кода что за неделю не прочтешь не разберешься, по любому придется доверять в слепую... Чуть подробнее о том что есть: У меня процик 100 МГц организует обмен ПЛИС и РС, то есть все критичное к синхрону делается в ПЛИС, а процик считай данные перебрасывает, докидывает контроль целосности данных и протокол. Потому по флешке у меня запас огромный, я 2 блока съел из десятка. А вот по тактам запаса нет. Вернее не то что нет, просто чем быстрее проц будет все прокручивать тем быстрее будет отклик. При этом работоспособность сохраниться даже если запустить его на 8 МГц, просто будет все вяло и не красиво. Сейчас у меня стандартное решение в суперлупе вызываются функции - конечные автоматы, то есть в функциях программа не повисает, и если в функции что-то ожидается, то программа идет дальше проверяет остальные, а к этой функции возвращается на втором круге. Так что нагрузка в целом сбалансирована. Но с другой стороны, мне трудно расставлять приоритеты, то есть какую-то функцию хотелось бы вызывать по чаще, какую-то реже, опять же кванты времени фиксированы организацией функций, то есть функция отпускает программу только дойдя до очередного логического конца.... Так что с одной стороны я сделал программу без ОС. С другой стороны имеется явные предпосылки к тому что с ОС это будет сделано правильнее. Но тут же живут и сомнения, не потеряю ли я производительность, ведь кроме всего то что сейчас крутиться в системе надо будет еще крутить и саму ОС.... Ну и второй момент, есть очень простенький проект, буквально собирать данные и выкидывать их наружу, я вот думаю если я в него изначально ОС запихаю, не будет ли это через чур? Сейчас очевидно что оно там не нужно, но кто знает что будет дальше? И потому хочется понять, опять на проце который имеет огромные запасы по памяти, и все упирается в то что ему нужна производительность, повесив на него ОС сильно ли я его придушу, на элементарной задаче переброски данных?
|
|
|
|
|
Apr 6 2015, 12:30
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Golikov A. @ Apr 6 2015, 15:12)  SM - у вас экстрим по жизни  Вы совсем не помогаете  )) советы звучат типа "а все равно вы человек пропащий, ресурсов не жалеете, прибыль не имеет, вам что с ОС что без все одно..." Нет никакого экстрима. Совершенно тупо вопрос денег, и ничего больше. Если Вам удобнее, быстрее и/или проще сделать с ОС, и на Ваш карман это никак не повлияет, то делайте, естественно, с ОС. Время и силы - тоже деньги  И я бы так же бы сделал, как и Вам советую. Если же от решения без ОС (или с ОС) каким либо образом карман пополнится, то, конечно, надо делать без ОС (или с ОС). Все остальное - это просто риторика. То есть, треп. Еще раз повторю - не придушите Вы его ОСкой, если памяти достаточно. Ну 1% может, потеряется, вряд ли более, скорее, менее. Если не переусердствовать с принудительным переключением задач через излишние перебросы управления между тредами через объекты синхронизации. Экономить на ОС есть смысл тогда, когда за счет отсутствия ОС можно применить более дешевый процессор, за счет чего получить какую-то вменяемую прибыль. Если этого нет - то решение ТОЛЬКО на уровне Вашего личного удобства, как Вам удобнее, проще, быстрее.
|
|
|
|
|
Apr 6 2015, 15:05
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Выскажусь тоже. С тех пор, как я попробовал использовать RTOS (scmRTOS) в микроконтроллерах, я делаю все проекты только с RTOS. Ось очень маленькая и быстрая. Накладных расходов - мало, удобств - много  Что нравится: - Удобное распараллеливание задач; - Лёгкость организации фоновых процессов; - Удобно ждать события/прерывания; - Очереди, события, флаги, мьютексы. Оч. удобные штуки; - Значительно более понятный и сопровождаемый код. Сейчас, когда приходится возвращаться к старым безосевым проектам для сопровождения, ужасаюсь этой мешанине коллбэков, машин состояний, конечных автоматов и вызовов их обработчиков из суперлупа
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Apr 10 2015, 02:54
|

Гуру
     
Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702

|
Цитата(AHTOXA @ Apr 6 2015, 18:05)  Выскажусь тоже. С тех пор, как я попробовал использовать RTOS (scmRTOS) в микроконтроллерах, я делаю все проекты только с RTOS. Сейчас, когда приходится возвращаться к старым безосевым проектам для сопровождения, ужасаюсь этой мешанине коллбэков, машин состояний, конечных автоматов и вызовов их обработчиков из суперлупа  У меня такое же впечатление о FreeRTOS. Разработку очень сильно упростилась. На столько, что взял за правило делать автоматическую генерацию отчёта об ошибках. Из минусов - расход операционной памяти больше в разы. Но я успокаиваю себя тем, что делать то же самое без ОС на процессоре послабее это в наше время резьба по калу. Недавно до конца освоил спящие режимы процессора. Теперь в задаче бездействия процессор уходит в разные режимы сна в зависимости от необходимой на данный момент мин.частоты. Прерывание по таймеру RTC "заводится" на время, когда должна быть пробуждена ближайшая ждущая чего-то задача. После пробуждения системное время модифицируется, что бы задачи, в которых были таймеры, не заметили засыпания.
--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
|
|
|
|
Сообщений в этой теме
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. Спасибо за оценку.
Если 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 Golikov A. AlexandrY спасибо! Есть над чем подумать.
Цит... Apr 7 2015, 08:48 SM Цитата(Golikov A. @ Apr 7 2015, 11:42) Ес... Apr 7 2015, 08:50 AlexandrY Цитата(Golikov A. @ Apr 7 2015, 11:48) Си... Apr 7 2015, 10:04 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|