Транспьютер может одновременно обрабатывать любое число параллельных процессов. Он имеет специальный планировщик, который производит распределение времени между ними. В любой момент времени параллельные процессы делятся на два класса: активные процессы (выполняются или готовы к выполнению) и неактивные процессы (ожидают ввода-вывода или определенного времени).
Активные процессы, ожидающие выполнения, помещаются в планировочный список. Планировочный список является связным списком рабочих областей этих активных процессов в памяти и задается значениями двух регистров, один из которых указывает на первый процесс в списке, а другой — на последний. Состояние процесса, готового к выполнению, сохраняется в его рабочей области. Состояние определяется двумя словами — текущим значением указателя инструкций и указателем на рабочую область следующего процесса в планировочном списке. В ситуации, изображенной на (рис. 2), имеется четыре активных процесса, причем процесс S выполняется, а процессы P, Q и R ожидают выполнения в планировочном списке.
Команда транспьютера start process создает новый активный процесс, добавляя его в конец планировочного списка. Перед выполнением этой команды в A-регистр вычислительного стека должен быть загружен указатель инструкций этого процесса, а в B-регистр — указатель его рабочей области. Команда start process позволяет новому параллельному процессу выполняться вместе с другими процессами, которые транспьютер обрабатывает в данное время.
Команда end process завершает текущий процесс, убирая его из планировочного списка. В Оккаме конструкция PAR — параллельного запуска процессов может закончиться только тогда, когда завершатся все ее компоненты параллельного процесса. Каждая команда start process увеличивает их число, а end process уменьшает. В транспьютере предусмотрен специальный механизм учета числа незавершившихся компонент данной параллельной конструкции (необходимо учитывать как активные, так и неактивные процессы). [ 3 ]