Gerenciamento do
Processo nos Sistemas
Operacionais
Visão Geral do Gerenciamento de Processos
Um processo é uma instância de um programa em execução, que inclui o código do programa,
variáveis
suas e o estado atual de execução. Cada processo é gerenciado pelo sistema operacional.
Os componentes principais de um processo
incluem:
Código do programa
Definição de Processo Componentes de um Processo Dados do processo
Contador de programa
Registro de estado
O gerenciamento eficiente de processos é
crucial para garantir que os recursos do
Importância do Gerenciamento de Proces… sistema sejam utilizados de forma otimizada
que
e múltiplos processos possam ser
executados simultaneamente.
Estados de um Processo
Os processos podem estar em diferentes estados durante seu ciclo de…
Pronto: aguardando para ser executa…
Em execução: sendo processado pela CPU.
Bloqueado: aguardando por um evento ex…
As transições entre estados ocorrem devido a
eventos como:
Estados Básicos
A conclusão de uma operação de I/O.
Transições entre Estados
A interrupção do sistema.
A solicitação de um processo para liberar a
CPU.
Um exemplo típico do ciclo de vida de um
processo pode ser visto em um programa que
aguarda a entrada do usuário. Inicialmente, ele
está em estado de "pronto", muda para "em
Exemplo de Ciclo de Vida execução" ao receber a CPU e, em seguida,
pode entrar em "bloqueado" enquanto aguar-
a
daentrada.
Escalonamento de Processos
Os sistemas operacionais utilizam diferentes algoritmos para decidir qual processo deve ser executado
seguir:
a
FIFO (First In, First Out)
SJF (Shortest Job First)
Round Robin
Cada algoritmo tem suas vantagens e
desvantagens:
Algoritmos de Escalonamento
FIFO é simples, mas pode causar espera…
Comparação de Algoritmos
SJF minimiza o tempo de espera, mas pode
levar à inanição de processos longos.
Round Robin é justo, mas pode não ser eficiente
para processos de longa duração.
A escolha do algoritmo de escalonamento
impacta diretamente o desempenho do sis-
Impacto no Desempen… afetando o tempo de resposta e a utilização da
tema,
CPU.
Sincronização de Processos
A sincronização é necessária quando processos compartilham recursos e precisam evitar condições
corrida.
de
Os principais mecanismos in…
Semáforos
Necessidade de Sincronização Mecanismos de Sincronização
Monitores
Mutexes
Um exemplo clássico é quando dois processos
tentam atualizar o mesmo recurso
Exemplos de Condições de Corrida simultaneamente, levando a resultados
inconsistentes.
Comunicação entre Processos
A comunicação entre processos pode ser realizada de várias…
Pipes
Sockets
Métodos de Comunicação Mensagens
Pipes permitem a comunicação unidirecional
entre processos, enquanto sockets permitem
Pipes e Sockets comunicação bidirecional, sendo utilizados
redes.
em
A comunicação eficaz entre processos é
Importância da Comunicação essencial para a coordenação e a troca de
dados, especialmente em sistemas distribuí-
dos.