Subscribe:

sexta-feira, 21 de agosto de 2015

Algoritmos de escalonamento de processos

Olá pessoal, hoje venho falar de alguns algoritmos que podem ser bem chatos de desenvolver, bem são os algoritmos de escalonamentos de processos, esses algoritmos são implementados pelo sistema operacional para escalonar os processos de uma forma que eles possam ser executados no menor tempo possível.

Cada algoritmo a ser mostrado aqui possui critérios para o escalonamento do processo e é isso que veremos.

O primeiro deles é o FCFS( First-Come,First Server), funciona como uma fila normal, o primeiro que entra é o primeiro que sai.

O burst do processo é o tempo que ele precisa para ser executado.

A imagem demonstra a execução dos processos, percebam que esse algoritmo não é bom, pois tem processos que não demoram para serem executados e portanto poderiam ter sidos executados antes.

O próximo é o SJF(Shortest Job First), ele diferentemente do FCFS ele escalona os processos conforme o burst do processo.
Vejam a diferença que dá, os mesmos processos usado no FCFS tiveram média de espera de 3, por isso o SJF é uma opção melhor que o FCFS.

Agora o outro o algoritmo é o SRTF(Shortest-Remaining-Time-First), agora esse ele é preemptivo, ou seja, se um processo com burst menor que o processo que esta sendo executado, ele interrompe o processo atual e como executar o processo que chegou.
No SRTF o tempo de espera é calculado a partir do tempo de chegada, e veja que o processo p1 foi interrompido e p2 começou a ser executado, e assim por diante.

O próximo algoritmo é o Round Robin, nesse algoritmo é definido um quantum de tempo, o quantum ele vai definir o tempo em que o processo pode ser executado, sendo assim se o processo não tiver terminado sua execução e o tempo dele acabar ele volta para a fila de espera até ser executado novamente até ser terminado.


Agora por último o algoritmo Multinível, como o próprio nome fala ele possui vários níveis, mas cada nível pode implementar um algoritmo de escalonamento diferente, um exemplo é no primeiro nível o Round Robin e no segundo FCFS, sendo que se ele não terminar de executar na primeira fila ele vai para a segunda fila.

Agora deixo para vocês darem uma olhada as implementações deles feita por nós do blog, Escalonamento em C e Escalonamento em Java.

Bom isso é tudo pessoal, espero que tenham gostado e não esqueça de curtir nossa página no facebook Hu3Tech, aquele abraço e tchau.

0 comentários :

Postar um comentário