|
Прерывание в прерывании, Для реализации Super Simple Tasker |
|
|
|
 |
Ответов
|
Nov 7 2017, 15:29
|
Гуру
     
Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493

|
Цитата(jcxz @ Nov 7 2017, 18:11)  А в чём разница между стеком задачи под ОС и стеком той же самой задачи без ОС? У Вас, что ОС сама ваш код компилирует? Или может даже пишет?  Тем, что без ОС такой - стек общий, и памяти не хватит тогда, когда ее не хватит вообще. А с потоками вытесняющими - это как коробка конфет , места много займет, а конфет мало, в отличии от единого стека. Второй пример фрагментации памяти с malloc - памяти до хрена, а получаем NULL - ибо впихнуть нужный кусок некуда. Я надеюсь вы уже решили эту проблему сборщиками мусора на микроконтроллерах?  Короче не стоит далее спорить, все останутся при своих это очевидно. Меня недетерминированность поведения таких РТОС во многих задачах не устраивает, расход памяти тоже "другого класса, скорее всего платной RTOS. " - то есть все бесплатное - это дерьмо по умолчанию? Странная мысль.
|
|
|
|
|
Nov 7 2017, 15:58
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(DASM @ Nov 7 2017, 17:29)  Тем, что без ОС такой - стек общий, и памяти не хватит тогда, когда ее не хватит вообще. А с потоками вытесняющими - это как коробка конфет , "Без ОС" - это значит всё в одной задаче. Если вы, не меняя алгоритма, перенесёте эту задачу в одну из задач (потоков) РТОС, что что изменится с потреблением стека? Ничего! Так в чём разница??? Далее - конечно под РТОС вы потом можете эту же задачу реализовать в виде многих потоков РТОС. Это разве будет тем же самым алгоритмом? Нет конечно, это новая реализация, совершенно по другому написанная. И да, если писать не включая голову, можно сколько угодно памяти израсходовать. Так в чём преимущество "без РТОС" по-вашему, в том что в таком случае заведомо меньше возможностей и криворукий программист сделает меньше багов? Не уверен что это преимущество.... Цитата(DASM @ Nov 7 2017, 17:29)  места много займет, а конфет мало, в отличии от единого стека. Так если задачу можно реализовать в виде одного потока ОС, то зачем его делить на несколько? Или всё-таки нельзя (или будет заведомо худшее решение), то очевидно тогда что с РТОС - лучше? Разве не? Цитата(DASM @ Nov 7 2017, 17:29)  Второй пример фрагментации памяти с malloc "Смешались в кучу люди кони"... динамическая память-то тут причём??? Разговор про стеки вроде шёл. Нафига стеки в дин. память пихать??? Да ещё выделять/освобождать периодически. Какие-то нереальные примеры выдумываете.... PS: За последние ~15 лет в отрасли и десятках реализованных проектов, я ни разу ещё не использовал malloc() в embedded-проектах. Что делаю не так?
|
|
|
|
Сообщений в этой теме
arhiv6 Прерывание в прерывании Nov 7 2017, 12:00 Forger Цитата(arhiv6 @ Nov 7 2017, 15:00) один и... Nov 7 2017, 13:02 Студент заборстроительного Цитата(Forger @ Nov 7 2017, 16:02) Цитата... Nov 8 2017, 16:41  Forger Цитата(Студент заборстроительного @ Nov 8 201... Nov 8 2017, 20:41   ig_z QUOTE (Forger @ Nov 8 2017, 22:41) С друг... Nov 9 2017, 20:15    Forger Цитата(ig_z @ Nov 9 2017, 23:15) в каждой... Nov 9 2017, 21:41 arhiv6 Как минимум, это интересно - попробовать разные по... Nov 7 2017, 13:17 Forger Цитата(arhiv6 @ Nov 7 2017, 16:17) А ещё ... Nov 7 2017, 13:30  DASM Цитата(Forger @ Nov 7 2017, 16:30) В мелк... Nov 7 2017, 14:28   Forger Цитата(DASM @ Nov 7 2017, 17:28) Я отказа... Nov 7 2017, 14:45   jcxz Цитата(DASM @ Nov 7 2017, 16:28) Я отказа... Nov 7 2017, 15:04 jcxz Цитата(arhiv6 @ Nov 7 2017, 15:17) Как ми... Nov 7 2017, 15:00 Obam Цитата(arhiv6 @ Nov 7 2017, 16:00) нужно ... Nov 7 2017, 13:44 AHTOXA Цитата(arhiv6 @ Nov 7 2017, 17:00) Как эт... Nov 7 2017, 14:17 ViKo Подтверждаю, RTX RTOS от Keil - весьма достойная п... Nov 7 2017, 14:52 DASM "прихожу лишь к одному выводу " - приход... Nov 7 2017, 14:53 jcxz Цитата(DASM @ Nov 7 2017, 16:53) Вы лучше... Nov 7 2017, 15:08 Forger Цитата(DASM @ Nov 7 2017, 17:53) "пр... Nov 7 2017, 15:18 scifi Гугл вводит на гитхаб. Возможно, всё украдено до н... Nov 7 2017, 15:04 DASM Я немного преувеличил для ясности. Эти РТОС замеча... Nov 7 2017, 15:11 Forger Цитата(DASM @ Nov 7 2017, 18:11) Эти РТОС... Nov 7 2017, 15:38 DASM Да никто не хает, каждый до..ит как хочет. Просто ... Nov 7 2017, 15:39 Forger Цитата(DASM @ Nov 7 2017, 18:39) Ваши РТО... Nov 7 2017, 15:46 jcxz Цитата(DASM @ Nov 7 2017, 17:39) но навск... Nov 7 2017, 16:11  Forger Цитата(jcxz @ Nov 7 2017, 19:11) Чтобы по... Nov 7 2017, 16:13 arhiv6 Цитата(AHTOXA @ Nov 7 2017, 21:17) Здесь ... Nov 7 2017, 15:59 jcxz Цитата(arhiv6 @ Nov 7 2017, 17:59) Пожалу... Nov 7 2017, 16:16  Forger Цитата(jcxz @ Nov 7 2017, 19:16) Наверное... Nov 7 2017, 17:56 arhiv6 Смотрел я исходники ОС, но они все по похожему при... Nov 7 2017, 17:28 Forger Цитата(arhiv6 @ Nov 7 2017, 20:28) Как пр... Nov 7 2017, 18:27  arhiv6 Цитата(Forger @ Nov 8 2017, 01:27) Как бы... Nov 7 2017, 19:00 jcxz Цитата(arhiv6 @ Nov 7 2017, 19:28) Смотре... Nov 7 2017, 21:33 arhiv6 jcxz, Forger, я не знаю, как правильно сделать, по... Nov 7 2017, 18:14 DASM Меня устраивает карусель кооперативная на таймерах... Nov 7 2017, 18:50 Forger Цитата(DASM @ Nov 7 2017, 21:50) void Led... Nov 7 2017, 19:01 DASM Первое, что приходит в голову так: о как, у меня т... Nov 7 2017, 19:05 Forger Цитата(DASM @ Nov 7 2017, 22:02) Просто к... Nov 7 2017, 19:05  DASM Цитата(Forger @ Nov 7 2017, 22:05) Ну-ну,... Nov 7 2017, 19:08 arhiv6 Цитата(DASM @ Nov 8 2017, 02:05) Первое, ... Nov 7 2017, 19:08 Forger Цитата(DASM @ Nov 7 2017, 22:05) Первое, ... Nov 7 2017, 19:21 jcxz Цитата(DASM @ Nov 7 2017, 21:05) вы шину ... Nov 7 2017, 21:46 DASM Ну да , тут собственно у меня так и есть Nov 7 2017, 19:13 DASM @ Читайте матчасть по ARM Cortex.@ Ладно, спорить ... Nov 7 2017, 19:29 Forger Цитата(DASM @ Nov 7 2017, 22:29) @ Читайт... Nov 7 2017, 19:36  AlexandrY Цитата(Forger @ Nov 7 2017, 21:36) Для те... Nov 7 2017, 20:41   Forger Цитата(AlexandrY @ Nov 7 2017, 23:41) Да ... Nov 7 2017, 21:44  AVR Цитата(Forger @ Nov 7 2017, 22:36) ОК, сл... Nov 8 2017, 08:44   Forger Цитата(AVR @ Nov 8 2017, 11:44) Ради него... Nov 8 2017, 12:53  jcxz Цитата(Forger @ Nov 7 2017, 21:36) Для те... Nov 8 2017, 20:49   Forger Цитата(jcxz @ Nov 8 2017, 23:49) может ес... Nov 8 2017, 20:54 DASM А где тут DMA и что и куда оно грузит? Nov 7 2017, 21:01 AlexandrY Цитата(DASM @ Nov 7 2017, 23:01) А где ту... Nov 8 2017, 06:13 DASM Ну не знаю, у меня на Ардуино все проще, а на мали... Nov 7 2017, 22:35 DASM Да уж.. сколько чудных открытий человек недавно п... Nov 8 2017, 21:23 Forger Цитата(DASM @ Nov 9 2017, 00:23) склетон ... Nov 8 2017, 23:29 syoma Возвращаясь к оригинальной теме по поводу прерыван... Nov 17 2017, 10:45 Forger Цитата(syoma @ Nov 17 2017, 13:45) что AR... Nov 17 2017, 11:07 scifi Цитата(syoma @ Nov 17 2017, 13:45) Каково... Nov 17 2017, 11:15  Forger Цитата(scifi @ Nov 17 2017, 14:15) Всё он... Nov 17 2017, 11:37  syoma Цитата(scifi @ Nov 17 2017, 14:15) Всё он... Nov 17 2017, 12:02   Forger Цитата(syoma @ Nov 17 2017, 15:02) И мое ... Nov 17 2017, 12:17   Obam Цитата(syoma @ Nov 17 2017, 16:02) …Если ... Nov 17 2017, 13:03   AlexandrY Цитата(syoma @ Nov 17 2017, 14:02) Ну я н... Nov 17 2017, 13:42   jcxz Цитата(syoma @ Nov 17 2017, 14:02) Наскол... Nov 17 2017, 13:44 Timmy Цитата(syoma @ Nov 17 2017, 13:45) Каково... Nov 17 2017, 12:01 syoma Знающие люди подсказали такой вариант. У них работ... Nov 17 2017, 18:04 AlexandrY Цитата(syoma @ Nov 17 2017, 20:04) Знающи... Nov 17 2017, 18:56  syoma Цитата(AlexandrY @ Nov 17 2017, 21:56) Кт... Nov 17 2017, 20:51   AlexandrY Цитата(syoma @ Nov 17 2017, 22:51) Если б... Nov 17 2017, 21:35
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|