Escalonamento de processos

Disponível somente no TrabalhosFeitos
  • Páginas : 9 (2165 palavras )
  • Download(s) : 0
  • Publicado : 24 de abril de 2012
Ler documento completo
Amostra do texto
UNIVATES - Centro Universitário

Estudo de Caso Escolanomento no Windows e Linux
Disciplina: Sistemas Operacionais Prof. Maglan Cristiano Diemer
baseado no material de Rober Love, Silberschatz e Galvin

Linux - Arquitetura

Prof. Maglan C. Diemer - Estudo de Caso - Escalonamento no Windows e Linux

Linux - Escalonamento






Em Linux, o escalonamento também inclui aexecução de tarefas do kernel Estas tarefas do kernel incluem as tarefas requisitadas por processos em execução e as tarefas internas ligadas a device drivers A execução em modo kernel pode ocorrer de duas formas:




Um programa em execução requisita explicitamente um serviço do SO através de uma função de sistema ou implicitamente quando o gerenciamento de memória virtual gera uma “falha depágina” Um device driver gera uma interrupção que leva a CPU a iniciar uma rotina do kernel para atendimento do serviço

Prof. Maglan C. Diemer - Estudo de Caso - Escalonamento no Windows e Linux

Linux - Execução em Modo Kernel


O Linux usa duas técnicas para proteger a execução do kernel:


1. O código normal do kernel não pode ser interrompido


Quando uma interrupção surge durante aexecução em modo kernel, uma flag é ativada de modo que o escalonador possa executar logo que a função de sistema termine e o controle volte para modo não privilegiado



2. Para seções críticas de código dentro de rotinas de serviço usa-se outra técnica


Desativando as interrupções por hardware durante as seções críticas, o kernel garante que pode prosseguir sem o risco de acessosimultâneo a dados partilhados do SO (e sem possibilidade de se modificar o sistema)

Prof. Maglan C. Diemer - Estudo de Caso - Escalonamento no Windows e Linux

Linux - Escalonamento Processos


O Linux usa dois métodos de escalonamento de processos: – Um algoritmo de tempo compartilhado para escalonamento justo e preemptivo entre vários processos. (nenhum processo utilize eternamente a CPU) –Um algoritmo de tempo-real para tarefas em que as prioridades absolutas são mais importantes do que a igualdade de tratamento

Prof. Maglan C. Diemer - Estudo de Caso - Escalonamento no Windows e Linux

Processos I/O bound X CPU bound


Processos I/O bound (também conhecidos como processos vinculados à E/S)


Passam grande parte de seu tempo enviando e aguardando as solicitações de E/SEm geral executável, mas apenas por período curtos, porque eventualmente irá se bloquear esperando mais E/S





Processos CPU bound (também conhecidos como processo vinculados ao processador)
– –

Passam grande parte do seu tempo executando o código Tendem ser executados até que sejam antecipados porque não se bloqueiam nas solicitações de E/S com muita freqüência



O schedulertende a executar com menor freqüência os processos CPU bound, mas por períodos maiores de tempo A estratégia do scheduler tende a favorecer explicitamente os processos I/O bound



Prof. Maglan C. Diemer - Estudo de Caso - Escalonamento no Windows e Linux

Processos I/O bound X CPU bound


A estratégia do scheduler em um sistema tem que tentar satisfazer dois objetivos conflitantes: otempo de resposta rápido do processo (latência baixa) e a taxa de rendimento do processo alta Para satisfazer essas exigências, os schedulers geralmente utilizam algoritmos complexos para determinar o processo que mais vale a pena ser executado, enquanto não compromete a integridade dos outros processo com prioridade mais baixa Favorecer os processo vinculados à E/S fornece um tempo de resposta doprocesso melhorado O Linux, para fornecer uma boa resposta interativa, otimiza a resposta do processo (latência baixa), assim favorecendo os processo vinculados à E/S em detrimento dos vinculados ao processador Entretanto, isso é feito de uma maneira que não negligencia os processos vinculados ao processador









Prof. Maglan C. Diemer - Estudo de Caso - Escalonamento no...
tracking img