A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Operacionais

Apresentações semelhantes


Apresentação em tema: "Sistemas Operacionais"— Transcrição da apresentação:

1 Sistemas Operacionais
Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas IFSP – Campus Capivari

2 Gerência de recursos Processador
25/09/2013

3 Introdução Muitos processos concorrentes demandam gerenciamento do uso do processador; Quando muitos processos estão em estado de pronto, deve existir critérios para escalona-los; Esses critérios compreendem a política de escalonamento. Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

4 Funções básicas As principais funções da política de escalonamento são: Manter o processador ocupado a maior parte do tempo; Balancear o uso da CPU entre os processos; Privilegiar a execução de aplicações críticas; Maximizar o throughput do sistema; Oferecer tempo de resposta aceitável para os usuários. Cada SO tem suas políticas próprias de escalonamento, de acordo com suas características. Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

5 Funções básicas A rotina que implementa as políticas de escalonamento é o Scheduler; Em SO multiprogramável, o escalonador é fundamental, pois o compartilhamento da CPU depende dessa rotina; Outra rotina importante é o dispatcher, responsável pela troca de contexto; O período de tempo gasto para substituir os processos chama-se latência do dispatcher. Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

6 Funções básicas Para processos monothreads, o processo em estado de pronto é uma unidade de escalonamento; Para processos multithreads, as threads em estado de pronto são unidades de escalonamento; Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

7 Funções básicas Execução Espera Pronto Escalonamento
Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

8 Critérios de escalonamento
Os critérios de escalonamento são determinados de acordo com as características de cada SO; Os principais critérios são: Utilização da CPU; Thoughput; Tempo de CPU; Tempo de espera; Tempo de turnarond; Tempo de resposta; De maneira geral, a política de escalonamento visa aumentar a utilização da CPU e o Thoughput, e diminuir o tempo de espera, turnarond e resposta. Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

9 Critérios de escalonamento
Utilização do processador: CPU deve ser mantida mais ocupada possível; Utilização na faixa de 30% é considerada baixa; Utilização na faixa de 90% é considerada alta; Thoughput: Número de processos executados em um intervalo de tempo; Quanto maior o Thoughput, maior o número de tarefas executadas em função do tempo; Maximizar o Thoughput é desejado por todos os SOs. Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

10 Critérios de escalonamento
Tempo de CPU: Tempo de execução de um processo; O escalonamento não interfere nesse tempo; Depende da quantidade de código e de dados de I/O. Tempo de espera: Tempo total do processo na fila de escalonamento com estado de pronto; A redução deste tempo é desejada por todos os SOs. Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

11 Critérios de escalonamento
Tempo de turnarond: Tempo gasto entre a criação do processo e seu fim, considerando: Tempo de criação, de alocação de recursos, de espera na fila de escalonamento como pronto e em estado de espera por I/O. Busca-se minimizar este tempo; Tempo de resposta: Tempo decorrido entre uma requisição e sua resposta; Exemplo: Uma tecla apertada e sua resposta no monitor; Geralmente limitada pela capacidade de I/O; Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

12 Escalonamento preemptivo e não preemptivo
A política de escalonamento depende da possibilidade de interrupção de processos; Interromper um processo e trocar a execução por outro processo é conhecido como preempção; Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

13 Escalonamento preemptivo e não preemptivo
Escalonamento não preemptivo: Foram os primeiros a serem criados em sistemas multiprogramáveis: Processamento batch; O processo não deixa de executar, a menos que termine ou o próprio processo mude seu estado; Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

14 Escalonamento preemptivo e não preemptivo
O SO pode interrompe-lo, mudando seu estado de execução para pronto; O SO pode priorizar a execução de processos; Políticas de escalonamento podem melhorar o uso da CPU, balanceando a carga de processamento. Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

15 Escalonamento preemptivo e não preemptivo
Atualmente a maioria dos SO possuem políticas de escalonamento preemptivos: SO mais complexos; Possibilita a implantação dos critérios de escalonamento. Prof. Edivaldo Serafim Sistemas Operacionais IFSP 2013

16 Escalonamento FIFO No escalonamento first-in-first-out (FIFO Scheduling) o primeiro processo a ficar em estado de pronto é escalonado; Constitui em uma fila muito simples de ser implementada; Quando o processo sai da execução vai para o final da fila. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

17 Escalonamento FIFO Apresenta duas deficiências:
Não tem previsão de inicio de processamento do processo, pois depende dos tempos de execução dos outros processo na fila; O algoritmo não se preocupa em melhorar o tempo médio de espera na fila; Isso é perceptível no tempo de turnaround de processos que demandam menor tempo de execução; Processos CPU-bound levam vantagem sobre processos I/O-bound. Se existirem processos I/O-bound mais importantes que processos CPU-bound, estes não podem ser priorizados. Pouco utilizado atualmente Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

18 Escalonamento SJF No escalonamento shortes-job-first os processos com menor uso de CPU são escalonados primeiro; Implementado nos primeiros sistemas batch; Um tempo estimado de CPU era associado ao seu contexto de software através de analises passadas; Se o tempo estimado fosse muito inferior ao tempo de real processamento, o processo era interrompido; Difícil de implementar em sistemas interativos devido ao uso intensivo de I/O: Uma alternativa para implementar esse algoritmo é com base no uso fragmentado da CPU, e não no tempo total de uso da CPU; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

