SISTEMAS OPERACIONAIS
Artigo: SISTEMAS OPERACIONAIS. Pesquise 862.000+ trabalhos acadêmicosPor: bobiao • 21/11/2014 • 2.149 Palavras (9 Páginas) • 401 Visualizações
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 a execuçã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 de pá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 a execuçã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 kernelgarante que pode prosseguir sem o risco de acesso simultâ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/S Em 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 scheduler tende 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: o tempo 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 do processo 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 Windows e Linux
Prioridade do processo
●
A idéia é organizar os processos baseados em seu mérito e necessidade para o tempo do processador. Os processos com prioridade mais alta serão executados antes daqueles com uma prioridade mais baixa, ao passo que os processos com a mesma prioridade serão organizados em rodízio (um depois do próximo, repetindo) Em alguns sistema, inclusive no Linux, os processo com uma prioridade mais alta também recebem uma fatia de tempo maior. O Linux fornece um scheduler baseado em prioridade dinâmica.
–
●
...