Escalonamento
Gestão da Tecnologia da Informação
Sistemas Operacionais - 3005
Atividade estruturada:
Escalonamento
Índice
Conceito de processo -pag.3
Subprocesso -pag.4
Thread –pag.4
Escalonadores –pag.4
Critérios de Escalonamento -pag.5
Critérios de otimização –pag.5
Escalonamento preemptivo e não preemptivo –pag.6
First-in-fisrt(fifo) –pag.6
Shortest-job-first(sjf) –pag.7
Escalonamento cooperativo –pag.7
Escalonamento circular (round-robin scheduling) –pag.8
Escalonamento por prioridade –pag.9
Escalonamento por múltiplas filas (multilevel feedback queues) –pag.10
Escalonamento por múltiplas filas com realimentação (multilevel feedback queues scheduling) –pag.10
Escalonamento em Sistemas de Tempo Compartilhado –pag.11
Escalonamento em Sistemas de Tempo Real -pag.11
Escalonamento em Sistemas de Múltiplos Processadores -pag.12
Fontes -pag.13
Conceito de processo
Os processos são tarefas em execução, muitas vezes executadas em plano de fundo e mantêm o sistema trabalhando - gerenciando redes, memória, disco, checagem antivírus, etc. Logo, podemos definir processos como softwares que executam alguma ação e que podem ser controlados de alguma maneira, seja pelo usuário, pelo aplicativo correspondente ou pelo próprio sistema operacional.
Conforme um processo é executado, ele muda de estado:
Executando: As instruções estão sendo executadas
Esperando: O processo está esperando que ocorra algum evento
Pronto: O processo está esperando para ser atribuído a um processador
Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai utilizar a CPU primeiro. A parte do sistema operacional responsável por essa decisão é chamada escalonador, e o algoritmo usado para tal é chamado de algoritmo de escalonamento.
Os processos podem ser descritos como:
Processos I/O-Bound– Gasta mais tempo realizando E/S do que cálculos; muitos surtos de CPU curtos.
Processos CPU-Bound– Gasta mais tempo