Ferragens  
 
Rede de conhecimento computador >> Ferragens >> CPUs >> Content
Como o sistema operacional impede a fome nos processos de alocação de recursos?
Os sistemas operacionais empregam várias estratégias para evitar a fome nos processos de alocação de recursos. A fome ocorre quando um processo é negado repetidamente ao acesso a um recurso, mesmo que seja capaz de realizar seu trabalho. Aqui está um colapso de técnicas comuns:

1. Programação baseada em prioridade com envelhecimento:

* O problema: Os processos de alta prioridade podem monopolizar continuamente os recursos, impedindo que os processos de menor prioridade tenham a chance de correr e potencialmente causar a fome.
* A solução - envelhecimento:
* Conceito: Com o tempo, aumente a prioridade dos processos que aguardam muito tempo para adquirir um recurso.
* Implementação: O OS incrementa periodicamente a prioridade dos processos de espera. Isso garante que até os processos de baixa prioridade acabem se qualificados para executar.
* Exemplo: Um processo que aguarda o tempo da CPU pode ter sua prioridade aumentada a cada poucos ticks de relógio. Eventualmente, ele se tornará o processo de maior prioridade e será programado.

2. Fila justa e fila justa ponderada:

* O problema: Os processos que solicitam o mesmo recurso podem receber alocações imprevisíveis, potencialmente favorecendo alguns sobre outros repetidamente.
* A solução - Fair fila:
* Conceito: Garanta a cada processo uma parcela justa de um recurso ao longo do tempo.
* Implementação:
* Os processos que aguardam um recurso são colocados em uma fila.
* O recurso é alocado para processos de maneira justa, muitas vezes usando algoritmos de agendamento de robina redonda ou similares.
* Cada processo recebe uma fatia de tempo (ou outra cota de recursos) antes que outro processo receba uma curva.
* fila justa ponderada (WFQ):
* Conceito: Uma variação da fila justa, onde cada processo recebe um peso que determina sua parcela relativa do recurso.
* Implementação:
* Os processos com pesos mais altos recebem fatias proporcionalmente maiores do recurso.
* Isso permite priorizar processos importantes, garantindo que outros processos recebam algum acesso.

3. Alocação de recursos com prevenção/prevenção de impasse:

* O problema: O impasse pode levar à fome. Se os processos estiverem presos esperando pelos recursos um do outro, alguns poderão ser bloqueados indefinidamente. Mesmo que o impasse seja quebrado, os mesmos processos poderão ser escolhidos repetidamente como vítimas, levando à fome.
* A solução:
* Prevenção de impasse: Projete estruturalmente o sistema de alocação de recursos para eliminar as condições que causam impasse. Isso pode envolver:
* Eliminação de exclusão mútua (geralmente não viável): Possibilite que os recursos sejam usados ​​por vários processos simultaneamente.
* Segure e aguarde a prevenção: Exige um processo para solicitar todos os seus recursos de uma só vez ou liberar todos os recursos mantidos antes de solicitar mais.
* sem preempção: Permita que o sistema operacional tire recursos à força de um processo (se o processo estiver mantendo um recurso que outro processo precisa e está aguardando outro recurso).
* Prevenção de espera circular: Impor uma ordem total aos tipos de recursos e requer processos para solicitar recursos em ordem crescente.
* Evitação de impasse: Monitore dinamicamente o estado de alocação de recursos e evite a alocação de recursos, se isso, pode levar a um impasse. O algoritmo do banqueiro é um exemplo comum.
* Por que isso ajuda a fome: Ao evitar impasses, o sistema operacional garante que os recursos sejam liberados e disponibilizados aos processos de espera, reduzindo a probabilidade de bloqueio indefinido.

4. Sistemas baseados em reserva:

* O problema: Os processos podem ser continuamente superados por outros para acesso a recursos.
* A solução:
* Conceito: Permitir que os processos reserve os recursos com antecedência.
* Implementação:
* Um processo pode solicitar uma alocação garantida de um recurso para um período específico.
* O sistema operacional garante que o recurso esteja disponível quando o processo precisar.
* Por que isso ajuda a fome: A reserva impede que um processo seja negado repetidamente, porque não pode competir com as demandas imediatas de outros processos. Garante um certo nível mínimo de serviço.

