pré-requisitos: Priority Scheduling
We have already discussed about the priority scheduling in this post. É um dos algoritmos de agendamento mais comuns em sistemas de lotes. A cada processo é atribuída uma prioridade. Processo com a maior prioridade deve ser executado em primeiro lugar e assim por diante.
neste post vamos discutir um grande problema relacionado com agendamento prioritário e é solução.,
inanição ou bloqueio indefinido é fenômeno associado com os algoritmos de agendamento de prioridade, no qual um processo pronto para correr para CPU pode esperar indefinidamente por causa de baixa prioridade. Em um sistema de computador fortemente carregado, um fluxo constante de processos de maior prioridade pode impedir que um processo de baixa prioridade de alguma vez obter a CPU.
tem havido rumores de que em 1967 a programação prioritária foi usada na IBM 7094 no MIT , e eles encontraram um processo de baixa prioridade que não tinha sido submetido até 1973.,
Como vemos no processo de exemplo acima Tendo maior prioridade do que outros processos ficando CPU mais cedo. Podemos pensar em um cenário em que apenas um processo está tendo baixa prioridade (por exemplo 127) e estamos dando outro processo com alta prioridade, isso pode levar indefinidamente à espera do processo de CPU que está tendo baixa prioridade, isso leva à fome. Além disso, discutimos também a solução da fome.,
as Diferenças entre Deadlock e Starvation em OS :
- Deadlock ocorre quando nenhum dos processos em que o conjunto é capaz de mover-se à frente, devido à ocupação dos recursos necessários por qualquer outro processo, como mostrado na figura abaixo, por outro lado, a Fome ocorre quando um processo de espera por um período indefinido de tempo para obter os recursos de que necessita.
- outro nome de impasse é espera Circular. Outro nome de fome é Vived lock.,quando o impasse ocorre, nenhum processo pode progredir, enquanto na fome, além do processo da vítima, outros processos podem progredir ou prosseguir.
solução para a fome : envelhecimento
envelhecimento é uma técnica de aumentar gradualmente a prioridade dos processos que esperam no sistema por um longo tempo.Por exemplo, se a prioridade variar de 127(baixa) a 0(Alta), poderíamos aumentar a prioridade de um processo de espera em 1 a cada 15 minutos. Eventualmente, mesmo um processo com uma prioridade inicial de 127 não levaria mais de 32 horas para o processo de prioridade 127 à idade para um processo de prioridade-0.,este artigo é contribuído por Saloni Gupta. Se você gosta de GeeksforGeeks e gostaria de contribuir, você também pode escrever um artigo usando contribute.geeksforgeeks.org ou e-mail o seu artigo para [email protected]. Ver seu artigo publicado no GeeksforGeeks página principal e ajudar outros Geeks.