19 Escalonamento SJF Na sua concepção inicial era um escalonamento não preemptivo; Sua vantagem em relação ao FIFO é a redução do tempo de turnaround; Pode ocorrer starvation em processos com tempo de processador muito alto ou CPU-bound. Uma implementação com preempção é conhecida como shortest remaining time: Quando um processo estimado menor que o processo em execução está em estado de pronto, ocorre uma preempção e o SO substitui em execução. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

20 Escalonamento cooperativo
O escalonamento cooperativo busca implementar preempção em processos que não a possuem; FIFO e SJF não preemptivo; Processos em execução podem voluntariamente liberar a CPU para outros na fila de escalonamento; O processo em execução verifica a fila de escalonamento e decide se deve deixar a CPU ou não. A interrupção do processo em execução deixa de ser responsabilidade do SO; Problemas podem ocorrer se um processo não verificar a fila, podendo nunca deixar a CPU. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

21 Escalonamento circular
O escalonamento circular, ou round robin, foi projetado para sistemas de tempo compartilhado; É preemptivo e muito semelhante ao FIFO; Quando um processo passa para o estado e execução, existe uma fatia de tempo para sua utilização da CPU – quantum; Quando expira o tempo de uso de CPU, o processo vai para a fila de escalonamento; Mecanismo conhecido como preempção por tempo. O processo pode deixar a CPU quando terminar a execução, quando ocorrer uma preempção, ou quando expirar o seu tempo de CPU. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

22 Escalonamento circular
A principal vantagem é impedir que um processo monopolize a CPU; Um problema é a desigualdade no processamento entre processos CPU-bound e I/O-bound; Processos CPU-bound tendem a utilizar toda a fatia de tempo; Processos I/O-bound podem não utilizar toda a fatia de tempo devido ao I/O; Isso ocasiona balanceamento desigual do uso do processador. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

23 Escalonamento circular
Buscando reduzir esse problema, desenvolveu-se o escalonamento circular virtual; Introduz-se uma fila circular auxiliar, onde os processos em estado de espera, ao voltarem para prontos, têm preferencia aos demais; O escalonamento somente volta a selecionar processos da fila de pronto, quando a fila auxiliar estiver vazia; Quando um processo da fila auxiliar for executar, a fatia de tempo dada para ele é: O tempo gasto antes de ir para espera; O tempo restante para processamento. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

24 Escalonamento circular virtual
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

25 Escalonamento por prioridades
Escalonamento por preempção baseada na prioridade de execução; Processos com maior prioridade em estado de prontos são colocados na frente da fila de escalonamento; Processos com prioridades iguais recebem escalonamento FIFO; Não existe fatia de tempo e a preempção por tempo não pode ocorrer; Processos somente deixam o processador voluntariamente ou quando outro processo com prioridade maior entra na fila de prontos; Processo chamado de preempção por prioridade; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

26 Escalonamento por prioridades
A preempção por prioridade é implementada por uma interrupção de clock, gerada em determinados intervalos de tempo; Caso haja processos a serem escalonados, o SO realiza a preempção; Pode ser implementado sem preempção, e caso um processo de maior prioridade entre em estado de pronto, ficará aguardando o término da execução corrente na frente da fila; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

27 Escalonamento por prioridades
A prioridade faz parte do contexto de software do processo e pode ser estática ou dinâmica; Estática: não pode ser alterada durante a execução do processo; Dinâmica: ajustada de acordo com critérios do SO. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

28 Escalonamento por prioridades
O grande problema é o stavation, onde processos com prioridades muito baixas podem nunca ser escalonados; Uma solução para isso é a técnica de aging: A prioridade de processos muito tempo em espera na fila de pronto é incrementado de tempo em tempo; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

29 Escalonamento circular com prioridades
Implementa o conceito de fatia de tempo e prioridades no escalonamento; Nesse algoritmo um processo deixa a CPU quando: Termine o processamento; Voluntariamente; Ocorra preempção: Por tempo; Por prioridade. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

30 Escalonamento circular com prioridades
Permite maior balanceamento no uso da CPU, diferenciando o grau de importância dos processos; Utilizado em sistemas de tempo compartilhado. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

31 Escalonamento por múltiplas filas
Existem várias filas com prioridades diferentes; Processos são associados às filas de acordo com: Importância para aplicação; Tipo de processamento; Área de memória. Possibilita a implementação de vários mecanismos de escalonamento em um único SO. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

32 Escalonamento por múltiplas filas
O conceito de prioridade é atribuído à fila, e não ao processo diretamente; Processos sofrem preempção caso outro processo entre em uma fila com maior prioridade. Associação de processos em cada fila é feita na criação do processo; O processo não pode mudar de fila em sua vida; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

33 Escalonamento por múltiplas filas com realimentação
Semelhante ao anterior, porém os processos pode mudar de fila durante o processamento; Permite ao SO identificar o comportamento do processo e direcioná-lo para a fila adequada ao longo do seu processamento; É mais complexo para implementar; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

34 Fazer atividades 1 até 11 Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013


Carregar ppt "Sistemas Operacionais"

Apresentações semelhantes


Anúncios Google