В чём разница между стеком ядра и стеком пользователя?
Изучаю из чего состоит поток и застрял на стеках. С пользовательским стеком вроде как всё понятно. Это стек, который создаётся на каждый новый поток, занимает 1 МБАЙТ в памяти, содержит информацию о локальных переменных в памяти и адрес о том откуда начнёт исполнение поток после того, как текущий поток вернёт управление. Данный стек не может сжиматься, он может только расширяться.
А вот со стеком ядра уже возникли трудности. Я так понимаю стек ядра так же создаётся на новый поток. Но я не могу понять, что конкретно из себя представляет стек ядра. Когда используется тот или иной стек, это зависит от того в каком режиме запущен процесс?
В общем поясните, пожалуйста.