5. Agenda da loteria:

* O problema: Os processos podem ser consistentemente azarados em esquemas de alocação aleatória.
* A solução:
* Conceito: Dê processos "tickets de loteria" para um recurso. O sistema operacional seleciona aleatoriamente um ticket e o processo que mantém o ticket recebe o recurso.
* Implementação:
* Cada processo recebe vários ingressos proporcionais à sua importância ou necessidade.
* O sistema operacional possui uma loteria para determinar qual processo obtém o recurso.
* Por que isso ajuda a fome: Embora ainda seja possível que um processo seja azarado em uma única loteria, com o tempo, os processos com mais ingressos receberão estatisticamente uma parcela maior do recurso, impedindo a negação permanente de serviço. Quanto mais ingressos um processo tiver, maior sua chance de ganhar. Mesmo processos com poucos ingressos têm uma chance diferente de vencer, impedindo a fome completa.

6. Mecanismos de feedback:

* O problema: Os algoritmos de agendamento estático podem não se adaptar bem às mudanças nas condições do sistema.
* A solução:
* Conceito: Monitore o desempenho dos processos e ajuste a alocação de recursos de acordo.
* Implementação:
* O sistema operacional rastreia há quanto tempo os processos estão esperando por recursos.
* Se um processo aguardou um período excessivo de tempo, o sistema operacional pode aumentar sua prioridade, alocar mais recursos ou mudar para um algoritmo de agendamento diferente.
* Por que isso ajuda a fome: Os mecanismos de feedback permitem que o sistema operacional responda dinamicamente às situações de fome e tome medidas corretivas.

Considerações importantes:

* Sobrecarga: Todas essas soluções vêm com alguma sobrecarga. A complexidade do algoritmo afeta o uso da CPU e o rastreamento dos tempos de espera requer memória.
* justiça vs. eficiência: Freqüentemente, há uma troca entre justiça (impedindo a fome) e a eficiência geral do sistema. Um sistema perfeitamente justo pode não ser o mais eficiente em termos de taxa de transferência.
* Específico do contexto: A melhor abordagem para prevenir a fome depende do recurso específico que está sendo alocado, da natureza dos processos e das metas gerais do sistema. Um sistema operacional em tempo real (RTOs) possui requisitos mais rígidos do que um sistema operacional de uso geral.

Em resumo, os sistemas operacionais empregam uma variedade de técnicas, geralmente em combinação, para evitar a fome e garantir que todos os processos eventualmente recebam os recursos necessários para concluir suas tarefas. A chave é equilibrar a justiça, a eficiência e os requisitos específicos do sistema.

Anterior :

Próximo :
  Os artigos relacionados
·É verdade que os computadores podem usar apenas um pro…
·Um núcleo duplo de 2 GHz é mais rápido que 2,2 CPU ú…
·O que o processador de um computador faz? 
·Quais são as vantagens dos chips de memória do CMOS s…
·Como atualizar um CPU Thinkpad 
·Qual é o pior processador que a Intel faz? 
·Como substituir CPU Chipset Fãs 
·Como atualizar CPU Pentium II 
·Como instalar uma CPU Power Pack Abastecimento 
·Como um computador funcionou antes do microprocessador?…
  Artigos em destaque
·Tecnologia de orientação - artigos de instruções, g…
·Como instalar Caso Fãs em um gateway LX -6810- 01 
·Por que eles colocaram os iPads à venda antes de lanç…
·Por que o Google não está funcionando no meu MacBook 
·Como conectar um leitor de cartão SD de memória SDHC …
·Meu Laptop Caiu & My Webcam não está funcionando 
·Como Chegar Broadcast TV no ​​computador 
·Como substituir um IDE Drive de DVD com uma unidade SAT…
·Definição de Discrete Memória em uma placa gráfica 
·Como alterar tinta em uma impressora Canon BJC -2110 
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados