Mach изначально располагался как дополнительный код, написанный к существующему 4.2BSD-ядру, который позволял команде работать на системе задолго до того, как она была завершена. Работа началась с уже готовой Accent IPC/порт системы и переместилась на другие ключевые части OS, задачи, потоки и виртуальную память. Эти части были переписаны на вызов функций в Mach; параллельно с этим велась работа над 4.3BSD.