Перейти к содержанию
    

по моему вытеснялка без mmu это как имитация красной икры.

 

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

 

давать на кнопку потока 32 кбайт стека не буду

 

Что это такое не знаю, к сожалению, но такой стек у меня на весь GUI приходится... на lwip в полтора раза больше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну я и имею в виду, что в вытеснялке под поток надо давать стек с приличным запасом

 

"локальные стеки нужного объема" вот об этом и речь. Когда стек один на всех у нас боль только чтобы памяти хватило вообще. А когда на каждый поток свой стек то боль умножается на количество потоков

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну я и имею в виду, что в вытеснялке под поток надо давать стек с приличным запасом

 

"локальные стеки нужного объема" вот об этом и речь. Когда стек один на всех у нас боль только чтобы памяти хватило вообще. А когда на каждый поток свой стек то боль умножается на количество потоков

Есть у меня давно устоявшаяся , временем проверенная эвристика - стека на задачу в 3000 байт хватает всегда.

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

 

Вот не понимаю я этого стеба, вы сделали что-то лучше, знаете какие-то серьезные недоработки этих софтин, или предложите виндовс 10?

ЗЫ. Вы так и не объяснили мне, чем так плохи memcpy и иже с ними, и если да, то чем копируете сами?

Не, не я крутой, а разработчики слабые.

Использование этих опенсорсов говорит о том, что у команды нет ресурсов на собственную разработку middleware.

Возможно это команда узко заточенная на BLE или даже один человек. Но в любом случае это полохой знак.

 

Я в TCP/IP стек вообще не лезу. Просто нет ресурсов. Поэтому юзаю как есть.

А есть оно совершенно без обязательных проверок на переполнения при парсинге HTTP, HTML, FTP и проч. протоколов.

memcpy кстати давно запрещено при программировании под Win.

Поэтому отдаю себе отчет как это опасно выставлять свой доморощенный стек в открытую сеть.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я в TCP/IP стек вообще не лезу. Просто нет ресурсов. Поэтому юзаю как есть.

А есть оно совершенно без обязательных проверок на переполнения при парсинге HTTP, HTML, FTP и проч. протоколов.

memcpy кстати давно запрещено при программировании под Win.

Поэтому отдаю себе отчет как это опасно выставлять свой доморощенный стек в открытую сеть.

 

Странное дело, выставлять в сеть стек на винде, в которой не успевают дыры залатывать - так это норма, а упрощенный, с проверкой на переполнение(по крайне мере у меня так) - так опасно :biggrin:

ИМХО - позорно для админов вообще что-то выставлять в сеть на винде, особенно сервера, уж линукс куда лучше и безопаснее для этого.

 

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

 

Как бы логично, сгруппировать по потреблению памяти, будет более проще планировать стеки.

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странное дело, выставлять в сеть стек на винде, в которой не успевают дыры залатывать - так это норма, а упрощенный, с проверкой на переполнение(по крайне мере у меня так) - так опасно :biggrin:

ИМХО - позорно для админов вообще что-то выставлять в сеть на винде, особенно сервера, уж линукс куда лучше и безопаснее для этого.

Я как-то не верю в дыры в винде. То были не дыры, а скомпрометированные бэкдоры.

А ссылка " у меня так" не работает :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я как-то не верю в дыры в винде. То были не дыры, а скомпрометированные бэкдоры.

А ссылка " у меня так" не работает :biggrin:

 

Так ясно дело, я тоже верю, что винда всегда будет работать правильно и никогда не упадет.... Но падает, отсюда вывод - плохо верю! :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так ясно дело, я тоже верю, что винда всегда будет работать правильно и никогда не упадет.... Но падает, отсюда вывод - плохо верю! :biggrin:

У меня не падает. Что я делаю или не делаю не так? :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня не падает. Что я делаю или не делаю не так? :laughing:

Коль не знаю я где она у вас стоит и не падает, то предположу, что вы ее не запускаете вообще :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хоть мы и оффтопим, но у меня 10ка тоже никуда не падает и даже не виснит. Держу Убунту в виртуалке для сборки всяких open sorce в основном, ну и чтобы не забыть совсем, в эмбеддед без линукса никуда. Хотя для комфортной работы мне убунту не подходит ни разу, ни одного нормального файл менеджера даже.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хоть мы и оффтопим, но у меня 10ка тоже никуда не падает и даже не виснит.

 

Сколь времени непрерывно работает? У меня висло через 2-3 недели рунтайма.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сколь времени непрерывно работает? У меня висло через 2-3 недели рунтайма.

Не к тому цепляетесь.

Загрузка ОС гораздо более глючный и рискованный процесс.

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

У меня сейчас после октябрьского Windows 10 Fall Creators Update каждый 3-й раз не запускается драйвер Bluetooth,

фиксировал проблемы USB драйверов, не находило пару раз SSD диск, управление глазами отвалилось.

Вот это важно.

А зависонов я уже пару лет не видел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не к тому цепляетесь.

Загрузка ОС гораздо более глючный и рискованный процесс.

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

 

А зависонов я уже пару лет не видел.

 

Хорошо, соглашусь, спросил некорректно, зависаний в классическом понимании я тоже не наблюдал, скажем так, ситуаций некорректной работы системы, незагрузки драйверов, сбоев в ФС, невозможности запуска прикладной программы и т.п. Тоесть тех состояний, в которых нормальное функционирование целевой задачи невозможно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотя для комфортной работы мне убунту не подходит ни разу, ни одного нормального файл менеджера даже.

Рекомендую посмотреть на filecommander.

Брать надо девелоперскую ветку вот здесь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

компилятором каким пользуетесь? У ряда компиляторов есть stack usage analisys IAR Stack usage и GNU Static Stack Usage. Можно просто посчитать, сколько стека нужно конкретной задаче. Или не помогает?

Что до лицензии FreeRTOS - с 10 версии лицензия поменялась, всякую гнусь оттуда вычистили. Можно честно пользовать для любых целей. Насчет же существовавшего ранее запрета на сравнение - я эту историю хорошо помню. Какие-то комики скомпилировали FreeRTOS без оптимизации и бросились таскать по всяким форумам. Автор объяснил, что сравнение выполнено некорректно. Началось размазывание соплей и прочая такая фигня. Чем бегать по интернету и на каждом углу сраться - автор просто запретил публиковать результаты не согласованного с ним тестирования.

Изменено пользователем LightElf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...