Crescendo Juntos

Centro Educacional da Fundação Salvador Arena

Multiprocessamento e Multitarefa

Um sistema operacional multitarefa é uma parte fundamental de qualquer computador moderno, permitindo que o processador execute várias tarefas aparentemente simultâneas.

A multitarefa é uma característica presente em sistemas operacionais como o Windows XP, o Vista, diversas distribuições de Linux e em muitos outros. Ela é a base que possibilita que um computador atenda às necessidades de diversos usuários e programas ao mesmo tempo, procedendo à execução em paralelo de várias tarefas.

Um exemplo prático de multitarefa é quando um usuário está navegando na web, ouvindo música em seu reprodutor de áudio favorito e, ao mesmo tempo, trabalhando em um documento no processador de texto. Isso é possível graças à habilidade do sistema operacional de dividir o tempo de processamento entre essas tarefas de forma rápida e eficaz.

No entanto, é importante notar que o processador de um computador não pode executar tarefas verdadeiramente simultâneas, já que ele possui apenas um núcleo. O que o sistema operacional faz é alternar rapidamente entre as diferentes tarefas, atribuindo pequenos intervalos de tempo para cada uma. Isso acontece em uma frequência tão alta que cria a ilusão de simultaneidade para o usuário. E, ao contrário da multitarefa, o multiprocessamento pressupõe a existência de dois ou mais proces­sadores reais ou lógicos, que podem executar processos de forma genuinamente paralela. Isso significa que cada processador é capaz de operar de forma independente, sem a necessidade de fazer intercalação rapidamente entre as tarefas, como na multitarefa.

Um sistema multiprocessador ou multiprocessado é uma configuração de computação que apresenta as seguintes características distintivas:

  1. Dois ou mais processadores físicos: isso pode envolver processadores separados ou múltiplos núcleos encapsulados em um único chip; cada processador possui capacidade de processamento independente.
  2. Compartilhamento de espaço de endereçamento de memória: isso significa que todos os processadores têm acesso ao mesmo espaço de memória, o que facilita a comunicação e o compartilhamento de dados entre eles.
  3. Gerenciamento unificado pelo sistema operacional: o sistema é controlado e gerenciado por um único sistema operacional, que coordena as operações de todos os processadores; vale a pena mencionar que existem várias categorias de sistemas de multiprocessamento (MP), cada uma com suas próprias peculiaridades e benefícios.
  4. *Não compartilhado (Shared-Nothing MP):* neste cenário, os processadores não compartilham nada, nem memória, caches e discos; todavia, precisam estar interconectados para haver comunicação e coordenação; isso é comumente chamado de “cluster puro”.
  5. *Discos compartilhados (Shared-Disk MP):* neste caso, os discos são compartilhados, o que preserva parte do modelo de programação usual; contudo, a escalabilidade é limitada devido a gargalos no acesso físico e lógico a dados compartilhados.
  6. *Cluster de Memória Compartilhada (Shared-Memory Cluster):* cada processador em um cluster de memória compartilhada possui seus próprios recursos, incluindo memória principal, discos e E/S, e cada um deles executa uma cópia do sistema operacional, o que permite uma maior independência no processamento.
  7. *Memória Compartilhada Estrita (SMP – Symmetric Multiprocessing):* nesta configuração, todos os processadores estão fortemente acoplados em uma única caixa com um barramento de alta velocidade ou comutador; eles compartilham dispositivos de memória global, discos e E/S; apenas uma cópia do sistema operacional é executada em todos os processadores, e por isso esse sistema operacional precisa ser projetado para explorar essa arquitetura, permitindo uma execução verdadeiramente paralela.

Para resumir, tanto a multitarefa quanto o multiprocessamento são técnicas valiosas para melhorar o desempenho de sistemas computacionais, permitindo que vários processos ou tarefas sejam executados eficiente e concomitantemente. A multitarefa cria a ilusão de simultaneidade em um único processador, enquanto o multiprocessamento envolve a execução real de múltiplos processos em processadores independentes. Ambos desempenham um papel importante na melhoria da eficiência e da experiência do usuário nos sistemas existentes na atualidade.

Autores: Arthur Alves de Oliveira, Giovana Moreira da Silva e Victor Bueno Kato, alunos de Engenharia de Computação, da Faculdade Engenheiro Salvador Arena.

Orientador: professor Eduardo Rosalem Marcelino.

Compartilhe!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Voltar ao topo