Vous êtes sur la page 1sur 14

Sistemas Operacionais

Sumrio
Captulo 8 Gerncia do Processador (Escalonamento de Processos) ........................................... 2 8.1 Introduo ........................................................................................................................ 2 8.2 Critrios de Escalonamento ............................................................................................. 3 8.3 Escalonamento No-preemptivo ..................................................................................... 4 8.3.1 Escalonamento First-In-First-Out (FIFO).................................................................... 5 8.3.2 Escalonamento Shortest-Job-First (SJF) .................................................................... 6 8.3.3 Escalonamento Cooperativo ..................................................................................... 7 8.4. Escalonamento Preemptivo ............................................................................................... 8 8.4.1 Escalonamento Circular (round robin) ou preempo por tempo ............................ 9 8.4.2 Escalonamento por Prioridades ou preempo por prioridade.............................. 10 8.4.3 Escalonamento por Mltiplas filas .......................................................................... 11 8.4.4 Escalonamento por Mltiplas Filas com Realimentao ......................................... 12 8.4.5 Escalonamento de Sistemas de Tempo Real ........................................................... 13 8.5 Escalonamento com Mltiplos Processadores ............................................................... 14

Sistemas Operacionais
Captulo 8 Gerncia do Processador (Escalonamento de Processos)
8.1 Introduo
Compartilhamento da CPU em sistemas multiprogramveis. Critrios de escolha da ordem dos processo a entrar em execuo. Scheduler (escalonador): o Uma das principais funes do Sistema Operacional o Parte do cdigo do Sistema Operacional responsvel pelo scheduling (escalonamento). Funes do escalonamento: o Manter a CPU ocupada a maior parte do tempo. o Balancear a utilizao do processador entre diversos processos. o Maximizar o throughput do sistema o Oferecer tempos de respostas razoveis para os usurios interativos. o Evitar starvation.

Sistemas Operacionais
8.2 Critrios de Escalonamento
Utilizao da CPU o Em geral, desejvel que o processador permanea a maior parte do tempo ocupado Throughput o Nmero de processos executados em um determinado intervalo de tempo. o Em geral, a maximizao do throughput desejada. Tempo de turnaroud o Tempo que um processo leva desde sua admisso no sistema at seu trmino. o Considera tempo de espera para alocao de memria, espera na fila de processos prontos, processamento e operaes de entrada e sada. o Em geral, a minimizao do tempo de turnaround desejada. Tempo de resposta o Tempo decorrido do momento da submisso de um pedido ao sistema at a primeira resposta produzida. o Em geral, a minimizao do tempo de resposta desejada.

Sistemas Operacionais
8.3 Escalonamento No-preemptivo
Existente nos primeiros sistemas multiprogramveis, onde predominava o processamento batch. Quando um processo (JOB) ganha o direito de utilizar a CPU, nenhum outro processo pode lhe tirar esse recurso

Sistemas Operacionais
8.3.1 Escalonamento First-In-First-Out (FIFO)
O processo que chegar primeiro, o primeiro a ser selecionado para a execuo. Necessrio apenas uma fila de processos prontos, esperando pelo uso do processador. O processo utiliza a CPU sem ser interrompido. Problemas: o Impossibilidade de prever quando um processo entrar em execuo. o Possibilidade de processos CPU-bound de menor importncia prejudicarem processos de I/O-bound mais proprietrios.

Sistemas Operacionais
8.3.2 Escalonamento Shortest-Job-First (SJF)
Associa cada processo (JOB) ao seu tempo de execuo. Quando o processador est livre, o processamento que ocupar menos tempo da CPU para terminar seu processamento selecionado. Favorece os programas menores. Reduz o tempomdio de espera em relao ao FIFO. Problemas: o Determinar, exatamente, quanto tempo de CPU o processo vai utilizar para terminar seu processamento.

Sistemas Operacionais
8.3.3 Escalonamento Cooperativo
O processo est em execuo libera voluntariamente o processador, retornando para a fila de pronto, cooperando com os outros processos. Permite uma melhor distribuio do processador entre os processos. No existe interveno do Sistema Operacional na execuo do processo. Exemplos: Microsoft Windows 3.1 e 3.11 Problemas: o Um programa mal escrito pode entrar em looping, monopolizando a CPU.

Sistemas Operacionais
8.4. Escalonamento Preemptivo
O Sistema pode interromper um processo em execuo para que outro processo utilize o processador. Permite que o sistema d ateno imediata a processos mais prioritrios, como no caso de sistemas em tempo real. Proporciona melhores tempos de resposta em sistemas de tempo compartilhado Compartilhamento do processador de uma maneira mais uniforme entre os processos. A troca de um processo pelo outro na CPU (mudana de contexto), causado pela preempo, gera um overhead no sistema. Critrios de preempo devem ser definidos para o overhead no se tornar crtico.

