A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Escalonamento de Processos

Apresentações semelhantes


Apresentação em tema: "Escalonamento de Processos"— Transcrição da apresentação:

1 Escalonamento de Processos
Escola Superior de Tecnologia e Gestão de Beja Curso de Engenharia Informática Cadeira de Sistema Operativos Escalonamento de Processos (Adaptado dos slides que acompanham o livro “Operating Systems” de William Stallings)

2 Objectivos do Escalonamento
Tempo de resposta Taxa de saída Eficiência do processador

3 Tipos de Escalonamento

4

5

6 Escalonamento a Longo Prazo
Determina quais os programas que são admitidos pelo sistema para processamento Controla o nível de multiprogramação (mais processos  maior o nível de multiprogramação) Quanto mais processos, menor a percentagem de tempo de processador atribuída a cada um

7 Escalonamento de Médio Prazo
Parte da função de swapping Baseado na necessidade de controlar o nível de multiprogramação (mais swapping  mais programas que podem correr  maior o nível de multiprogramação)

8 Escalonamento de Curto Prazo
Conhecido com escalonador (scheduler, dispatcher) É executado frequentemente Chamado após a ocorrência de certos eventos: Interrupções do relógio (clock) do sistema Interrupções de E/S Chamadas ao sistema Sinais

9 Prioridades O escalonador escolherá sempre um processo com uma prioridade maior Podem existir várias filas de processos preparados, cada qual associada a um nível de prioridades Os processos de prioridade baixa podem nunca correr (starvation) possibilidade de alteração da prioridade com base na idade e história de execução de um processo

10

11

12 Modo de Decisão Não apreensão Apreensão
Quando um processo se encontra no estado correndo, continua neste estado até terminar ou se bloquear num operação de E/S Apreensão O processo que está a correr pode ser interrompido e colocado na lista de processos preparados Permite um melhor serviço pois impede que um processo monopolize o processador por muito tempo

13 Exemplo de Escalonamento de Processos

14 Primeiro-Chegar-Primeiro-Servido(1)
Cada processo é introduzido na lista Preparados Quando o processo corrente termina a execução, o mais antigo na lista Preparados é seleccionado 5 10 15 20 1 2 3 4 5

15 Primeiro-Chegar-Primeiro-Servido(2)
Um processo pequeno pode ter que esperar muito tempo até ser executado Favorece os processos CPU-bound Os processos com E/S têm de esperar que os processos CPU-bound terminem

16 Round-Robin(1) Utiliza apreensão baseada num relógio
É definida uma quantidade de tempo durante a qual cada processo utiliza o processador 5 10 15 20 1 2 3 4 5

17 Round-Robin(2) Periodicamente é gerada uma interrupção do relógio
Quando ocorre um interrupção o processo que se encontra a correr é colocado na lista de Preparados É escolhido o processo preparado que correu há mais tempo Este intervalo de tempo é conhecido como fatia de tempo ou quantum

18 Feedback Não é necessário saber o tempo de execução de cada processo
5 10 15 20 1 2 3 4 Não é necessário saber o tempo de execução de cada processo Mecanismo de Prioridades Dinâmicas Penaliza os processos que tenham corrido durante mais tempo

19

20 Escalonamento Tradicional do UNIX
Multilevel feedback com round robin em cada uma das filas de prioridades As prioridades são recalculadas uma vez por segundo A prioridade de um processo mantém-se numa banda de prioridades É utilizado um factor de ajustamento para manter o processo na banda atribuída

21 Bandas Por ordem decrescente de prioridades Swapper
Controlo dispositivos de E/S orientados para blocos (e.g. disco) Manipulação de ficheiros Controlo dispositivos de E/S orientados para caracteres (e.g. teclado) Processos do utilizador


Carregar ppt "Escalonamento de Processos"

Apresentações semelhantes


Anúncios Google