большинство современных процессоров технически не имеют аппаратного стека (то есть нет выделенной памяти, используемой только для стека, в основном потому, что она неэффективна, и вы не можете точно знать, сколько места вам нужно в любой реальной системе). Однако почти у всех из них есть регистр указателя стека, который используется инструкциями, которые работают со стеком. Тем не менее, каждый процесс все еще имеет свой собственный стек (на самом деле, обычно не менее двух стеков, но это попадает в тонкости разделение привилегий между ОС и пользовательскими программами и не совсем относится к вопросу), но регистр указателя стека совместно используется всеми процессами (этот регистр является частью того, что сохраняется и восстанавливается во время переключения контекста вместе с большей частью остального состояния процессора).
чтобы ответить на вторую половину вашего вопроса несколько прямо, многозадачность-это иллюзия, она просто зависит от масштаба. Каждое отдельное ядро ЦП может выполнять по одному процессу за раз, и это (обычно) будет переключаться между всеми процессами в системе, которые не ждут чего-то на частотах, достаточно высоких, чтобы они функционально работали одновременно с человеческой точки зрения (большинство операционных систем с процессами со скоростью от 100 до 1000 раз в секунду, что по-прежнему более чем достаточно времени для сотен миллионов инструкций процессора, которые будут выполняться в каждом процессе). Глядя на это немного по-другому, одноядерный процессор похож на человека, он должен регулярно переключать свое внимание на "многозадачность", а многоядерный процессор похож на команду людей, каждый человек может делать только одну вещь за раз надежно, но в целом, команда может легко работать столько задач, сколько есть члены команды.
однако, для целей вашего класса, все это либо не имеет значения (если класс преподается с использованием минималистичной ОС, такой как CP / M или DOS, которые не делают многозадачность, и, следовательно, имеют один стек, период) или будут покрыты в свое время (если он учил с использованием реальной ОС как UNIX, MINIX или даже одно из различных современных коммерческих предложений, все из которых делают многозадачность, которая часто рассматривается в конце класса, потому что понимание этого требует понимания основ (например, как работает стек)).