TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Política de Escalonamento Para um Sistema Operacional Multiusuário e Preemptivo

Por:   •  16/3/2016  •  Pesquisas Acadêmicas  •  477 Palavras (2 Páginas)  •  615 Visualizações

Página 1 de 2

Política de escalonamento para um Sistema Operacional multiusuário e preemptivo

  • Um algoritmo de dois níveis, superior e inferior;
  • Algoritmo de nível inferior escolhe a execução do próximo processo de um conjunto de processos que estão na memória e no disco afim de que todos os processos tenham a oportunidade de estar na memória e assim poderem ser executados;
  • Utilizaria de múltiplas filas, sendo que cada uma associa-se a uma prioridade dentro de uma faixa de valores de prioridades não sobrepostos;
  • Os processos no modo do usuário teriam menores prioridades e os processos que fazem chamadas ao sistema apresentariam maiores prioridades;
  • Quando o escalonador de nível inferior fosse executado, ele investigaria as filas começando pela de maior prioridade até encontrar uma fila ocupada. O primeiro processo dessa fila seria então iniciado. Esse processo teria a permissão de executar por no máximo o tempo de 1 quantum ou até que seja bloqueado;
  • Caso dure todo o seu quantum, ele seria colocado de volta no final de sua fila e o escalonador o executaria novamente. Assim, os processos com a mesma prioridade compartilhariam a CPU utilizando o algoritmo round-robin;
  • Com base em sua nova prioridade, cada processo seria ligado a uma fila apropriada, cujo número seria obtido geralmente a partir da divisão da prioridade por uma constante;
  • Quando um processo interromper o núcleo por um software para fazer uma chamada ao sistema, seria possível que o processo tenha de ser bloqueado antes de completar a chamada ao sistema e retornar para o modo usuário. Ele poderia também precisar aguardar pela conclusão de uma entrada do terminal ou de uma I/O no disco;
  • Ao ser bloqueado, seria removido da estrutura de fila, pois já não estaria mais apto a executar. No entanto, ele seria colocado de volta na fila com um valor negativo quando ocorrer o evento que ele esteja esperando;
  • A escolha da fila seria determinada pelo evento que ele aguardaria acontecer;
  • A prioridade relativa de I/O do disco ou do terminal seria fixada dentro do SO e somente poderia ser modificada pela alteração de algumas constantes do seu códigofonte seguida de recompilação do sistema;
  • Esses valores seriam espaçados o suficiente para que processos que estejam sendo reiniciados por diferentes razões sejam claramente separados em diferentes filas, retirando rapidamente os processos do núcleo deixando o executar imediatamente após cada requisição ter sido concluída, de modo que ele tenha como fazer a próxima rapidamente;
  • Para processo interativo deveria ser atribuída uma alta prioridade, assim que este  estivesse pronto, afim de garantir que esses fossem bem servidos;
  • Desse modo, os processos orientados a filas positivas basicamente conseguiriam todo o serviço que sobra quando todos os processos interativos e orientados a I/O estão bloqueados.

Introdução aos Sistemas Operacionais. Disponível em: . Acesso em: 16 de março de 2016.

II - Processos e Threads. Disponível em: < http://equipe.nce.ufrj.br/thome/grad/so_old/apostila/Processos.pdf>. Acesso em: 16 de março de 2016.

...

Baixar como (para membros premium)  txt (3.1 Kb)   pdf (94.3 Kb)   docx (10.1 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com