Причины использования отдельного стека для системных вызовов - Morozov-5F/operational-system-docs GitHub Wiki
Есть несколько причин использования отдельного стека для ядра:
- Если ядро оставляет какие-либо данные в стеке прерываемого процесса после возвращения из системного вызова, злоумышленник может использовать эти данные для того, чтобы получить информацию о других процессах
- Операционная система упадет, если в пользовательсокм стеке недостаточно места для выполнения системного вызова, а это не должно случаться.
Источники:
- Ответы к заданиям, Э. Таненбаум, 3-е изд.