Sistemas Operacionais
8.4.1 Escalonamento Circular (round robin) ou preempo por tempo
Implementado por um algoritmo semelhante ao FIFO, porm, quando um processo passa para o estado de execuo, existe um tempo-limite (quantum ou time-slice) para sua utilizao de forma contnua. Se o processo no terminou a execuo, volta ao estado de pronto. Em geral, o valor do quantum de tempo est entre 100 e 300 ms. Nenhum processo poder monopolizar a CPU. Algoritmo bastante adequado para sistemas multiusurios de tempo compartilhado. No caso, o processo CPU-bound tem mais chances de ser executado do que o processo IO-bound

Sistemas Operacionais
8.4.2 Escalonamento por Prioridades ou preempo por prioridade
Processos possuem diferentes prioridades de execuo. Processos de maior prioridade so escalonados preferencialmente. Algoritmo Implementado mediante um clock, que interrompe o processador em determinados intervalos de tempo, reavaliando prioridades e, possivelmente, escalonando outro processo. Todos os sistemas de tempo compartilhado implementam algum tipo de prioridade, sendo esta uma caracterstica do contexto de software. Prioridade esttica: o No modificada durante a existncia do processo. o De simples de implementao. o Pode ocasionar tempos de resposta elevados. Prioridade dinmica: o Pode ser modificada durante a execuo do processo. o O processo recebe um acrscimo sua prioridade ao sair do estado de espera. o Processos I/O-bounds tero mais chances de serem escalonados, compensando o tempo que passam no estado de espera. o Os processos CPU-bounds podem ser executados enquanto os processos CPUbounds esperam por algum evento. O tempo de resposta compensa o maior overhead e complexidade algortmica.

Sistemas Operacionais
8.4.3 Escalonamento por Mltiplas filas
Implementa diversas filas de processos no estado pronto, onde cada processo associado exclusivamente a uma delas. Cada fila possui um mecanismo prprio de escalonamento, em funo das caractersticas dos processos. Cada fila possui uma prioridade associada. O sistema s pode escalonar processos de uma fila, se todas as outras de prioridade maior estiverem vazias.

Sistemas Operacionais
8.4.4 Escalonamento por Mltiplas Filas com Realimentao
Tambm Implementa diversas filas onde cada uma tem uma prioridade de execuo associada, porm, os processos no permanecem em uma mesma fila at o trmino do processamento. O sistema identifica dinamicamente o comportamento de cada processo, ajustando assim suas prioridades de execuo e mecanismos de escalonamento. Os processos no so previamente associados s filas de pronto, e sim direcionados pelo sistema entre as diversas filas com base em seu comportamento. Execuo: o Processo criado entra no final da fila de mais alta prioridade. o Cada fila implementa o mecanismo de FIFO para escalonamento. o Quando o processo em execuo deixa a CPU por preempo por prioridade ou por solicitao a um recurso do sistema ele reescalonado para dentro da mesma fila. o Caso o processo esgote seu quantum de tempo, ele redirecionado para um a fila de menor prioridade (preempo por tempo), e assim por diante. o A fila de mais baixa prioridade implementa o mecanismo de escalonamento circular. o O quantum em cada fila varia em funo da sua prioridade. Quanto maior a prioridade, menor seu quantum de tempo. Atende as necessidades dos diversos tipos de processos. Pode ser implementado em qualquer tipo de Sistema Operacional. Pode gerar um grande overhead no sistema, ainda assim, pode justificar sua implementao.

Sistemas Operacionais
8.4.5 Escalonamento de Sistemas de Tempo Real
Fator de tempo crtico, pequeno tempo de resposta obrigatrio. Escalonamento feito unicamente com base no esquema de prioridades estticas. Quanto maior a importncia de uma tarefa, maior sua prioridade de execuo em relao s demais.

Sistemas Operacionais
8.5 Escalonamento com Mltiplos Processadores
Escalonamento bem mais complexo do que com um nico processador. Sistemas Fracamente Acoplados: o Cada processador faz seu processamento local. Sistemas Fortemente Acoplados o Possvel implementar uma nica fila de pronto para todos os processadores. o Importante a implementao da excluso mtua. o No pode haver a possibilidade de um mesmo processo ser escalonado por dois processadores diferentes.

Vous aimerez peut-être aussi