Sistemas multiprocessados podem ser de dois tipos:
* [[Multiprocessamento simétrico]] ('''SMP'''): os processadores compartilham a mesma memória, embora possam ter caches separadas. O sistema operacional deve estar preparado para trabalhar com coerência de caches e, principalmente, evitar condições de corrida na memória principal.
* [[Acesso não uniforme a memória|Acesso não uniforme à memória]] ('''NUMA'''): a cada processador é associado um banco de memória. Nesse caso, o sistema operacional trata cada banco separadamente, pois cada banco tem um custo de acesso diferente, dependendo de qual o processador a que está associado e onde está sendo executado o processo que tenta acessar a memória.