2015-05-28 1 views
0

Может ли кто-то подтвердить, что, когда мы говорим, что приложение имеет 4096 байт для своего стека, оно фактически не может использовать все это пространство, потому что есть память, используемая для переключения между приложениями (trapframes , ...), обычно расположенные поверх стека.OS - Пользовательский стек - не действительно 4096 полезной памяти

Это пространство может зависеть от разных ОС.

Я прав?

Благодаря

ответ

1

1) 4096 будет маленький стек в эти дни. 2) Вы говорите о доступности для приложения?

К тому времени, когда вы доберетесь до «своего» кода (основного, любого), в стеке будет уже несколько кадров вызовов (есть в ваших 4096 байтах). Обычно наверху есть кадр для возврата к операционной системе. Тогда могут быть фреймы для настройки библиотек и обработчиков исключений. В наши дни обычно есть кадр с аргументами командной строки.

Все они едят в стеке.

+0

4096 - это стек, который я использую для своих приложений (предоставленных, крошечных). Так что я прав, верно? – Jdarc

+0

Он не используется для переключения между приложениями. Это накладные расходы, чтобы вызвать ВАШЕ приложение. – user3344003

+0

Точно. Благодаря ! – Jdarc

Смежные вопросы