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

Sistemas Operacionais

Monografias: Sistemas Operacionais. Pesquise 859.000+ trabalhos acadêmicos

Por:   •  26/4/2013  •  1.028 Palavras (5 Páginas)  •  529 Visualizações

Página 1 de 5

8.1 – Introdução

• Compartilhamento da CPU em sistemas multiprogramáveis.

• Critérios de escolha da ordem dos processo a entrar em execução.

• Scheduler (escalonador):

o Uma das principais funções do Sistema Operacional

o Parte do código do Sistema Operacional responsável pelo scheduling (escalonamento).

• Funções do escalonamento:

o Manter a CPU ocupada a maior parte do tempo.

o Balancear a utilização do processador entre diversos processos.

o Maximizar o throughput do sistema

o Oferecer tempos de respostas razoáveis para os usuários interativos.

o Evitar starvation.

8.2 – Critérios de Escalonamento

• Utilização da CPU

o Em geral, é desejável que o processador permaneça a maior parte do tempo ocupado

• Throughput

o Número de processos executados em um determinado intervalo de tempo.

o Em geral, a maximização do throughput é desejada.

• Tempo de turnaroud

o Tempo que um processo leva desde sua admissão no sistema até seu término.

o Considera tempo de espera para alocação de memória, espera na fila de processos prontos, processamento e operações de entrada e saída.

o Em geral, a minimização do tempo de turnaround é desejada.

• Tempo de resposta

o Tempo decorrido do momento da submissão de um pedido ao sistema até a primeira resposta produzida.

o Em geral, a minimização do tempo de resposta é desejada.

8.3 – Escalonamento Não-preemptivo

• Existente nos primeiros sistemas multiprogramáveis, onde predominava o processamento batch.

• Quando um processo (JOB) ganha o direito de utilizar a CPU, nenhum outro processo pode lhe tirar esse recurso

8.3.1 – Escalonamento First-In-First-Out (FIFO)

• O processo que chegar primeiro, é o primeiro a ser selecionado para a execução.

• Necessário 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 execução.

o Possibilidade de processos CPU-bound de menor importância prejudicarem processos de I/O-bound mais proprietários.

8.3.2 – Escalonamento Shortest-Job-First (SJF)

• Associa cada processo (JOB) ao seu tempo de execução.

• Quando o processador está livre, o processamento que ocupar menos tempo da CPU para terminar seu processamento é selecionado.

• Favorece os programas menores.

• Reduz o tempomédio de espera em relação ao FIFO.

• Problemas:

o Determinar, exatamente, quanto tempo de CPU o processo vai utilizar para terminar seu processamento.

8.3.3 – Escalonamento Cooperativo

• O processo está em execução libera voluntariamente o processador, retornando para a fila de pronto, cooperando com os outros processos.

• Permite uma melhor distribuição do processador entre os processos.

• Não existe intervenção do Sistema Operacional na execução do processo.

• Exemplos: Microsoft Windows 3.1 e 3.11

• Problemas:

o Um programa mal escrito pode entrar em looping, monopolizando a CPU.

8.4. Escalonamento Preemptivo

• O Sistema pode interromper um processo em execução para que outro processo utilize o processador.

• Permite que o sistema dê atenção imediata a processos mais prioritários, 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 (mudança de contexto), causado pela preempção, gera um overhead no sistema.

• Critérios de preempção devem ser definidos para o overhead não se tornar crítico.

8.4.1 – Escalonamento Circular (round robin) ou preempção por tempo

• Implementado por um algoritmo semelhante ao FIFO, porém, quando um processo passa para o estado de execução, existe um tempo-limite (quantum ou time-slice) para sua utilização de forma contínua. Se o processo não terminou a execução, 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 multiusuários de tempo compartilhado.

• No caso, o processo CPU-bound tem mais chances de ser executado do que o processo IO-bound

8.4.2 – Escalonamento por Prioridades ou preempção por prioridade

• Processos possuem diferentes prioridades de execução.

• Processos de maior prioridade são escalonados preferencialmente.

• Algoritmo Implementado mediante um

...

Baixar como (para membros premium)  txt (8.1 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no TrabalhosGratuitos.com