-
- Прикольно. Я вчера по alloca setjmp longjmp несколько материалов нагуглил, этот в том числе. Но вот что меня смушает.... Evgeny_CD(539 знак., 07.11.2015 00:32)
- 1) Вытесняющие оси требуют больше стека. Задача может быть прервана в любой момент, потому шедулер вынужден сохранять все регистры. В кооперативной осе задача переключается только в определенные моменты, компилятор знает о них и может правильно LightElf(305 знак., 07.11.2015 02:29)
- Кооперативная ОС нужна только для одного -- планировщик (большие биг-луп программы слишком много времени тратят на проверку условий в цикле). Но он легко заменяется чем-то вроде libevent. Если срок разработки ПО менее года и работает пара человек fk0(202 знак., 07.11.2015 03:06)
- Ты несёшь полнейшую чушь. Вытесняющая ОС стека больше аж на три десятка байт требует? Да у тебя недетерменированное дерево вызовов заставит сходу полкилобайта на каждый стек отдать. - fk0(07.11.2015 03:03)
- 8 килобайт стека хватит каждому - Linus kernel(07.11.2015 15:19, )
- qsort() неудачно вызови... - fk0(07.11.2015 15:22)
- Это который? - qsortk :)(07.11.2015 15:29, )
- qsort() неудачно вызови... - fk0(07.11.2015 15:22)
- не фантазируй. 10 задачек жрут от 100 до 200 байт стека. больше всех толстая матзадача с тучей вызовов матфункций (операции с кватернионами) и много локальных структур (кватернионов и матриц). есть и такиие задачи, что в сотню байт вкладываются. - Mahagam(07.11.2015 13:59)
- Ты ещё объясни как ты в 20-байтном стеке прерывание обрабатывать будешь, бугага. - fk0(07.11.2015 14:46)
- Прерывание в своем стеке, это правильно в любом случае. - Evgeny_CD(07.11.2015 14:49)
- Это ты не фантазируй. Первая попавшаяся функция 200 байт сожрать может и ещё попросить. Это просто у тебя задачки такие, отдалённые от реалий современного программирования. - fk0(07.11.2015 14:38)
- а реалии современного программирования какие? сячкать говнокод жрущий память? я тебе привёл данные по реальному проекту вообще-то. - Mahagam(07.11.2015 16:10)
- 20 байт стека на задачу? Всё ясно с твоими проектами. - fk0(07.11.2015 16:45)
- Тебе информация для справки: в средней программе на linux 16кБайт стека не хватает, похрену какие там задачки, это просто некий усреднённый стек для усреднённой задачи, с нормальным программированием (никто не говорит "мы не используем fk0(30 знак., 07.11.2015 14:40)
- а реалии современного программирования какие? сячкать говнокод жрущий память? я тебе привёл данные по реальному проекту вообще-то. - Mahagam(07.11.2015 16:10)
- Ты ещё объясни как ты в 20-байтном стеке прерывание обрабатывать будешь, бугага. - fk0(07.11.2015 14:46)
- 8 килобайт стека хватит каждому - Linus kernel(07.11.2015 15:19, )
- 1) Вытесняющие оси требуют больше стека. Задача может быть прервана в любой момент, потому шедулер вынужден сохранять все регистры. В кооперативной осе задача переключается только в определенные моменты, компилятор знает о них и может правильно LightElf(305 знак., 07.11.2015 02:29)
- Прикольно. Я вчера по alloca setjmp longjmp несколько материалов нагуглил, этот в том числе. Но вот что меня смушает.... Evgeny_CD(539 знак., 07.11.2015 00:32)