Multiprocessamento
Origem: Wikipédia, a enciclopédia livre.
Multiprocessamento é a capacidade de um sistema operacional executar simultaneamente dois ou mais processos. Pressupõe a existência de dois ou mais processadores. Difere da multitarefa, pois esta simula a simultaneidade, utilizando-se de vários recursos, sendo o principal o compartilhamento de tempo de uso do processador entre vários processos.
[editar] Características
Um multiprocessador ou sistema multiprocessado é um sistema integrado de computação com as seguintes características:
- Envolve dois ou mais processadores físicos (sejam processadores separados ou múltiplos núcleos encapsulados no mesmo chip) ou lógicos (processador(es) com a tecnologia HyperThreading da Intel) com o mesmo poder computacional e cada um capaz de executar processos autonomamente. Isto implica que não há nenhuma unidade central de controle; cada processador contém sua própria unidade de controle. Assim, efetivamente, a lógica de controle é distribuida pelo sistema.
- Os processadores compartilham um único espaço de endereçamento de memória.
- O sistema de hardware é como um todo gerenciado por um único sistema operacional.
O sistema operacional com suporte a multiprocessamento deve ser capaz de:
- suportar multitarefa;
- manter múltiplas filas de processos, uma para cada processador.
[editar] Arquitetura
Sistemas multiprocessados podem ser basicamente de dois tipos: SMP e NUMA.
- 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 à 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.
[editar] Referências
- SILBERSCHATZ, Avi; GALVIN, Peter B.; GAGNE, Greg. Operating system concepts. 7.ed. Hoboken: Wiley. 2005.
- HENNESSY, John; PATTERSON, David A. Arquitetura de computadores: uma abordagem quantitativa. Trad. da 3.ed. (EUA). Rio de Janeiro: Campus. 2003.