Prévia do material em texto
( 1 )COMPARATIVO DOS ESCALONAMENTOS Leonardo kovalczyk severo RESUMO O artigo abordara os ponto positivos e os negativos dos escalonamentos FIFO (First in, first out) , Round Robin e de Multiplas Filas. Assim, mostrando como cada escalonamento se comporta em relação a performance, utilização da CPU, Thoroughput, Tempo de Turnarroud, Tempo de Resposta, utilização, estabilidade e suas caracteristicas citando e mostrando com fatos o algoritmo que se comportam da melhor forma levando em conta todos esses topicos. Palavras-chave: Escalonamento FIFO . Multiplas Filas. Round Robin. Comparativo. 1 INTRODUÇÃO Através deste artigo, procuro apresentar uma comparação entre os algoritmos de escalonamento FIFO, Round Robin e Multiplas Filas, levando em consideração as suas características, sua utilização, perfomance e estabilidade, e ao final do artigo mostrar qual algoritmo se comporta da melhor forma. ( 2 ) 2 CARACTERISTICAS DOS ESCALONAMENTOS ( 7 ) 2.1 ESCALONAMENTO FIFO (first in, first out) Em português: "primeiro que entra, primeiro que sai": onde como seu próprio nome já diz, o primeiro que chega será o primeiro a ser executado, não-preemptivo, ou seja, executa o processo como um todo do início ao fim não interrompendo o processo executado até ser finalizado, apenas uma fila, processos (ex: sistema, iterativos, batch) que passam para o estado de pronto vão para o final da fila e são escalonados quando chegam no início. pontos negativos: impossivel de prever quando um processo entrará em execução, além de dar preferencia para processos cpu-bound mesmo tendo processos i/o-bound com uma prioridade maior , ele é susetivel a loops infinitos pois não tem o recurso do sistema operacional (preemptivo) pontos positivos: como ele não interrompe o processo e segue a ordem de chegada o starvation não tem como acontecer. 2.2 Escalonamento Circular (round robin) ou preempção por tempo Implementado por um algoritmo semelhante ao FIFO, porém, quando um processo passa para o estado de execução, existe um tempo-limite ( por volta de 100 a 300 ms) para sua utilização de forma contínua. Se o processo não terminou a execução, volta ao estado de pronto. Nenhum processo poderá monopolizar a CPU. Algoritmo bastante adequado para sistemas multiusuários de tempo compartilhado. No caso, o processo CPU-bound tem mais chances de ser executado do que o processo IO-bound. Pontos positivos: não permiti que um processo monopolize a CPU, e a preempção por tempo é bem menos agressiva para o sistema operacional Pontos negativos: processos CPU-bound são mais beneficiados no uso do processador do que os I/O-bound, pois precisam de mais tempo forma uniforme e sistemática em todas as suas publicações, para que seus artigos possam ser citados de forma correta por outros autores. Indique sua titulação. 2.3 ESCALONAMENTO DE MULTIPLAS FILAS Implementa diversas filas de processos no estado pronto, onde cada processo é associado exclusivamente a uma delas. Cada fila possui um mecanismo próprio de escalonamento, em função das características dos processos. Cada fila possui uma prioridade associada. O sistema só pode escalonar processos de uma fila, se todas as outras de prioridade maior estiverem vazias, demonstrado na figura abaixo. Vantagens – A principal vantagem de múltiplas filas é a possibilidade da convivência de mecanismos de escalonamento distintos em um mesmo sistema operacional. Desvantagens –Um processo não pode ser redirecionado para uma outra fila mais adequada (caso altere mais adequada (caso altere seu comportamento no decorrer do seu comportamento no decorrer do tempo) 2.4 Comparativo Levando em consideração os Critérios de Escalonamento, que seria o escalonamento que melhor ocupa a CPU, que otimiza mais o tempo de turnaroud, minimiza o tempo de resposta, sua aplicação e que da mais estabilidade. Escalonamento First-In-First-Out ( FIFO ), as vantagens dele seria a sua simplicidade. Uma aplicação em circuitos eletrônicos de buffer e controle de fluxo, que vai desde o hardware até o software. Na forma de um hardware o FIFO consiste basicamente de um conjunto de ler e escrever ponteiros, armazenamento e lógica de controle. Armazenamento pode ser SRAM, flip-flops, fechos ou qualquer outra forma adequada de armazenamento. Para o FIFO, de tamanho não trivial, uma SRAM de porta dupla geralmente é utilizada quando uma porta é usada para a escrita e a outra para leitura. Por não ser preemptivo ele não é interrompido então acaba ocupando bem a CPU. Porém quanto a maioria dos critérios ele já deixa a desejar, por não ser preemptivo e ter uma discrepância a favor dos processos CPU-bounds msm com menor prioridade comparados aos I/O-bounds, assim demonstrando não ser estável, e como demonstrado no gráfico abaixo, ele não garante um tempo de resposta rápido pois é extremamente sensível a ordem de chegada de cada processo e dos antecessores (se existirem) e se processos que tendem a demorar mais tempo chegarem primeiro o tempo médio de espera e o turnaround acabam sendo aumentados . Escalonamento circular ( round robin) ou preempção por tempo, super estável por ter uma preempção por tempo, fazendo com que o overhead não aconteça por não forçar o sistema de uma maneira tão agressiva como era no FIFO e por não permitir que acontece uma monopolização da CPU, como o RR divide um tempo de 100 a 300 ms igualmente entre os processos para que todos possam passar pela execução ( se o processo demorar menos tempo do que foi estipulado para ser executado ele sai e da a vez para o proximo processo) então ele acaba esgotando ao maximo o tempo de resposta dos processos , ocupando ao maximo a CPU, fora que ele é imune a starvation, mas quando um processo é muito grande ele acaba tendo que passar muitas vezes por execução causando um turnaroud maior, aplicado em sistemas time-sharing (tempo compartilhado), pois este algoritmo depende de um temporizador (Timer), desempenho bom, porque Quantum muito grande: execução FCFS (FIFO), Quantum muito pequeno: muitas trocas de contexto Alto custo, Quantum deve ser pequeno suficiente para garantir o tempo compartilhado, Quantum deve ser grande bastante para compensar trocas de contexto. Escalonamento por multiplas filas cada fila tem seu proprio escalonamento então podendo usar os Escalonamento Circular e FIFO como mostra a figura abaixo, pode se obter esses resultados: Aumenta a utilização da CPU: Com isto as chances da CPU ficar ociosa diminuem, aproveitando possíveis tempos de espera para a execução de outro processo. Maximizar o troughput: Mais processos serão executados num determinado tempo. Minimizar o turnaround: Nesse caso o tempo total dos processos na CPU será menor. Minimizar o tempo de espera: O tempo de I/O dos processos será menor. Minimizar o tempo de resposta: O tempo em que os processos esperam para receber a CPU pela "primeira vez" será menor. Diminuir o uso de recursos: Menos recursos serão usados pelos processos, evitanto Deadlock. Priorizar processos que segurem recursos chave: Processos que necessitam de certos recursos com mais frequência do que outros, terão prioridade elevada para fazê-los com mais facilidade. Não degradar o sistema: Assim, mais formas de escalonamento ocorrerão fazendo com que o máximo de processos receba a CPU, aplicando-se prioridades dinâmicas e formando um ciclo que evita que eles entrem em Starvation. 3 CONCLUSÇÃO Como foi mostrado nos comparativos todos os escalonamentos tem uma aplicação onde eles conseguem desenvolver uma performance melhor, mas levando em conta as caracteristicas, utilização, performance e estabilidade vemos que o escalonamento por multiplas filas atende a todos esses requisitos e muito mais por poder usar ambos os escalonamentos FIFO e Circular além de adaptalos melhor ele acaba perdendo alguns pontos por causa das preferencias dos processos mudar em com o decorrer do tempo e como o processo não pode mudar de fila dps que foi alocado , mas mesmo assim acaba sendo um problema pequeno comparado como FIFO que pode ocorrer loops e a preempção ocasionar um overhead critico ou então o escalonamento circular é muito sensível a ordem de chegada, se processos maiores chegarem primeiro aumentarão o tempo médio de espera, não garante um tempo de resposta rápido. REFERÊNCIAS https://www.oficinadanet.com.br/post/12781-sistemas-operacionais-o-que-e-escalonamento-de-processos https://pt.wikipedia.org/wiki/FIFO https://repositorio.ufsc.br/xmlui/bitstream/handle/123456789/80083/181859.pdf?sequence=1&isAllowed=y https://www.canalti.com.br/sistemas-operacionais/algoritmo-round-robin/ https://deinfo.uepg.br/~alunoso/2016/ROUNDROBIN/#:~:text=Escalonamento%20circular%20(Round%2DRobin),processos%20prontos%20para%20a%20execu%C3%A7%C3%A3o.&text=O%20escalonamento%20circular%20%C3%A9%20muito,s%C3%A3o%20muito%20discrepantes%20entre%20si. http://www.univasf.edu.br/~andreza.leite/aulas/SO/ProcessosEscalonamento.pdf https://www.ime.usp.br/~kon/MAC5755/trabalhos/software/FlavioArruda/node2.html https://pt.wikipedia.org/wiki/Round-robin https://fadergs.blackboard.com/bbcswebdav/pid-14697475-dt-content-rid-113021017_1/courses/202020.28728.11/Sistemas%20Operacionais%20-%20Aula%204%20-%20Escalonamento.pdf https://pt.wikipedia.org/wiki/Escalonamento_de_processos#Algoritmos_de_escalonamento https://www.ime.usp.br/~adao/GERENCIADOPROCESSADOR.pdf https://www.gsigma.ufsc.br/~popov/aulas/so1/cap8so.html STAGGERING COMPARISON ABSTRACT The article had addressed the positives and negatives of FIFO (First in, first out), Round Robin and Multi-Row scheduling. Thus, showing how each scheduling behaves in relation to performance, CPU utilization, Throughput, Turnaround time, Response time, utilization, stability and its characteristics, quoting and showing with facts the algorithm that behaves in the best way taking into account all these topics Keywords: Staggering FIFO. Round Robin. Multiple Rows. compative