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...