O Escalonamento de Processos
Por: Victor Mansolelli • 10/4/2017 • Trabalho acadêmico • 2.337 Palavras (10 Páginas) • 328 Visualizações
IFSP – INSTITUTO FEDERAL DE SÃO PAULO
SISTEMAS OPERACIONAIS
ESCALONAMENTO DE PROCESSOS
SALTO - SP
2014
SUMARIO
1 INTRODUÇÃO 3
2 ESCALONAMENTO 4
3 CENÁRIOS DE ESCALONAMENTO 5
3.1 Preemptivo 5
3.2 Não Preemptivo 5
3.3 Diferença 5
4 TIPOS DE ESCALONAMENTO 6
4.1 Curto prazo 6
4.2 Médio prazo 6
4.3 Longo prazo 6
5 MUDANÇA DE CONTEXTO 7
6 CRITÉRIOS DE ESCALONAMENTO 8
6.1 Utilização do processador 8
6.2 Throughput 8
6.3 Tempo de processador 8
6.4 Tempo de espera 8
6.5 Tempo de turnaround 8
6.6 Tempo de resposta 8
7 ALGORITMOS DE ESCALONAMENTO 9
7.1 FCFS (First-come-first-served) 9
7.2 SJF (Shortest job first) 10
7.2.1 Preemptivo 10
7.2.2 Não Preemptivo 10
7.3 Escalonamento por prioridade 11
7.4 Multiplas filas 12
7.5 Round-Robin 13
8 CONCLUSÃO 14
9 REFERÊNCIAS 15
INTRODUÇÃO
Com o constante avanço tecnológico foi necessário em um aspecto geral à criação de regras para implementação de um sistema multiprogramado e multitarefa. Desta forma o conceito de Escalonamento de Processos visa que o sistema execute várias tarefas e faça a gerência desses diversos programas em execução e controle o uso concorrente do processador e que garanta desta forma que todos os processos tenham chance de utilizar a CPU.
ESCALONAMENTO
Escalonamento de processos é um subsistema do Sistema Operacional que utiliza a multiprogramação, é ele quem realiza o chaveamento dos processos ativos, de acordo com regras bem estabelecidas, de forma que todos os processos tenham chance de utilizar a UCP sendo assim o responsável por dividir o tempo do processador entre os processos do sistema.
Existem várias formas de implementar o escalonamento e estes devem seguir critérios, como justiça (cada processo obtém sua parte justa do tempo da UCP), de eficiência (garanti ocupação de 100% do tempo da UCP), minimizar o tempo de resposta a comandos de usuários interativos, maximizar o número de serviços processados por hora.
CENÁRIOS DE ESCALONAMENTO
Preemptivo
O escalonamento não preemptivo são algoritmos que permitem que um processo seja interrompido durante sua execução pode ser por força de uma interrupção de entrada/saída, de decorrência da política de escalonamento adotada e aplicada por parte do escalonador de processos ou simplesmente por força do término da execução do processo que podem ser:
- Quando chega um novo processo
- Se um outro processo de maior prioridade fica pronto
- Quando interrompido pelo clock (timeslice ou quantum)
- Evita que um processo monopolize o processador, oferecendo um melhor serviço
Não Preemptivo
O escalonamento não preemptivo por ser utilizado exclusivamente em sistemas monoprocessados, esse fato não ocorre, sendo cada programa executado até o fim assim o processo fica executando até terminar ou até ser bloqueado em consequência a uma chamada ao sistema (I/O ou pedido de recurso do S.O.)
Diferença
A diferença entre os dois é devido a interrupção que o escalonamento preemptivo provoca para que outro processo possa usar a CPU, determinado pelo sistema operacional, ao contrário do não preemptivo que é executado até o fim sem ser interrompido.
TIPOS DE ESCALONAMENTO
Curto prazo
Determina qual job deve utilizar o processador e quando isto deve acontecer. Pode ser executada várias vezes por segundo e reside permanentemente na memória. Quando admitido, ele torna se um processo e é adicionado a uma fila no escalonador.
Médio prazo
Determina quais os processos que irão competir pela CPU. É responsável pela suspensão e ativação dos processos, visando um melhor balanceamento. Atua como buffer entre a admissão de Jobs e a associação da CPU aos processos que constituem os Jobs admitidos.
...