Escalonamento de processos

Disponível somente no TrabalhosFeitos
  • Páginas : 6 (1306 palavras )
  • Download(s) : 0
  • Publicado : 27 de maio de 2011
Ler documento completo
Amostra do texto
Conceito

O escalonamento de processos ou agendador de tarefas é uma atividade organizacional feita pelo escalonador da CPU ou de um sistema distribuído, possibilitando executar os processos mais viáveis e concorrentes, priorizando determinados tipos de processos, como os de I/O Bound e os computacionalmente intensivos.
Os mecanismos de gerenciamento de processador visam permitir que váriosprocessos compartilhem o seu uso. Quando mais de um processo está pronto para execução, o sistema operacional deve decidir qual executar primeiro. A parte responsável por fazer essa escolha é o escalonador (scheduler), enquanto o responsável por entregar o processador de fato a um processo é o dispatcher. O dispatcher realiza o chaveamento de contexto, que consiste em salvar o estado dosregistradores do processo que deixará o processador e em carregar os registradores para que sejam usados pelo novo processo.
O escalonador de processos de dois níveis escolhe o processo que tem mais prioridade e menos tempo e coloca-o na memória principal, ficando os outros alocados em disco; com essa execução o processador evita ficar ocioso.
Para que a CPU não fique muito tempo sem executar tarefaalguma, os sistemas operacionais utilizam técnicas para escalonar os processos que estão em execução ao mesmo tempo na maquina.
O escalonamento de processos é uma tarefa complicada, pois nenhum algoritmo é totalmente eficiente e a prova de falhas, principalmente em se tratando de sistemas interativos, como o Windows, pois a interação com o usuário é fundamental para este sistema onde quem o utilizaprocura respostas rápidas e a todo o momento processos são interrompidos pelo usuário.
O escalonador do SO utiliza alguns critérios de escalonamento, como: a taxa de utilização de CPU, que é a fração de tempo durante a qual ela está sendo ocupada; throughput que são números de processos terminados por unidade de tempo; turnaround que é o tempo transcorrido desde o momento em que o software entra e oinstante em que termina sua execução; tempo de resposta: intervalo entre a chegada ao sistema e inicio de sua execução; tempo de espera: soma dos períodos em que o programa estava no seu estado pronto.
Responsáveis por essa tarefa são algoritmos que são entendidos mais facilmente, estudados separadamente, mas na pratica os sistemas operacionais utilizam combinações deles para melhor escalonar osprocessos.

Algoritmos escalonadores
O escalonador faz uso dos algoritmos de escalonamento ou agendamento de processos cujos principais objetivos são:

1. Imparcialidade: cada processo deve receber sua parte justa na CPU
2. Eficiência: manter a CPU ocupada durante todo o tempo
3. Tempo de Resposta: diminuir o tempo de resposta para os usuários interativos
4. Turnaround: minimizar o tempoque os usuários de lote devem esperar pela saída
5. Throughput: maximizar o número de jobs processados por hora

Em alguns algoritmos, em vez de esperar que um processo libere a CPU, o sistema operacional poderá suspender temporiamente, a qualquer momento, a execução do referido processo para que os outros possam ser executados. Tal intervenção é conhecida como preempção.
Existem osalgoritmos preemptivos e os não preemptivos. Os preemptivos são algoritmos que permitem que um processo seja interrompido durante sua execução, quer seja por força de uma interrupção de entrada/saída, quer seja em decorrência da politica de escalonamento adotada e aplicada por parte do escalonador de processos ou simplesmente por força do término da execução do processo.
Exemplos de Algoritmos:
• FIFO(First in, first out) ou FCFS (First come, first served): Onde como seu próprio nome já diz, o primeiro que chega será o primeiro a ser executado;
• SJF (Shortest Job First): Onde o menor processo ganhará a CPU e atrás do mesmo formar uma fila de processos por ordem crescente de tempo de execução;
• SRT (Shortest Remaining Time): Neste algoritmo é escolhido o processo que possua o menor tempo...
tracking img