mantech 54 6 ноября, 2017 Опубликовано 6 ноября, 2017 · Жалоба по моему вытеснялка без mmu это как имитация красной икры. По моему - это сравнивать мягкое с теплым. Вытеснялка - это просто метод переключения контекста, памяти он не жрет почти нисколько. Жрачка начинается, когда к нему подкидывают всякие очереди и стеки задач. Посему решил этим не заморачиваться, выделил несколько глобальных структур, локальные стеки нужного объема и простейший менеджер памяти - расход последней уменьшился в разы, работает на ура... давать на кнопку потока 32 кбайт стека не буду Что это такое не знаю, к сожалению, но такой стек у меня на весь GUI приходится... на lwip в полтора раза больше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 6 ноября, 2017 Опубликовано 6 ноября, 2017 · Жалоба Ну я и имею в виду, что в вытеснялке под поток надо давать стек с приличным запасом "локальные стеки нужного объема" вот об этом и речь. Когда стек один на всех у нас боль только чтобы памяти хватило вообще. А когда на каждый поток свой стек то боль умножается на количество потоков Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 6 ноября, 2017 Опубликовано 6 ноября, 2017 · Жалоба Ну я и имею в виду, что в вытеснялке под поток надо давать стек с приличным запасом "локальные стеки нужного объема" вот об этом и речь. Когда стек один на всех у нас боль только чтобы памяти хватило вообще. А когда на каждый поток свой стек то боль умножается на количество потоков Есть у меня давно устоявшаяся , временем проверенная эвристика - стека на задачу в 3000 байт хватает всегда. Если не хватает - переделывайте библиотеки используемые в задаче, они сделаны криво либо не для embedded. Вот не понимаю я этого стеба, вы сделали что-то лучше, знаете какие-то серьезные недоработки этих софтин, или предложите виндовс 10? ЗЫ. Вы так и не объяснили мне, чем так плохи memcpy и иже с ними, и если да, то чем копируете сами? Не, не я крутой, а разработчики слабые. Использование этих опенсорсов говорит о том, что у команды нет ресурсов на собственную разработку middleware. Возможно это команда узко заточенная на BLE или даже один человек. Но в любом случае это полохой знак. Я в TCP/IP стек вообще не лезу. Просто нет ресурсов. Поэтому юзаю как есть. А есть оно совершенно без обязательных проверок на переполнения при парсинге HTTP, HTML, FTP и проч. протоколов. memcpy кстати давно запрещено при программировании под Win. Поэтому отдаю себе отчет как это опасно выставлять свой доморощенный стек в открытую сеть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 6 ноября, 2017 Опубликовано 6 ноября, 2017 · Жалоба Может, но все равно какая то неудовлетворенность от того, что стек надо давать с запасом. При большом количестве потоков это неразумно. Вероятно стоит иметь 2..3 сложных потока, а мелочи выносить в один поток, который ей только и занимается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 54 6 ноября, 2017 Опубликовано 6 ноября, 2017 (изменено) · Жалоба Я в TCP/IP стек вообще не лезу. Просто нет ресурсов. Поэтому юзаю как есть. А есть оно совершенно без обязательных проверок на переполнения при парсинге HTTP, HTML, FTP и проч. протоколов. memcpy кстати давно запрещено при программировании под Win. Поэтому отдаю себе отчет как это опасно выставлять свой доморощенный стек в открытую сеть. Странное дело, выставлять в сеть стек на винде, в которой не успевают дыры залатывать - так это норма, а упрощенный, с проверкой на переполнение(по крайне мере у меня так) - так опасно ИМХО - позорно для админов вообще что-то выставлять в сеть на винде, особенно сервера, уж линукс куда лучше и безопаснее для этого. Может, но все равно какая то неудовлетворенность от того, что стек надо давать с запасом. При большом количестве потоков это неразумно. Вероятно стоит иметь 2..3 сложных потока, а мелочи выносить в один поток, который ей только и занимается. Как бы логично, сгруппировать по потреблению памяти, будет более проще планировать стеки. Изменено 6 ноября, 2017 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 6 ноября, 2017 Опубликовано 6 ноября, 2017 · Жалоба Странное дело, выставлять в сеть стек на винде, в которой не успевают дыры залатывать - так это норма, а упрощенный, с проверкой на переполнение(по крайне мере у меня так) - так опасно ИМХО - позорно для админов вообще что-то выставлять в сеть на винде, особенно сервера, уж линукс куда лучше и безопаснее для этого. Я как-то не верю в дыры в винде. То были не дыры, а скомпрометированные бэкдоры. А ссылка " у меня так" не работает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 54 6 ноября, 2017 Опубликовано 6 ноября, 2017 · Жалоба Я как-то не верю в дыры в винде. То были не дыры, а скомпрометированные бэкдоры. А ссылка " у меня так" не работает Так ясно дело, я тоже верю, что винда всегда будет работать правильно и никогда не упадет.... Но падает, отсюда вывод - плохо верю! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 6 ноября, 2017 Опубликовано 6 ноября, 2017 · Жалоба Так ясно дело, я тоже верю, что винда всегда будет работать правильно и никогда не упадет.... Но падает, отсюда вывод - плохо верю! У меня не падает. Что я делаю или не делаю не так? :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 54 6 ноября, 2017 Опубликовано 6 ноября, 2017 · Жалоба У меня не падает. Что я делаю или не делаю не так? :laughing: Коль не знаю я где она у вас стоит и не падает, то предположу, что вы ее не запускаете вообще Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 6 ноября, 2017 Опубликовано 6 ноября, 2017 · Жалоба Хоть мы и оффтопим, но у меня 10ка тоже никуда не падает и даже не виснит. Держу Убунту в виртуалке для сборки всяких open sorce в основном, ну и чтобы не забыть совсем, в эмбеддед без линукса никуда. Хотя для комфортной работы мне убунту не подходит ни разу, ни одного нормального файл менеджера даже. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 54 7 ноября, 2017 Опубликовано 7 ноября, 2017 · Жалоба Хоть мы и оффтопим, но у меня 10ка тоже никуда не падает и даже не виснит. Сколь времени непрерывно работает? У меня висло через 2-3 недели рунтайма. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 7 ноября, 2017 Опубликовано 7 ноября, 2017 · Жалоба Сколь времени непрерывно работает? У меня висло через 2-3 недели рунтайма. Не к тому цепляетесь. Загрузка ОС гораздо более глючный и рискованный процесс. Винды сейчас надо оценивать по количеству удачных загрузок. У меня сейчас после октябрьского Windows 10 Fall Creators Update каждый 3-й раз не запускается драйвер Bluetooth, фиксировал проблемы USB драйверов, не находило пару раз SSD диск, управление глазами отвалилось. Вот это важно. А зависонов я уже пару лет не видел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 54 7 ноября, 2017 Опубликовано 7 ноября, 2017 · Жалоба Не к тому цепляетесь. Загрузка ОС гораздо более глючный и рискованный процесс. Винды сейчас надо оценивать по количеству удачных загрузок. А зависонов я уже пару лет не видел. Хорошо, соглашусь, спросил некорректно, зависаний в классическом понимании я тоже не наблюдал, скажем так, ситуаций некорректной работы системы, незагрузки драйверов, сбоев в ФС, невозможности запуска прикладной программы и т.п. Тоесть тех состояний, в которых нормальное функционирование целевой задачи невозможно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uuftc 0 6 декабря, 2017 Опубликовано 6 декабря, 2017 · Жалоба Хотя для комфортной работы мне убунту не подходит ни разу, ни одного нормального файл менеджера даже. Рекомендую посмотреть на filecommander. Брать надо девелоперскую ветку вот здесь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LightElf 0 7 декабря, 2017 Опубликовано 7 декабря, 2017 (изменено) · Жалоба Поставил freertos, покрутил, ну жить можно, только зачем? Не понимаю я сколько стека дать потоку чтобы были гарантии. Похоже их не будет никогда, компилятором каким пользуетесь? У ряда компиляторов есть stack usage analisys IAR Stack usage и GNU Static Stack Usage. Можно просто посчитать, сколько стека нужно конкретной задаче. Или не помогает? Что до лицензии FreeRTOS - с 10 версии лицензия поменялась, всякую гнусь оттуда вычистили. Можно честно пользовать для любых целей. Насчет же существовавшего ранее запрета на сравнение - я эту историю хорошо помню. Какие-то комики скомпилировали FreeRTOS без оптимизации и бросились таскать по всяким форумам. Автор объяснил, что сравнение выполнено некорректно. Началось размазывание соплей и прочая такая фигня. Чем бегать по интернету и на каждом углу сраться - автор просто запретил публиковать результаты не согласованного с ним тестирования. Изменено 7 декабря, 2017 пользователем LightElf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться