1. A method for operating a multi processor system with shared memory and at least one hardware memory management unit, comprising the steps of: booting a first memory partitioning kernel in one processor; seizing control of said at least one hardware memory management unit by said memory partitioning kernel; partitioning available memory so as to allocate and isolate a specific region of memory for each respective processor; booting processes in said processors; and limiting memory access by each said processor to its respective said specific region of memory.