2010-01-25 3 views

ответ

7

Процессы не имеют стека. Нитки. Обычно процесс представляет собой адресное пространство, некоторые ресурсы и один или несколько потоков. В потоках выполняется фактический код процесса, поэтому каждый из них имеет свой собственный стек.

вики статьи на стеков имеет больше информации http://en.wikipedia.org/wiki/Call_stack

-1

Из того, что я знаю (и поправьте меня, если я ошибаюсь), каждый процесс дается свое собственное пространство памяти, которое содержит 3 сегмента: текст segement (т.е. программа), сегмент данных (насколько я знаю, это глобальные и статические переменные), сегмент стека, который содержит множество вещей, таких как локальные переменные, параметры функций, адрес, на который должен возвращаться функционал.

В каждом процессе может быть один или несколько потоков. Потоки процесса разделяют пространство памяти процесса, они не «обладают» собственными воспоминаниями, что упрощает их создание и завершение.

Давайте рассмотрим: процесс имеет свой собственный стек, нить не имеет собственного стека.

Если я ошибаюсь, не стесняйтесь меня исправлять.

На самом деле книга г-на Таненбаума «Операционные системы» охватывает эту проблему.

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