Diferença Entre Programação Preemptiva E Não Preemptiva No Sistema Operacional

Índice:

Diferença Entre Programação Preemptiva E Não Preemptiva No Sistema Operacional
Diferença Entre Programação Preemptiva E Não Preemptiva No Sistema Operacional

Vídeo: Diferença Entre Programação Preemptiva E Não Preemptiva No Sistema Operacional

Vídeo: Diferença Entre Programação Preemptiva E Não Preemptiva No Sistema Operacional
Vídeo: Sistemas Operacionais - Algoritmos de Escalonamento 2024, Novembro
Anonim

Diferença principal - programação preemptiva vs não preemptiva no sistema operacional

Um processo é um programa em execução. Um computador deve realizar várias tarefas ao mesmo tempo. Portanto, a CPU deve obter processos e executá-los. Às vezes, é necessário executar alguns processos do que outros processos. Nesse ponto, o processo em execução é interrompido e a CPU é alocada para o novo processo. Após a conclusão da tarefa, a CPU é alocada de volta ao processo anterior. A programação de acordo com esse mecanismo é conhecida como programação preemptiva. Se o processo em execução não puder ser interrompido e for obrigatória a execução do processo em execução, é conhecido como escalonamento não preemptivo. Este artigo discute a diferença entre o agendamento preemptivo e não preemptivo em um sistema operacional. O escalonamento preemptivo é o mecanismo de escalonamento de processos por meio do qual um processo pode ser interrompido por outro processo no meio de sua execução. O escalonamento não preemptivo é o mecanismo de escalonamento do processo por meio do qual um processo inicia a execução somente após o término do processo anterior. Essa é a principal diferença entre o agendamento preemptivo e não preemptivo no sistema operacional.

CONTEÚDO

1. Visão geral e diferença principal

2. O que é escalonamento preemptivo no sistema operacional

3. O que é escalonamento não preemptivo no sistema operacional

4. Semelhanças entre escalonamento preemptivo e não preemptivo no sistema operacional

5. Comparação lado a lado - escalonamento preemptivo vs não preemptivo no sistema operacional na forma tabular

6. Resumo

O que é agendamento preventivo no sistema operacional?

A programação de Round Robin é um exemplo de programação preventiva. Cada processo obtém uma pequena quantidade de tempo de CPU. Geralmente é de 10 a 100 milissegundos. Essa pequena unidade de dados também é conhecida como quantum de tempo. Após esse tempo ter decorrido, o processo é interrompido e adicionado ao final da fila pronta. Suponha que existam 4 processos como P1, P2, P3 e P4. Os tempos de intermitência da CPU em milissegundos são os seguintes. O quantum de tempo é 20.

Diferença entre programação preemptiva e não preemptiva no sistema operacional
Diferença entre programação preemptiva e não preemptiva no sistema operacional

Figura 01: Exemplo de programação Round Robin

O processo P1 é executado até 20. Restam mais 33ms. Em seguida, o P2 é executado. Como o quantum de tempo é 20 e o tempo necessário P2 é de 17 ms, P2 executará por 17 ms. Assim, o processo P2 está concluído. Então a chance é dada a P3. Ele será executado por 20ms. O resto são 48ms. Em seguida, o P4 será executado por 20ms. Tem 4ms para completar o processo total. Novamente, o P1 será executado por 20ms. Demora mais 13ms para concluir o processo. A mudança é dada a P3. Vai ser executado por 20ms, e tem mais 28ms para terminar completamente. O P4 é executado. Tem apenas 4ms. Portanto, P4 completa a execução. P2 e P4 já terminaram. Os demais processos são P1 e P3. A chance é dada a P3. Ele tinha 13 ms para ser concluído, então ele é concluído. Agora, o único processo restante é P3. Tem 28ms para ser concluído. Portanto, o P3 será executado por 20ms. O resto são 8ms. Todos os outros processos já concluíram a execução. Portanto, novamente o restante de 8ms de P3 será executado. Da mesma forma, cada processo tem a chance de ser executado.

O que é programação não preemptiva no sistema operacional?

A programação por ordem de chegada (FCFS) pode ser considerada um exemplo de programação não preemptiva. O processo que solicita primeiro é alocado para a CPU primeiro. Essa programação é facilmente gerenciada pela fila Primeiro a Entrar, Primeiro a Sair (FIFO). Se houver processos em ordem como P1, P2 e P3, a chance é dada primeiro para P1. Depois de concluído, o P2 será executado. Quando P2 for concluído, o P3 será executado. Suponha que existam 3 processos como P1, P2 e P3 com tempos de burst de CPU em milissegundos, conforme a seguir.

Diferença fundamental entre programação preemptiva e não preemptiva no sistema operacional
Diferença fundamental entre programação preemptiva e não preemptiva no sistema operacional

Figura 02: Exemplo de programação FCFS

De acordo com o acima, P1 será executado. Depois de concluído, o processo P2 é executado por 3ms. Agora, o processo restante é P3. Em seguida, ele será executado. O tempo de espera para P1 é zero. O processo P2 teve que esperar 24ms e o processo P3 teve que esperar 27ms. Se os processos chegaram na ordem P2, P3 e P1, então P2 será concluído primeiro. O próximo P3 será concluído e, finalmente, o P1 será concluído.

Qual é a semelhança entre o agendamento preemptivo e não preemptivo no sistema operacional?

Tanto a programação preemptiva quanto a não preemptiva no sistema operacional são mecanismos para programar processos em um computador

Qual é a diferença entre o agendamento preemptivo e não preemptivo no sistema operacional?

Artigo Diff meio antes da tabela

Programação preemptiva vs não preemptiva no sistema operacional

O escalonamento preemptivo é o mecanismo de escalonamento de processos por meio do qual um processo pode ser interrompido por outro processo no meio de sua execução. O escalonamento não preemptivo é o mecanismo de escalonamento de processo por meio do qual um processo inicia a execução somente após o término do processo anterior.
Interrupção de Processo
No agendamento preventivo, os processos podem ser interrompidos. No escalonamento não preemptivo, os processos podem ser interrompidos.
Utilização de CPU
No escalonamento preemptivo, a utilização da CPU é maior do que no escalonamento não-preemptivo. Na programação não preemptiva, a utilização da CPU é mínima em comparação com a programação preemptiva.
Flexibilidade
O agendamento preventivo é flexível. A programação não preemptiva não é flexível.

Resumo - Programação preemptiva vs não preemptiva no sistema operacional

Existem vários processos em execução em um computador. Quando cada processo é executado, a CPU é alocada para aquele processo específico. Às vezes, é necessário interromper a execução do processo atual e dar prioridade a outro processo. Os mecanismos de agendamento de processos podem ser preemptivos ou não preemptivos. O escalonamento preemptivo é o mecanismo de escalonamento de processos por meio do qual o processo pode ser interrompido por outro processo no meio de sua execução. O escalonamento não preemptivo é o mecanismo de escalonamento do processo pelo qual um processo inicia a execução somente após o término do processo anterior. Esta é a diferença entre o agendamento preemptivo e não preemptivo no sistema operacional.

Baixe o PDF de agendamento preventivo vs não preemptivo no sistema operacional

Você pode baixar a versão em PDF deste artigo e usá-la para fins off-line de acordo com a nota de citação. Faça o download da versão em PDF aqui: Diferença entre programação preemptiva e não preemptiva no sistema operacional

Recomendado: