Desempenho de computação paralela

Tamanho: px
Começar a partir da página:

Download "Desempenho de computação paralela"

Transcrição

1 Desempenho de computação paralela o paralelismo existente na aplicação decomposição do problema em subproblemas menores a alocação destes subproblemas aos processadores o modo de acesso aos dados: a existência de uma memória global ou distribuída comunicação por trocas de mensagens a estrutura de interconexão entre os processadores a velocidade dos processadores, memórias e rede de interconexão. Em ambientes distribuídos, a meta é de explorar e tirar proveito ao máximo do potencial computacional, sendo assim questões relacionadas ao gerenciamento de recursos do sistema muito importante 1

2 Escalonamento de Aplicações Um algoritmo que estabelece como executar um algoritmo paralelo em um determinado sistema de computadores Para implementar um escalonador, o problema tem que ser especificado: As características da aplicação devem ser especificadas As características cruciais do sistema de processadores em questão devem ser estabelecidas 2

3 Modelagem Representação do problema Algoritmo paralelo composto por processos/threads que sincronizam parcialmente (comunicação/dependência) Conjunto de threads/processos independentes Representação do ambiente de solução Simplificação, sem omitir as características que afetam o desempenho em geral 3

4 Qual o objetivo Escalonar aplicações em um sistema paralelo e distribuído tal que o tempo de execução seja minimizado Escalonar aplicações em um número limitado de processadores tal que o tempo de execução seja minimizado, considerando custo de comunicação Escalonar aplicações em um número limitado de processadores tal que o tempo de execução seja minimizado considerando tempos limites (deadline), considerando custo de comunicação o objetivo deve estar especificado 4

5 Questões de projeto Alocação de processos a processadores Processos podem ser alocados a certos processadores e não mudar até o seu término Exemplo: processo P x é associado ao núcleo N y até o seu término Escalonador de curto prazo é aplicado (pode ser preemptivo ou não) Vantagem: menos overhead/sobrecarga Escalonamento meio que estático 5

6 Questões de projeto Alocação de processos a processadores (alocação estática de processos a processadores) Desvantagem: Associar em um determinado momento vários processos a um processador (núcleo) e outro processador se tornar ocioso não explora a ociosidade de processador Solução para minimiza a ociosidade de processadores um processo pode ser alocado a diferentes processadores durante sua vida Pode ser vantajoso em um ambiente de memória compartilhada devido a uma menor sobrecarga na troca de contexto No entanto pode aumentar chache miss Por que? 6

7 Questões de projeto Paradigmas de alocação De qualquer forma, quem associa? Como pode ser o modelo? Duas abordagens: mestre/trabalhador e peer 7

8 Paradigmas de alocação Mestre/trabalhador As funções de escalonamento executam em um processador: o mestre Os outros processadores executam os processos de usuário (os trabalhadores) Abordagem é simples e as políticas de uniprocessador podem ser mais facilmente adaptadas Conflitos ficam mais fáceis de serem resolvidos pois o mestre tem visão de toda a memória e todos os dispositivos de I/O Desvantagem: Falha do mestre Mestre pode ser tornar um gargalo 8

9 Paradigmas de alocação Mestre/trabalhador As funções de escalonamento executam em um processador: o mestre Os outros processadores executam os processos de usuário (os trabalhadores) Abordagem é simples e as políticas de uniprocessador podem ser mais facilmente adaptadas Conflitos ficam mais fáceis de serem resolvidos pois o mestre tem visão de toda a memória e todos os dispositivos de I/O Desvantagem: Falha do mestre Mestre pode ser tornar um gargalo 9

10 Paradigmas de alocação Peer ou escalonador distribuído O núcleo pode ser executado em qualquer processador Cada processador faz self-scheduling de um pool de processos disponíveis Vantagem: melhor otimização do problema e visão global Desvantagem: complicação de implementação Necessidade de sincronização de diferentes processadores 10

11 Escalonamento de processos Escalonamento de processos em um processador Base de sistemas operacionais Baseado em estado de processos ao longo de sua vida em um sistema 11

12 Escalonamento de processos novo suspende admissão pronto suspenso evento ocorre suspenso bloqueado carrega suspende carrega admissão pronto evento ocorre bloqueado despacho pausa executando espera evento finalização saída suspende IC - UFF 12

13 Escalonamento de processos prontos Crucial para o desempenho dos processos nos Sistemas Dois aspectos principais seleção qual processo será selecionado para execução baseado em prioridade/necessidade de recurso/características de tempo de execução modo de decisão Preemptivo ou não preemptivo 13

14 Escalonamento de processos prontos Ciclo de busca Ciclo de execução Ciclo de interrupção Interrupções inibidas Início Busca nova instrução Executa instrução Verifica interrupção Interrupções permitidas Parada 14

15 Escalonamento de processos prontos First Come First Served (FCFS) seleção: primeiro da fila modo decisão: não preemtivo Round-robin (RR) seleção: primeiro da fila modo decisão: preemtivo precisa definir quantum 15

16 Escalonamento de processos prontos Shortest process next (SPN) seleção: precisa saber tempo associado ao processo modo decisão: não preemtivo Shortest remaining time (SRT) seleção: processo que precisa de menor tempo para terminar modo decisão: preemtivo processo executando é interrompido com chegado de novo processo 16

17 Escalonamento de processos prontos Feedback Seleção: sem cálculo do futuro (previsão de tempo de execução) Decisão: preemptivo - por chegada de processo ou por quantum especificação de n filas: P1 entra na fila RQ 0 e é escolhido para execução interrupção: P1 vai para RQ 1... P1 saiu da fila RQ i quando foi escolhido para execução interrupção: P1 vai para RQ i+1 um processo é escolhido da fila de menor índice que contem processos prontos para serem executados jobs curtos pouco tempo no sistema se um job chegar a fila RQ n, depois passará para RQ 0 17

18 Escalonamento de processos Tradicionalmente em sistemas de multiprocessadores, processos não estão alocados exclusivamente a um processador Em geral: P1 Fila única P2 P3 P4 18

19 Escalonamento de Processos Exemplo de estudo comparativo Supondo S1 - sistema com um processador S2 - sistema duo-processador taxa de processamento de cada processador em S2 = ½ taxa processamento do processador de S1 Então, a pergunta é: é melhor ter dois processadores mais lentos do que um mais rápido? 19

20 Escalonamento de Processos comparação entre FCFS e round-robin RR: quantum bem maior que tempo de troca de contexto RR: quantum com valor pequeno quando comparado ao tempo médio de serviço dos processos resultado da análise: depende do coeficiente de variação em relação ao tempo de serviço C s = σs T s ou seja, o quanto varia o tempo de serviço entre os diferentes processos 20

21 Escalonamento de Processos σ s - desvio padrão do tempo de serviço - tempo médio de serviço T s C s se Zero: os tempos de serviços são similares pode ser alto: muita variação entre os tempos de serviço 21

22 Escalonamento de Processos FCFS pode ser problemático quando comparado com RR em um processador. Mas... FCFS em S2 (duo processado) é amenizado: enquanto um processo longo que chegou primeiro está sendo executado por um processador, outros processos são executados no outro pode ser tão bom quanto round-robin, principalmente se o número de processadores aumentar 22

23 Escalonamento de Threads processo = conjunto de threads em um processador threads são vantajosas devido a E/S em vários processadores dividir a funcionalidade do processamento entre processadores leva a um maior ganho threads + multiprocessamento = exploração do grau de paralelismo da aplicação granularidade fina paralelismo não tão vantajoso alto grau de interação entre threads 23

24 Escalonamento de Threads Escalonamento é mais complexo quando várias CPUs se tornam disponíveis Processadores Homogêneos dentro de um mesmo multiprocessador no entanto, já se inicia uma tendência de heterogeneidade: big and small CPUs 24

25 Escalonamento de Threads Algumas classes de políticas: Compartilhamento/balanceamento de carga Gang scheduling Alocação a processadores específicos Escalonamento dinâmico 25

26 Escalonamento de Threads Balanceamento de carga O escalonador supervisiona a carga dos processadores, e divide a carga Não deixa processador ocioso toda vez que um processador está ocioso, a rotina do SO o seleciona para executar a próxima thread Uma fila global pode ser definida e as threads a serem executadas são incluídas Conforme a chegada do processo, as suas threads são inseridas na ordem FCFS Ordenadas de acordo com prioridade, ou pelo número de threads que cada processo tem 26

27 Escalonamento de Threads Balanceamento de carga Alguns problemas com uma fila única Gargalo Se as threads sofrerem preempção podem ser depois associadas a processadores diferentes com caches diferentes Threads que compartilham informações podem ser associadas a processadores distintos com espaço de memória distinto (cache ou memória principal) 27

28 Escalonamento de Threads Gang Scheduling Tem sido aplicado ao conceito de escalonar simultaneamente um conjunto de threads que compõem um processo O conceito é bastante vantajoso quando threads dependem uma das outras e não podem esperar sem perder desempenho de execução 28

29 Escalonamento de Threads Gang Scheduling Melhora a performance de uma aplicação se as threads correlatas estiverem em execução T1 e T2 são duas threads de um mesmo processo T1 está sendo executada: precisa sincronizar com T2 T1 fica em espera até que T2 seja executado em algum processador seria melhor T2 já estar executando em outro processador 29

30 Escalonamento de Threads Gang Scheduling N processadores, M aplicações com N ou menos threads cada aplicação cada aplicação poderia receber 1/M do tempo disponível, utilizando os N processadores nem sempre isso é eficiente A1 4 threads A2 1 thread alocação de tempo uniforme: N = 4 P1 P2 P3 P4 ½ ½ ocioso 100%/8 = 12,5% 12,5% X 3 = 37,5% ocioso 30

31 Escalonamento de Threads Gang Scheduling uma solução: dar pesos aos processos de acordo com o número de threads considerando todos os processos A1 tem 4/5 das threads 80% A2 tem 1/5 das threads - 20% Cada thread tem 20% do tempo ocioso P1 P2 P3 P4 100%/20 = 5% 5% X 3 = 15% ocioso 4/5 1/5 31

32 Escalonamento de Threads e Processos Essas classes de escalonadores discutidos, tanto para processos como threads se encontram na maioria das vezes a nível de sistemas operacionais Pode-se definir um escalonador que gerencie a execução de uma aplicação paralela middleware 32

33 Escalonamento de Aplicações em Sistemas Distribuídos classe de aplicações especificada pelo modelo da aplicação a arquitetura enfocada constitui em um sistema de processadores de memória distribuída que se comunicam por trocas de mensagens modelo arquitetural apresenta as características importantes a serem consideradas 33

34 Escalonamento de Aplicações Alguns conceitos Tarefa uma unidade de computação job = conj. de tarefas com objetivo comum aplicação paralela tarefas que seguem uma ordem parcial 34

35 Escalonamento de Aplicações Escalonamento local X global global tarefas são associadas a processadores mapeamento, task placement, matching local várias tarefas em um processador No escalonamento global: - migração custoso e nem sempre usado (sala contexto, trasfere contexto para o novo processador, reinicializa tarefa) - geralmente se refere a balanceamento de carga 35

36 Escalonamento de Aplicações preempção tarefas/jobs em execução podem ser transferidas (migradas) mais custos não preempção geralmente em relação às tarefas tarefas não são interrompidas migração somente para tarefas ainda por executar 36

37 Escalonamento de Aplicações Estático conhecimento de características associadas às aplicações antes da execução desta (estimativas) relação de precedência entre os componentes da aplicação Dinâmico estimativas são conhecidas antes da execução e não as características reais. a especificação do escalonamento é feita ao longo da execução da aplicação balanceamento de carga, por exemplo 37

38 Escalonamento Estático de Aplicações O Problema de Escalonamento de Tarefas em um conjunto de processadores é, em sua forma geral, NP-completo. Uma variedade de heurísticas de escalonamento foram propostas, principalmente para um conjunto de processadores homogêneos, considerando ou não custo de comunicação associado à troca de mensagens Alguns heurísticas que consideram um conjunto de processadores homogêneos foram analiticamente avaliadas, e foi concluído que escalonamento produzidos estão dentro de um fator do ótimo. Algumas instâncias do problema possuem solução ótima 38

39 Modelo da Aplicação uma aplicação da classe de aplicações abordadas é constituída por um conjunto de tarefas, ordenadas parcialmente por uma relação de precedência a classe de aplicações aqui discutida pode ser representada por um grafo acíclico direcionado (GAD) G = (V,E,, ), onde as tarefas da aplicação são representadas pelo conjunto de n vértices V = { v 1, v 2,..., v n } as relações de precedência que correspondem a dependência de dados são representadas pelo conjunto de dados E = { (v i, v j ) } 39

40 Modelo da Aplicação o peso de computação (v i ) pode estar associado a cada tarefa de G (estimativa) correspondendo ao número de unidades de tempo necessários para executar a tarefa v i o peso de comunicação (v i, v j ) pode estar associado a cada arco (v i,v j ) de G (estimativa) correspondendo à quantidade de dados a serem enviados da tarefa v i para a v j seja pred (v i ) o conjunto de predecessores imediatos da tarefa v i, ou seja, pred (v i ) = {v j / (v j,v i ) E } seja succ (v i ) o conjunto de sucessores imediatos da tarefa v i, ou seja, succ (v i ) = {v j / (v i, v j ) E } 40

41 Modelo da Arquitetura definição de características que afetam o desempenho processadores homogêneos e heterogêneos número limitado ou não de processadores memória distribuída ou compartilhada topologia da rede de interconexão modelo de comunicação latência de comunicação sobrecargas de envio e recebimento etc 41

42 Heurísticas de Escalonamento Heurísticas de Escalonamento Estático heurísticas de construção: um algoritmo polinomial no tamanho da entrada que a cada iteração, especifica para uma tarefa o seu escalonamento tupla (tarefa, processador, tempo de início) ao final, uma só solução foi formada escalonamento deve ser válido (respeitar as relações de precedência e as características do modelo arquitetural) difícil classificação técnica empregada modelo considerado 42

43 Heurísticas de Escalonamento Heurísticas de Escalonamento Estático List Scheduling Algomeração de Tarefas Minimização de Caminho Crítico Replicação de Tarefas 43

44 Restrições de Escalonamento Seja um DAG: G(V,E) e uma modelo arquitetural Tempo de início (start time): st(v i, p k ) Tempo de fim (finish time): ft(v i, p k ) Alocação do processador: proc (v i ) Restrições: De processador: duas tarefas não podem ter sobreposição de tempo no mesmo processador p k = proc(v i )=proc(v j ) st (v i, p k ) >= ft (v j, p k ) OR st (v j, p k ) >= ft (v i, p k ) 44

45 Restrições de Escalonamento Seja um DAG: G(V,E) e uma modelo arquitetural Tempo de início (start time): st(v i, p k ) Tempo de fim (finish time): ft(v i, p k ) Alocação do processador: proc (v i ) Restrições: de precedências: uma tarefa deve começar a ser executada depois que receber todas os dados de seus predecessores v j pred( v j ), st (v j, p k ) >= ft (v i, proc(v i )) + comm (v i, v j ) 45

46 List Scheduling Estratégia (extremamente) gulosa tradicional e bastante conhecida (utilizada) devido a sua simplicidade (baixa complexidade) escalonamento de instruções em unidades funcionais escalonamento em processadores heterogêneos (em número limitado) Alguns conceitos importantes tarefa livre - todos os seus predecessores imediatos já foram escalonados; processador ocioso - em um determinado instante t k, não existe nenhuma tarefa sendo executada neste instante; 46

47 List Scheduling Framework Definição da prioridade das tarefas v i V; Enquanto ( existir v i não escalonado ) faça { v i = a tarefa livre de maior prioridade; p j = o processador ocioso onde v i começa mais cedo; escalone v i no processador p j ; determine as novas tarefas livres; } 47

48 Prioridades associada às tarefas Caminho crítico Caminho no grafo com o maior comprimento bottom-level, top-level, etc... Medidas para definir a importância dum nó a ordem em que as tarefas são escalonadas é muito importante 48

49 Um Exemplo de GAD pesos de execução em pesos dos arcos em

50 Replicação de Tarefas Papadimitriou e Yannakakis (PY) princípio da replicação grafo acíclico direcionado G = (V, E) (UET-UCT) pesos de execução das tarefas: unitários pesos dos arcos: unitários latência de comunicação L é o custo mais relevante número ilimitado de processadores A idéia é replicar para minimizar o tempo de execução 50

51 Replicação de Tarefas Muitos algoritmos utilizaram a idéia de replicar tarefas para não ter que realizar comunicação entre processadores Hoje seriam entre máquinas Mas quais custos associados a replicação de tarefas? O que significa replicar a tarefa? 51

52 Replicação de Tarefas O que o list scheduling faria? L 4 52

53 Replicação de Tarefas Podemos melhorar? Precisa replicação? L 4 53

54 Replicação de Tarefas Melhor caso, não adianta replicar L 4 L 4 54

55 Replicação de Tarefas Como o list scheduling faria? 0 L

56 Replicação de Tarefas Podemos fazer melhor com replicação? 0 L

57 Escalonamento em Tempo Real Uma definição: o resultado correto de um problema deve ser produzido, mas também, o tempo que leva para ser produzido é essencial é um sistema composto de tarefas em que algumas são urgentes Para esse classe de aplicações, o SO, e particularmente o escalonador são de crucial importância 57

58 Atualidade em Sistema de Tempo Real laboratórios de controle robótica trafego aéreo telecomunicações sistemas de controle 58

59 Próxima geração de Sistema de Tempo Real (... que já é atual) carros autonômicos controladores de robôs com juntas elásticas fábricas inteligentes exploração de águas profundas etc. 59

60 Sistema de Tempo Real as tarefas ou processos podem ser urgentes ou não associado a cada tarefa tempo de fim deadline hard real time task: deadline tem que ser respeitado X soft real time task: deseja-se atingir o deadline 60

61 SO para Sistema de Tempo Real tempo de resposta de seus serviços tempo contabilizado a partir de sua requisição depende: tempo da rotina de tratamento de interrupção ( contexto iniciar a rotina do serviço (troca de tempo de execução do seviço mais interrupções, se ocorrerem 61

62 SO para Sistema de Tempo Real Controle do usuário nestes sistemas, o usuário tem maior interação com o SO para alimentar dados da aplicação a ser executada Confiabilidade muito importante em Sistemas de Tempo Real falhas devem ser tratadas de forma transparente ao usuário tolerâncias a falhas via software salvamento de dados para recuperação de processo manter arquivos de entrada, etc 62

63 SO para Sistema de Tempo Real Confiabilidade com mecanismos de tolerância a falhas, problemas podem ser contornados e a execução continua esta operação pode ter estabilidade quando ainda com falha, os deadlines são atingidos 63

64 Escalonamento em Tempo Real aspectos que podem ser considerados: existe uma análise do comportamento do sistema a análise pode ser estática ou dinâmica de acordo com a análise, o escalonamento é produzido 64

65 Escalonamento em Tempo Real análise estática determina a alocação das tarefas em tempo de execução não necessariamente determina o escalonamento, mas as prioridades entre as tarefas o sistema pode ser preemptivo, realocar, de acordo com as essas prioridades análise dinâmica considerando as restrições do sistema para atingir o melhor desempenho deadlines das tarefas são considerados se um processo não atinge seu deadline é abortado 65

66 Escalonamento em Tempo Real análise estática bom para aplicações que são executadas repetidamente problema: estimativas precisas análise estática, que determina prioridades uma análise a priori pode auxiliar na especificação da importância das tarefas deadlines podem ser considerados dinâmica quando o sistema tem um caráter dinâmico, com tarefas chegando aleatoriamente deadlines devem ser obedecidos 66

67 SO para Sistema de Tempo Real Escalonador de curto prazo papel crucial importante que as tarefas críticas (hard real time tasks) sejam executadas não ultrapassando deadlines o máximo de tarefas não críticas devem ser executadas Maioria de Sistemas de Tempo real dificuldade de atingir deadlines quando um deadline está para ser atingido, a tarefa é rapidamente escalonada 67

68 Escalonamento baseado em Deadlines Nos sistemas de tempo real, as seguintes informações são utilizadas: tempo que o processo/tarefa fica pronta caso de tarefas periódicas esta seqüência de tempos pode ser pré-conhecida deadline de início e de fim tempo que uma tarefa tem que (a partir do qual deve) começar e tempo que a tarefa deve estar terminada tempo de processamento em caso de desconhecimento, o SO pode usar algum modelo de previsão 68

69 Escalonamento baseado em Deadlines conjunto de recursos requisitados pelas tarefas (sem ser processadores) prioridade tarefas críticas podem ter prioridade absoluta (tem que ser executadas o mais rápido) caso de falha: sistema aborta se executado de qualquer modo, prioridades são reavaliadas estrutura da tarefa uma tarefa pode ser um conjunto de subtarefas, algumas sendo críticas e outras não 69

70 Escalonamento baseado em Deadlines Seleção e decisões qual tarefa deve ser a próxima a ser escalonada mais do que acabar mais rápido, é mais importante que escalone as tarefas tal que as aplicações terminem de acordo com os deadlines não preempção quando deadline de início devem ser utilizados, faz mais sentido visto que preempção não é permitida. Assim, dá para assegurar que a data limite de início será atingida 70

71 Escalonamento baseado em Deadlines Seleção e decisões preempção ser permitida para atingir deadline mais apropriado quando tarefas tem deadlines de fim Processo X está sendo executado e Y está pronto os dois tem deadlines de fim associados dependendo, X sofre interrupção para que Y seja escalonado para atingir seu deadline, tal que X não perca seu deadline 71

72 Escalonamento baseado em Deadlines Um exemplo: tarefas periódicas se repetem com freqüência Tarefa A deadlines a cada 20ms duração de 10ms (cada período) chega a cada 20ms Tarefa B deadline a cada 50ms duração de 25ms chega a cada 50ms preempção é permitida 72

73 Escalonamento baseado em Deadlines Processo periódicos Chegada Tempo de Execução Deadline de fim A(1) A(2) A(3) A(4) A(5) B(1) B(2)

74 Escalonamento baseado em Deadlines Decisões são efetuadas a cada 10ms, e escalonamento por prioridade A tem prioridade A 1 B 1 A 2 B 1 A 3 B 2 A 4 B 2 A 5 B B1 atinge deadline 74

75 Escalonamento baseado em Deadlines Decisões são efetuadas a cada 10ms, e escalonamento por prioridade B tem prioridade B1 A 2 A 3 B2 A A1 atinge deadline e nem foi executado A4 atinge deadline, poderia ter executado por 5 ut 75

76 Escalonamento baseado em Deadlines Decisões são efetuadas a cada 10ms, e escalonamento por prioridade: menor deadline de fim Menor deadline de fim A B A B1 4 0 A B2 A B A 5 76

77 Escalonamento baseado em Deadlines Tarefas Aperiódicas sem preempção Processo Chegada Ts Deadline início A B C D E earliest deadline: A será logo escalonado e B não poderá ser executado 77

78 Escalonamento baseado em Deadlines Tarefas Aperiódicas sem preempção Processo Chegada Ts Deadline início A B C D E menor deadline, conhecimento a priori, mesmo que o processador fique ocioso: B é escalonado antes, mas o processador fica ocioso até este ser submetido (pois senão não será atendido devido a não preempção) 78

79 Escalonamento com taxa monotônica Rate Monotonic Scheduling (RMS) muito usado em escalonamento de tempo real em tarefas que acontecem periodicamente Escalonar primeiro a tarefa de maior prioridade Prioridade: escolha da tarefa com menor tempo de serviço considerando todas as tarefas prontas, ao ordenarmos as tempos de serviço, se observa que este tempo cresce monotonicamente 79

80 Escalonamento com taxa monotônica Em caso de tarefas periódicas, parâmetros relevantes para esse tipo de escalonamento: tempo entre chegadas entre cada instância da tarefa = período T o inverso deste período de tempo é a frequência (em Hz) tempo de execução da tarefa C C <= T se a tarefa sempre é executada até seu término, a utilização do processador é U = C/T 80

81 Escalonamento com taxa monotônica a política garante ou não que tarefas críticas encontrem seus deadlines Suponha que existam n tarefas. Para que todas encontrem seus deadlines é preciso que: U(n) = C 1 /T 1 + C 2 /T C n /T n <= 1 quer dizer, a soma de utilização de processador não pode ultrapassar de 1 quando igual a 1: o processador está sendo totalmente utilizado 81

82 Escalonamento com taxa monotônica Limite superior UL(n) Liu e Layland (1973) mostraram que para um conjunto de n tarefas periodas um escalonamento viável que alcança os deadlines é possível, se a utilização da CPU está de acordo com o limite UL(n) = C 1 /T 1 + C 2 /T C n /T n <= n (2 1/n 1) isso depende do número de tarefas 82

83 Escalonamento com taxa monotônica UL(n) = C 1 /T 1 + C 2 /T C n /T n <= n (2 1/n 1) n UL(n) = n (2 1/n 1) , , , , , ln 2 = 0,693 83

84 Escalonamento com taxa monotônica Suponha que existam três tarefas periódicas tal que U i = C i /T i Tarefa C i T i (período) U i P ,2 P ,267 P ,286 U(3) = 0,753 O limite superior para que as três tarefas sejam escalonáves, usando escalonamento monotônico RMS, é : UL(3) = C 1 /T 1 + C 2 /T 2 + C 3 /T 3 <= 3 (2 1/3 1) = 0,779 Como a utilização total de processador para as três tarefas é menor que o limite superior para o RMS então é possível executá-las de acordo com o RMS 84

85 Escalonamento com taxa monotônica Também pode ser comprovado que o limite superior da utilização de processador pode ser utilizado para escalonamento com a prioridade: Deadline mais cedo 85

86 Escalonamento com taxa monotônica Considere as tarefas P i com (C i, T i ) associados Qual a utilização de CPU: {(1,3),(1,5),(1,6),(3,10)} Qual o limite superior Conclusão? 86

87 Escalonamento com taxa monotônica Considere as tarefas Pi com (Ci, Ti) associados {(1,3),(1,5),(1,6),(3,10)} Qual a utilização de CPU: U (4) = 1/3 + 1/5 + 1/6 + 3/10 = Qual o limite superior UL(4) = 4 (2 1/4 1) = Conclusão? as quatro tarefas não são escalonáveis 87

88 Escalonamento com taxa monotônica Considere as tarefas Pi com (Ci, Ti) associados {(1,3),(1,5),(1,6),(3,10)} E as três primeiras tarefas? 88

89 Escalonamento com taxa monotônica Considere as tarefas Pi com (Ci, Ti) associados {(1,3),(1,5),(1,6),(3,10)} E as três primeiras tarefas? U(3)= 1/3 + 1/5 + 1/6 = UL (3) = Logo: as três primeiras tarefas são escalonáveis. 89

Desempenho de computação paralela

Desempenho de computação paralela Desempenho de computação paralela o paralelismo existente na aplicação decomposição do problema em subproblemas menores a alocação destes subproblemas aos processadores o modo de acesso aos dados: a existência

Leia mais

Escalonamento de Processos Uniprocessador

Escalonamento de Processos Uniprocessador Sistemas Operacionais Escalonamento de Processos Uniprocessador Capítulo 9 IC - UFF 1 Objetivos do Escalonamento É a chave de multiprogramação eficiente deve ser transparente ao usuário Esolher processos

Leia mais

Sistemas Operacionais. Escalonamento de processos

Sistemas Operacionais. Escalonamento de processos Sistemas Operacionais Escalonamento de processos 1 Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III. Escalonamento de Processos. 24/04/2014 Prof. Valeria M. Bastos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III. Escalonamento de Processos. 24/04/2014 Prof. Valeria M. Bastos UFRJ IM - DCC Sistemas Operacionais I Unidade III Escalonamento de Processos 24/04/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Processador Escalonamento de Processos Conceituação Critérios de

Leia mais

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE III: GERÊNCIA DE RECURSOS SUMÁRIO 8. GERÊNCIA DO PROCESSADOR: 8.1 Introdução; 8.2 Funções Básicas; 8.3 Critérios de Escalonamento;

Leia mais

Sistemas Operacionais. Gerência de Processador

Sistemas Operacionais. Gerência de Processador Sistemas Operacionais Gerência de Processador Sumário 1. Introdução 2. Funções Básicas do Escalonamento 3. Critérios de Escalonamento 4. Escalonamento 1. Não-Preemptivo 2. Preemptivo 5. Políticas de Escalonamento

Leia mais

Processos. Escalonamento de Processos

Processos. Escalonamento de Processos Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:

Leia mais

Processos. Escalonamento de Processos

Processos. Escalonamento de Processos Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:

Leia mais

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1) Aula Passada Processos (Aula 6) Escalonamento de Processos O SO gerencia os recursos do sistema de computação em benefício dos processos Para isso, mantem estruturas de controles Tabelas (memória, I/O,

Leia mais

Processos. Escalonamento de Processos

Processos. Escalonamento de Processos Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:

Leia mais

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP. Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Processos Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround: tempo total para executar

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Escalonamento CPU Um vez escalonado, o processo utiliza o processador, de modo: Não preemptivo (FIFO, SJF, Cooperativo) Término

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento) Aula 05 Objetivos de um sistema operacional são: Eficiência: relação entre o uso efetivo de um recurso e a quantidade desse recurso

Leia mais

SOP - TADS Escalonamento de Processos

SOP - TADS Escalonamento de Processos SOP - TADS Escalonamento de Processos Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Conceito de Escalonamento

Leia mais

Davidson Rodrigo Boccardo

Davidson Rodrigo Boccardo Gerenciamento de processos Davidson Rodrigo Boccardo flitzdavidson@gmail.com Revisão Critérios de alocação: Utilização da CPU Produtividade (Throughput) Número de processos finalizados por unidade de tempo

Leia mais

Sistemas de Computação. Processos e escalonamento

Sistemas de Computação. Processos e escalonamento Processos e escalonamento Sistema operacional Programa que age como intermediário entre o usuário de um computador e o hardware Objetivos: Executar programas do usuário e facilitar a resolução de problemas

Leia mais

Sistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal

Sistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal Sistemas Operacionais Aula 07: Scheduling da CPU Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o Scheduling da CPU, que é a base dos sistemas operacionais multiprogramados

Leia mais

Infra-Estrutura de Software. Escalonamento

Infra-Estrutura de Software. Escalonamento Infra-Estrutura de Software Escalonamento Processos Concorrentes O Modelo de Multiprogramação Multiprogramação de quatro programas Modelo conceitual de 4 processos sequenciais, independentes Somente um

Leia mais

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento Aula 3 Escalonamento Escalonamento Porque? Quando? Como? Critérios? Políticas de escalonamento Como avaliar? Referências: Capítulo 5: 5.1 a 5.3, 5.6 Porque Escalonar? Escalonamento controla compartilhamento

Leia mais

Sistemas Operacionais: Escalonamento de processos

Sistemas Operacionais: Escalonamento de processos Sistemas Operacionais: Escalonamento de processos Escalonamento Critérios de escalonamento Algoritmos de escalonamento Escalonamento em multiprocessadores Escalonamento tempo real Características de processos

Leia mais

Escalonamento. Decidindo qual processo vai executar. Infra-estrutura de Software

Escalonamento. Decidindo qual processo vai executar. Infra-estrutura de Software Escalonamento Decidindo qual processo vai executar Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado

Leia mais

Infra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar

Infra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar Escalonamento Decidindo qual processo vai executar Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado

Leia mais

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (http://flaviovdf.github.io)

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (http://flaviovdf.github.io) SO: Escalonamento Sistemas Operacionais 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Aonde Estamos Processos Chapt 3 Threads Chapt 4 Vamos pular o Chapt 5 brevemente Sincronização e comunicação

Leia mais

Escalonamento de Processos

Escalonamento de Processos Escalonamento de Processos Escalonamento de processos Multiprogramação visa maximizar uso da CPU Sempre que processos estão prontos disputam CPU Algoritmo de escalonamento: maneira de escolher o processo

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento na prática) Aula 06 Sistemas atuais tem uma série de particularidades Multiprocessadores e multicore Existência de memória cache

Leia mais

Sistemas de Informação. Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE III SUMÁRIO 4. GERÊNCIA DO PROCESSADOR: 4.1 Introdução; 4.2 Funções Básicas; 4.3 Critérios de Escalonamento; 4.4 Escalonamentos Não-Preemptivos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento na prática) Aula 06 Sistemas atuais tem uma série de particularidades Multiprocessadores e multicore Existência de memória cache

Leia mais

Na Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente...

Na Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente... GSI018 Sistemas Operacionais 05/09/2016 Escalonamento de Processos Na Aula Anterior... Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Utilização de Processos

Leia mais

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU Definição? Algoritmo de Escalonamento de CPU 6 Terminado? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU? Executado quando ocorre estouro de Quantum ou interrupção do processo (I/O,

Leia mais

Gerência de Recursos. Gerência do Processador

Gerência de Recursos. Gerência do Processador Gerência de Recursos Gerência do Processador Escalonamento Não-Preemptivos e Preemptivos Preempção - possibilidade de o SO interromper um processo em execução e substituí-lo por um outro. O Escalonamento

Leia mais

Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos

Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos Escalonamento de Processos Estratégia de atribuição do Processador aos Processos 1. Introdução 2. Políticas de Escalonamento 3. Critérios para um bom escalonador 4. Caracterização dos escalonadores 5.

Leia mais

Escalonamento de Tarefas

Escalonamento de Tarefas Escalonamento de Tarefas Rômulo Silva de Oliveira ebook Kindle, 2018 www.romulosilvadeoliveira.eng.br/livrotemporeal Outubro/2018 1 Escalonamento de Tarefas Sistemas de tempo real são organizados em torno

Leia mais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais Notas da Aula 10 - Fundamentos de Sistemas Operacionais 1. Escalonadores preemptivos Escalonadores preemptivos são aqueles que têm a capacidade de interromper a execução de um processo para realizar alterações

Leia mais

Escalonamento da CPU

Escalonamento da CPU Escalonamento da CPU Sistemas Operacionais Charles Tim Batista Garrocho Instituto Federal de Minas Gerais IFMG Campus Ouro Branco https://garrocho.github.io charles.garrocho@ifmg.edu.br Sistemas de Informação

Leia mais

Escalonamento da CPU

Escalonamento da CPU Escalonamento da CPU Sistemas Operacionais Charles Tim Batista Garrocho Instituto Federal de São Paulo IFSP Campus Campos do Jordão garrocho.ifspcjo.edu.br/oso charles.garrocho@ifsp.edu.br Técnico em Informática

Leia mais

Questões de Provas de Períodos Anteriores

Questões de Provas de Períodos Anteriores Sistemas Operacionais 2010/1 Questões de Provas de Períodos Anteriores 1) Dois importantes conceitos encontrados no sistema operacional Unix são: (i) modo de execução ( execution mode ); e (ii) contexto

Leia mais

6 ESCALONAMENTO DE CPU

6 ESCALONAMENTO DE CPU 6 ESCALONAMENTO DE CPU O escalonamento de CPU é ponto chave da multiprogramação. Ela permite que haja mais de um processo em execução ao mesmo tempo. Em ambientes com um único processador, o escalonador

Leia mais

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

Notas da Aula 11 - Fundamentos de Sistemas Operacionais Notas da Aula 11 - Fundamentos de Sistemas Operacionais 1. Escalonamento de Tempo Real Em sistemas de tempo real, o objetivo principal do escalonador é garantir que todos os processos sejam executados

Leia mais

Algoritmos de escalonamento

Algoritmos de escalonamento Algoritmos de escalonamento Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas Filas; Utilizam escalonamento

Leia mais

Executivo Cíclico. Executivo Cíclico Introdução. Sistemas de Tempo Real: Executivo Cíclico Exemplo. Executivo Cíclico Introdução

Executivo Cíclico. Executivo Cíclico Introdução. Sistemas de Tempo Real: Executivo Cíclico Exemplo. Executivo Cíclico Introdução Sistemas de Tempo Real: Executivo Cíclico Rômulo Silva de Oliveira Departamento de Automação e Sistemas - DAS UFSC romulo.deoliveira@ufsc.br http://www.romulosilvadeoliveira.eng.br Setembro/201 1 Também

Leia mais

Conceitos Básicos dos Sistemas de Tempo Real

Conceitos Básicos dos Sistemas de Tempo Real Conceitos Básicos dos Sistemas de Tempo Real Rômulo Silva de Oliveira Edição do Autor, 2018 www.romulosilvadeoliveira.eng.br/livrotemporeal Outubro/2018 1 Sistemas computacionais com requisitos de tempo

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Dra. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille e da Profa. Dra. Luciana A. F. Martimiano e nas transparências

Leia mais

SEM 544 Desenvolvimento de Produtos Mecatrônicos

SEM 544 Desenvolvimento de Produtos Mecatrônicos SEM 544 Desenvolvimento de Produtos Mecatrônicos >>>> Sistemas de Tempo Real

Leia mais

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES SISTEMAS OPERACIONAIS TÁSSIO JOSÉ GONÇALVES GOMES www.tassiogoncalves.com.br tassiogoncalvesg@gmail.com CONTEÚDO PROCESSOS Fundamentos O Núcleo do Sistema Operacional Escalonamento de Processos Comunicação

Leia mais

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais DCA-108 Sistemas Operacionais Capítulo 2 Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno

Leia mais

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos

Leia mais

Gerência do Processador. Adão de Melo Neto

Gerência do Processador. Adão de Melo Neto Gerência do Processador Adão de Melo Neto 1 Introdução Sistemas Multiprogramáveis: Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. POLÍTICA DE ESCALONAMENTO São um

Leia mais

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais Escalonamento Pedro Cruz EEL770 Sistemas Operacionais Avisos Propostas de trabalho já foram revisadas Todos os grupos foram comunicados 2 Jantar dos filósofos - Dijkstra Filósofos estão jantando em uma

Leia mais

Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. Padrão de Execução dum Processo

Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. Padrão de Execução dum Processo Sumário Multiprocessamento. Escalonamento de Processos: Algoritmos. Escalonamento em POSIX. Escalonamento de Threads. 1 Padrão de Execução dum Processo Processos (e threads) alternam: execução de instruções;

Leia mais

Resumo: Sistemas Operacionais Abertos

Resumo: Sistemas Operacionais Abertos Resumo: Sistemas Operacionais Abertos Prof. Michael A. Pontes Processos Um processo é um programa em execução. Enquanto um processo é executado, ele muda de estado. O estado de um processo é definido pela

Leia mais

Lista de Exercícios Escalonamento de CPU. 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos:

Lista de Exercícios Escalonamento de CPU. 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos: Lista de Exercícios Escalonamento de CPU 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos: Tempo de Serviço Prioridade 10 3 1 1 P3 2 3 P4 1 4

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais ESCALONAMENTO DE PROCESSOS Processos e Recursos Conceito de Escalonamento O S.O. gerencia recursos computacionais em benefício dos diversos processos que executam no sistema. A questão

Leia mais

Arquitetura de Computadores. Processamento Paralelo

Arquitetura de Computadores. Processamento Paralelo Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple

Leia mais

Questões de Múltipla escolha

Questões de Múltipla escolha ATPS Sistemas Operacionais Professor Matheus de Lara Calache Valor total do trabalho: 10 Cada resposta vale 0,34. Questões de Múltipla escolha 1) Processos podem ser organizados em filas como Fila de Prontos

Leia mais

Escalonamento de processos

Escalonamento de processos de processos Carlos Gustavo A. da Rocha Nos computadores atuais frequentemente temos vários processos (threads) competindo por um pequeno número de CPUs Nestes casos uma escolha deve ser feita de qual

Leia mais

Capítulo 5: Escalonamento da CPU. Operating System Concepts 8th Edition

Capítulo 5: Escalonamento da CPU. Operating System Concepts 8th Edition Capítulo 5: Escalonamento da CPU Capítulo 5: Escalonamento de CPU Conceitos Básicos Critérios de Escalonamento Algoritmos de Escalonamento Escalonamento de Threads Escalonamento de Multiprocessadores Exemplos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana, Prof. Dra. Regina Helena Carlucci Santana e Sarita Mazzini Bruschi baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum

Leia mais

Escalonamento do CPU

Escalonamento do CPU Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho Função: escolher qual o processo pronto que corre em seguida Invocado possivelmente aquando: interrupções

Leia mais

Prof. Kleber R. Rovai

Prof. Kleber R. Rovai Prof. Kleber R. Rovai Msn: klrovai@hotmail.com E-mail: kleber@einstein-net.com.br Skype: klrovai Prof. Kleber R. Rovai kleber@einstein-net.com.br 2 1 Algoritmos dos Sistemas Interativos também ser usados

Leia mais

Sistemas Operacionais. Processos IC - UFF

Sistemas Operacionais. Processos IC - UFF Sistemas Operacionais Processos O conceito de processos No capítulo 1, fizemos as seguintes afirmativas quanto aos processos: Mais geral que programa Consiste em um código executável e seus dados associados,

Leia mais

Gerência do Processador. Adão de Melo Neto

Gerência do Processador. Adão de Melo Neto Gerência do Processador Adão de Melo Neto 1 Introdução Sistemas Multiprogramáveis: Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. POLÍTICA DE ESCALONAMENTO Como

Leia mais

Sistemas Operacionais. Escalonamento de Processos

Sistemas Operacionais. Escalonamento de Processos Escalonamento de Processos arliones.hoeller@ifsc.edu.br de fevereiro de baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto Gerenciamento de processos Processo É uma instância de um

Leia mais

Caracterização. Sistemas de Tempo Real: Caracterização. Caracterização. Caracterização. Concepções Erradas. Mercados

Caracterização. Sistemas de Tempo Real: Caracterização. Caracterização. Caracterização. Concepções Erradas. Mercados Sistemas de Tempo Real: Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC romulo@das.ufsc.br http://www.das.ufsc.br/~romulo Maio/2009 1 Sistemas computacionais com requisitos de real:

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 11: Escalonadores: Estudos de Caso Diego Passos Últimas Aulas Escalonadores Escalonadores não-preemptivos: FIFO. SJF (com e sem previsão). Escalonadores preemptivos:

Leia mais

Davidson Rodrigo Boccardo

Davidson Rodrigo Boccardo Fundamentos em Sistemas de Computação Davidson Rodrigo Boccardo flitzdavidson@gmail.com Componentes de um SO Gerenciamento de Processos Sistema de Arquivos Gerenciamento de Entrada/Saída Gerenciamento

Leia mais

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação MULTIPROCESSADORES

Leia mais

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 4ª Aula Processos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano baseados no

Leia mais

Sistemas Operacionais. Capítulo 8 Gerência do Processador

Sistemas Operacionais. Capítulo 8 Gerência do Processador Sistemas Operacionais Capítulo 8 Gerência do Processador Baseado no Livro e Material de Apoio de Arquitetura de Sistemas Operacionais 3ª edição - LTC - 2004 Francis Berenger Machado Luiz Paulo Maia 1 Sumário

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana, Prof. Dra. Regina Helena Carlucci Santana e Sarita Mazzini Bruschi baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento) Aula 05 Objetivos de um sistema operacional são: Eficiência: relação entre o uso efetivo de um recurso e a quantidade desse recurso

Leia mais

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

Algoritmos e Estruturas de Dados II. Trabalho Prático 2 Algoritmos e Estruturas de Dados II Entrega: 01/10/09 Devolução: 22/10/08 Trabalho individual Prof. Jussara Marques de Almeida Trabalho Prático 2 Simulação é uma técnica muito utilizada para avaliação

Leia mais

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca Sistemas Operacionais Escalonamento Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Cin/UFPE Escalonamento Processos Concorrentes O modelo de multiprogramação

Leia mais

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento BC1518-Sistemas Operacionais Escalonamento de CPU 3 Quadrimestre de 2010 Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro Conceito Despachante Critérios de escalonamento Algoritmos

Leia mais

Estratégias de Escalonamento de Processos

Estratégias de Escalonamento de Processos Estratégias de Escalonamento de Processos Rossano Pablo Pinto, MSc. FATEC - Americana 15/02/2008 Prof. Ms. Rossano Pablo Pinto - FATEC Ame 1 O que é um sistema multiprogramável? compartilha a CPU entre

Leia mais

Escalonamento de Processos Estratégias de Escalonamento de Processos

Escalonamento de Processos Estratégias de Escalonamento de Processos Estratégias de Escalonamento de s Rossano Pablo Pinto, MSc. FATEC - Americana 15/0/008 O que é um sistema multiprogramável? compartilha a CPU entre diversos processos é desejável que os processos obtenham

Leia mais

Escalonamento de Processos

Escalonamento de Processos Porque é necessário escalonar? Escalonamento de s s precisam ser executados s concorrem a PU Escalonador: omponente (implementação) do sistema operacional etermina a ordem de dos baseado num algoritmo

Leia mais

Conceitos básicos de Tempo Real

Conceitos básicos de Tempo Real Especificação, Modelação e Projecto de Sistemas Embutidos Conceitos básicos de Tempo Real Paulo Pedreiras pbrp@ua.pt Departamento de Electrónica, Telecomunicações e Informática Universidade de Aveiro Parcialmente

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 10 Escalonamento Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: Prof. SO José - Prof. Juan Edilberto Espantoso Silva Sumário Introdução

Leia mais

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos Infra Estruturas Computacionais Professor: André Ferreira andre.ferreira@ifba.edu.br Material baseado: Prof.ª Renata Vilas e outros Estados dos processos novo admissão condição satisfeita pronto carga

Leia mais

Escalonamento de Tarefas em sistemas monoprocessados

Escalonamento de Tarefas em sistemas monoprocessados Capítulo 5 Escalonamento de Tarefas em sistemas monoprocessados Em sistemas de tempo-real o objetivo principal é de que cada processo produza resultados a tempo de serem úteis. Assim, é importante que

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Processos - Parte 3 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 3) 1 / 19 Algoritmos de Escalonamento Nas aulas anterior vimos o ESCALONADOR, que é uma parte do SO responsável

Leia mais

Sistemas Operacionais Aula 7

Sistemas Operacionais Aula 7 Sistemas Operacionais Aula 7 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer

Leia mais

Sistemas Operacionais Gerenciamento de Processos

Sistemas Operacionais Gerenciamento de Processos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerenciamento de Processos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução Devido

Leia mais

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009 1ª Questão : Sobre o conceito de sistema operacional, escreva ao lado a soma dos números dos itens que considera corretos: (01) O conceito da máquina de níveis define o hardware como o nível mais baixo,

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 8: Escalonamento Diego Passos Última Aula Implementação de Processos e Threads Bloco descritor de processo. Informações de gerência do processo. Contexto. Informações

Leia mais

Avaliação de Desempenho de Sistemas Discretos

Avaliação de Desempenho de Sistemas Discretos Avaliação de Desempenho de Sistemas Discretos Parte II: Modelagem de Sistemas Professor: Reinaldo Gomes reinaldo@computacao.ufcg.edu.br Modelos Modelo é uma abstração de um sistema real Apenas as características

Leia mais

Avaliação de Desempenho de Sistemas Discretos

Avaliação de Desempenho de Sistemas Discretos Modelos Avaliação de Desempenho de Sistemas Discretos Parte II: Modelagem de Sistemas Modelo é uma abstração de um sistema real Apenas as características importantes para a avaliação devem ser consideradas

Leia mais

LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador

LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador LICENCIATURA EM COMPUTAÇÃO Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador SANTO AMARO 2012 JEANDERVAL SANTOS DO CARMO RESENHA Resenha do quarto capítulo: Gerencia

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Bacharelado em Ciência da Computação Sistemas Operacionais

Bacharelado em Ciência da Computação Sistemas Operacionais Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Diego Mello da Silva Instituto Federal de Minas Gerais - Campus Formiga 13 de fevereiro de 2014 diego.silva@ifmg.edu.br (IFMG) Sistemas

Leia mais

Notas da Aula 8 - Fundamentos de Sistemas Operacionais

Notas da Aula 8 - Fundamentos de Sistemas Operacionais 1. Escalonamento Notas da Aula 8 - Fundamentos de Sistemas Operacionais Uma das funções de um SO é gerenciar o acesso aos recursos da máquina, por parte dos vários processos do sistema. Isto significa

Leia mais

Escalonamento de Processos

Escalonamento de Processos Escalonamento de Processos Prof. Dr. André Carvalho andre@icomp.ufam.edu.br Agenda n Contextualização Classificação de tarefas n Métricas de Escalonamento n Escalonamento de Processos n Exemplos 2 Contextualização

Leia mais

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios SISTEMAS OPERACIONAIS Prof a. Roberta Lima Gomes (soufes@gmail.com) 1ª. Lista de Exercícios Data de Entrega: não há. O objetivo da lista é ajudar no estudo individual dos alunos. Soluções de questões específicas

Leia mais

Programação de Sistemas em Tempo Real

Programação de Sistemas em Tempo Real BCC722 Programação de Sistemas em Tempo Real Processos Prof. Charles Garrocho O conceito de processo Um S.O. executa uma variedade de programas Sistemas de tempo compartilhado: programas Processo: um programa

Leia mais

Parte I Multiprocessamento

Parte I Multiprocessamento Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez gregorio@uninove.br 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento

Leia mais

Arquiteturas Paralelas

Arquiteturas Paralelas ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Arquiteturas Paralelas Medidas de desempenho Alexandre Amory Edson Moreno Índice 2 1. Introdução 2. Medidas de Desempenho Introdução 3 Aumento de desempenho dos

Leia mais

SISTEMAS EMBARCADOS. Escalonamento e Tempo Real. Prof. André Schneider de Oliveira

SISTEMAS EMBARCADOS. Escalonamento e Tempo Real. Prof. André Schneider de Oliveira Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Escalonamento e Tempo Real Prof. André Schneider de Oliveira andreoliveira@utfpr.edu.br

Leia mais