A multitarefa baseada em processos é um método de executar várias tarefas (processos) simultaneamente, fornecendo a cada tarefa seu próprio espaço de memória independente. Isso significa que cada processo tem seu próprio conjunto de recursos, incluindo o seu:
*
Espaço de memória: Não há dois processos compartilhar os mesmos endereços de memória. Se um processo travar, ele não afeta diretamente os outros porque eles são isolados.
*
Registros: Cada processo possui seu próprio conjunto de registros da CPU.
*
alças de arquivo: Cada processo gerencia seus próprios arquivos e não interfere diretamente no acesso a arquivos de outros processos.
O agendador do sistema operacional muda rapidamente entre esses processos, dando a cada uma uma fatia de tempo da CPU (deslizamento de tempo). Isso cria a ilusão de vários programas em execução simultaneamente, mesmo em um processador de núcleo único. Embora pareça paralelo, na verdade é uma execução seqüencial rápida.
Vantagens da multitarefa baseada em processos: *
Robustez: O isolamento dos processos aumenta a estabilidade do sistema. Um acidente em um processo geralmente não afeta os outros.
*
Segurança: O isolamento do processo ajuda a impedir que programas maliciosos acessem ou corrompem a memória de outros processos.
*
Gerenciamento de recursos: O sistema operacional pode alocar e gerenciar facilmente os recursos para cada processo.
Desvantagens da multitarefa baseada em processos: *
Sobrecarga: Criar e gerenciar processos requer recursos significativos do sistema (memória e tempo da CPU). A comutação de contexto (alternância entre processos) também introduz a sobrecarga.
*
A comunicação entre processos (IPC) pode ser complexa: Se os processos precisarem compartilhar dados, eles exigem mecanismos como tubos, soquetes ou memória compartilhada, que adicionam complexidade.
*
menos eficiente para algumas tarefas: Para tarefas que exigem coordenação rígida e compartilhamento de dados frequentes, a multitarefa baseada em processos pode ser menos eficiente que a multitarefa baseada em roscas.
Em contraste com a multitarefa baseada em processos,
multitarefa baseada em threads usa vários threads em um único processo. Os tópicos compartilham o mesmo espaço de memória, facilitando a comunicação, mas potencialmente menos robustos. Os sistemas operacionais modernos geralmente empregam uma combinação de processo e multitarefa baseados em roscas para alcançar um equilíbrio entre robustez e eficiência.