Hierarquia de Processos e Algoritmos de Escalonamento

Computação4,34 KB

Hierarquia de processos

- Hierarquia de processo: É criado um processo pai no momento em que o sistema é iniciado. Após a criação do processo pai, todos os processos que forem criados depois são chamados de processos filhos. Lembre-se: processo filho não pode criar processo pai, mas pode criar processos filhos, formando uma árvore onde a raiz é o processo pai e os demais são processos filhos.

Obs. O processo que faz a chamada de sistema é chamado de processo pai, enquanto o processo criado é chamado de processo filho.

Três estados possíveis de um processo

Pronto

Pronto: é o estado onde os processos, depois de criados ou quando retornam do tratamento de uma interrupção, permanecem aguardando a liberação da CPU para que possam iniciar ou continuar seu processamento. É como uma fila, gerenciada pelo sistema operacional, que organiza os processos de acordo com as informações contidas no contexto de software (identificação, cotas e privilégios). Vários processos podem estar neste estado simultaneamente.

Em espera

Em espera: neste estado estão todos os processos que sofreram algum tipo de interrupção de E/S, permanecendo até que a intervenção seja resolvida. Vários processos podem estar neste estado simultaneamente.

Terminado

Terminado: é o estado final do processo, quando este conclui seu processamento. Vários processos podem estar neste estado simultaneamente.

Quatro transições possíveis entre os estados

As transições possíveis incluem:

  • Pronto → Em espera → Terminado: ocorre quando o programa completa os três estados sem problemas.
  • Pronto → Terminado: ocorre quando o programa é finalizado por problemas (abortado ou encerrado abruptamente).
  • Pronto → Em espera → Pronto → Em espera → Terminado: ocorre quando há alternância por falta de espaço na CPU para execução; o processo sai do estado Em espera, volta para Pronto e, após novas intercorrências, pode terminar.
  • Pronto → Em espera → Pronto → Terminado: ocorre quando há alternância devido a limitações de CPU; após voltar para Pronto, ocorre um erro ou o processo excede o espaço alocado e é então terminado.

Algoritmos de escalonamento de processos

Primeiro a chegar, primeiro a ser atendido (PCPA)

Primeiro a chegar, primeiro a ser atendido (PCPA) – é um algoritmo de escalonamento não preemptivo. Esse algoritmo funciona bem para sistemas operacionais em lote, mas é inaceitável para sistemas interativos. Nesse esquema, cada programa é executado de ponta a ponta; os programas são processados de forma sequencial.

Programa menor primeiro (MP)

Programa menor primeiro (MP) – é um algoritmo de escalonamento não preemptivo que lida com os programas de acordo com a extensão de seus ciclos de CPU. Não pode ser implementado em sistemas interativos (pois exige conhecimento prévio e bloqueia longos tempos de resposta).

Escalonamento por prioridade

Escalonamento por prioridade – é um algoritmo de escalonamento que geralmente é não preemptivo e dá preferência de execução a alguns programas em relação a outros. É um dos algoritmos mais comuns em sistemas em lote. A prioridade pode ser atribuída por um administrador ou por um gerenciador de CPU.

Menor tempo restante (MRT)

Menor tempo restante (MRT) – é a versão preemptiva do algoritmo MP. Esse algoritmo requer conhecimento prévio do tempo de uso da CPU e, por isso, não é adequado para sistemas interativos que não possam prever a duração dos ciclos de CPU.

Rodízio (Round‑Robin)

Rodízio (Round‑Robin) – é um algoritmo preemptivo de escalonamento de processos amplamente utilizado em sistemas interativos, pois é fácil de implementar e não se baseia nas características dos programas, mas sim em uma fatia de tempo reservada a cada programa. Isso garante que a CPU seja compartilhada equitativamente entre todos os processos ativos, evitando que um único programa monopolize a CPU. Essa fatia de tempo é chamada de quantum.

Baixar

PDF Word HTML