Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais Algoritmos de Escalonamento Escalonamento de Processos O escalonamento de processos, realizado por um algoritmo, tem por objetivo tratar de forma eficiente e otimizada os processos a serem executados. Os critérios mais comumente levados em consideração para avaliação desse escalonamento são: utilização da CPU, tempo de execução, tempo de espera e tempo de resposta. Envolve um grande tempo alocado a cada processo Um processo não interromperá outro processo Escalonamento de Sistemas em Batch Mudança comumente ocorre por bloqueio do processo First-In-First-Out (FIFO) Algoritmos para Sistemas em Batch Shortest Job First (SJF) Shortest Remaining Time Next (SRTN) First-In- First-Out (FIFO) Característica Não preemptivo, o primeiro processo a chegar, será o primeiro a ser executado. Vantagens Necessária apenas uma fila de processos prontos, esperando pelo uso do processador; O processo utiliza a CPU sem ser interrompido. Desvantagens Impossibilidade de prever o momento em que um determinado processo será executado; Possibilidade de processos CPU- bound de menor importância prejudicarem processos de I/O- bound mais proprietários. Shortest Job First (SJF) Característica Não preemptivo, seleciona o processo de espera com o menor tempo de execução para executar a seguir. Vantagens Favorece programas menores; Reduz o tempo médio de espera em relação ao FIFO; Desvantagem Determinar, exatamente, quanto tempo de CPU o processo vai utilizar para terminar seu processamento. Shortest Remaining Time Next (SRTN) Característica Preemptivo, processos com menor tempo de execução são executados primeiro. Se um job novo chega e seu tempo de execução é menor do que do processo corrente, a CPU suspende o processo corrente e executa o processo que acabou de chegar; Vantagem Processos curtos são tratados muito rapidamente; Desvantagens Processos que consomem mais tempo podem demorar muito para serem finalizados se muitos processos pequenos chegarem. Algoritmos para Sistemas Interativos Round-Robin Prioridade Múltiplas Filas Shortest Process Next Garantido Lottery Fair-Share Round-Roby Característica Preemptivo, consiste em repartir uniformemente o tempo da CPU entre todos os processos prontos para a execução. Se assemelha ao FIFO, porém, quando um processo passa para o estado de execução, existe um tempo-limite para sua utilização de forma contínua. Se o processo não terminou a execução, volta ao estado de pronto. Vantagem Nenhum processo monopoliza a CPU Apresenta-se como um algoritmo bastante adequado para sistemas multiusuários de tempo compartilhado Desvantagem Pode trazer problemas se os tempos de execução são muito discrepantes entre si. Prioridades Característica Nesse algoritmo, os processos possuem diferentes prioridades de execução. Os com maior prioridade são escalonados preferencialmente. Vantagem O algoritmo é implementado com um "clock", que interrompe o processador em determinados intervalos de tempo, reavaliando prioridades e, possivelmente, escalonando outro processo. Múltiplas Filas Característica Nesse algoritmo, os processos possuem diferentes prioridades de execução. Os com maior prioridade são escalonados preferencialmente. Vantagem O algoritmo é implementado com um "clock", que interrompe o processador em determinados intervalos de tempo, reavaliando prioridades e, possivelmente, escalonando outro processo. Garantido Característica Esse algoritmo leva esse nome, pois, garante aos processos sua execução, dando a todos eles a mesma quantidade de tempo de execução utilizando a CPU. Nesse modelo, um processo que utiliza menos tempo de execução do que poderia, tem sua prioridade aumentada, ao passo que um que utiliza mais tempo do que o previsto, tem sua prioridade diminuída. Lottery Característica Cada processo mantém um número de loteria, e, a cada novo quantum um número aleatório é gerado. Dessa forma, o processo sorteado é colocado para execução. É importante enfatizar que nesse modelo, os processos mais importantes, recebem mais bilhetes o que lhe dá uma vantagem sobre outros, pois aumentam sua probidade de vitória e então execução. https://www.wikiwand.com/pt/Processos https://www.wikiwand.com/pt/Tempo_de_execu%C3%A7%C3%A3o https://www.wikiwand.com/pt/CPU Fair-Share Característica Nesse algoritmo cada usuário tem sua fração da CPU. A fração alocada ao usuário é garantida pelo escalonador conforme a “noção” de justiça sobre a prioridade do usuário. Recursos não utilizados são distribuídos aos outros usuários. Todos os algoritmos classificam os processos em estados: Iniciando, Pronto, Executando, Entrada/ Saída e Terminado. Fim
Compartilhar