Процесс - это исполняемая компьютерная программа.
Процесс должен отслеживать:
1. Карта расположения вашей программы в памяти.
2. Относительный адрес для всех инструкций и данных.
3. Значение всех переменных.
4. Текущее место выполнения инструкции.
5. Расположение следующей инструкции, которая должна быть выполнена.
6. Все значения регистров и счетчиков
7. Если в формулировке условия необходимо отслеживать:
а. Расположение каждого возможного филиала.
б. Результат проверки состояния, позволяющий определить, какую ветвь выбрать.
8. Если при вызове подпрограммы (я не могу вспомнить, какова новая терминология для подпрограммы, включая вызовы операционной системы, чтобы обеспечить такие вещи, как чтение данных, запись данных, получение системного времени, ... Пока программа выполняется эти функции представляют собой просто вызовы подпрограмм, даже если они написаны кем-то, кого вы никогда не встречали или о котором не слышали), он должен отслеживать:
а. Расположение стека аргументов
б. Обратный адрес
c. Все регистры, счетчики и переменные должны быть сохранены до выполнения вызова.
9. Обратный адрес программы при завершении.
10. Первоначальный стек аргументов предоставляется при запуске программы.
11. Знайте, как завершить работу (есть программы, которые никогда не завершаются - они обычно работают в системах оружия и перестают работать, потому что компьютер разрушен - оружие взрывается).
Думаю, это полный список.
Много вещей; RAM, ROM, жесткий диск, CPU. Все это и многое другое работают вместе, выполняя функции компьютера. ЦП является преобразователем, а другие устройства хранят память и инструкции компьютера.