Unidade III Gerência de Processos

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

Download "Unidade III Gerência de Processos"

Transcrição

1 Sistemas Operacionais Unidade III Gerência de Processos Professor: Luis Rodrigo Página: 1 de 34

2 Unidade III: Gerência de Processos Conceito de Processo Materialização do Processo Estados do processo Mudanças de Estado Tipos de processo Escalonamento de Processos Threads Comunicação entre Processos Exclusão mútua e região crítica Soluções de software para exclusão mútua Concorrência e Sincronização de Processos Página: 2 de 34

3 Escalonamento : Escalonamento (schedulling): Conjunto de Regras utilizada pelo S.O. Define o ordem e o mecanismos de execução dos processos Escalonador: Componente do Kernel responsável pelo escalonamento; Deve impedir o Starvation Fatores relevantes: utilização da CPU throughput turnaround tempo de resposta Página: 3 de 34

4 Escalonamento : Escalonamento/Escalonador Rodando Bloqueado Pronto Página: 4 de 34

5 Escalonamento : Tipos de Escalonamento Não Preemptivo: eventos voluntários Preemptivo: eventos não voluntários escalonador pode interromper os processos Página: 5 de 34

6 Escalonamento : Escalonamento não Preemptivo todos usam um única fila FIFO First-in-first-out processos CPU-Bound (menor prioridade) prejudicam os processos IO-Bound (maior prioridade) SJF - Shortest-jof-first: processos com menor tempo de execução são tratados primeiro não é simples determinar o tempo para a conclusão do processo Cooperativo: fila de mensagens sem intervenção do S.O. processo pode não liberar o processador (núcleo) Página: 6 de 34

7 Escalonamento : Escalonamento Preemptivo Ação de eventos voluntários involuntários Circular Round Robin uma única fila de pronto atendidos pela ordem de chegada preempção por tempo uso de time-slice (quantum) Pronto A B C D E Rodando Preempção p/tempo Bloqueado Página: 7 de 34

8 Escalonamento : Escalonamento Preemptivo Por Prioridade uma única fila de pronto Prioridade : (i) definida pelo SO, (ii) estática ou dinâmica Ao final do time slice / inicio do escalonamento: Arruma lista de processos Se o 1º processo da fila de pronto possui prioridade maior ou igual ao que está sendo executa ocorre o escalonamento Senão processo que está sendo executado continua por mais um time-slice; Prioridade dinâmica pode ser usada para compensar os processos que ficam na fila de pronto (fila de espera pela CPU) Página: 8 de 34

9 Escalonamento : Por múltiplas filas Várias filas de pronto; Cada fila possui uma prioridade Processo não pode mudar de prioridade Processos ganham a CPU quando não á processo de maior prioridade A B C D E + Pronto A B C D E A B C D E Rodando A B C D E A B C D E - Bloqueado Página: 9 de 34

10 Escalonamento : Por múltiplas filas e com realimentação Várias filas de pronto; Cada fila possui uma prioridade Processo pode mudar de prioridade Mecanismo adaptativo : Quando criado o processo é colocado no final da fila de maior prioridade Se ocorrer preempção por prioridade ou pelo S.O., o processo volta ao final da fila de origem (prioridade n) Se ocorrer preempção por tempo processo vai para o final de prioridade n-1, onde n é a prioridade atual Quando vai para a fila de bloqueados volta com prioridade n+1 Quanto maior a prioridade menor o time-slice Página: 10 de 34

11 Escalonamento : Tempo real Prioridade Estática Com multiplos processadores Sistema fortemente acoplado (memória compartilhada) Fila única Escalonado para o primeiro processador livre Sistema fracamente acoplado (memória distribuída) cada processador usa seu próprio algoritmo Página: 11 de 34

12 Unidade III: Gerência de Processos Conceito de Processo Materialização do Processo Estados do processo Mudanças de Estado Tipos de processo Escalonamento de Processos Threads Comunicação entre Processos Exclusão mútua e região crítica Soluções de software para exclusão mútua Concorrência e Sincronização de Processos Página: 12 de 34

13 Threads Conceitos Básicos: Assim como os processos, são elementos ativos que podem interagir com o sistema e entre si Um processo pode ser composto por várias threads Cada processo possui seu próprio conjunto de recursos As threads de um processo compartilham um mesmo conjunto de recursos, podem possuir recursos individualizados Página: 13 de 34

14 Threads Modelo Clássico: para cada processo há um e somente uma thread neste caso a thread e o processo são a mesma entidade Processo 1 Processo 2 Processo 3 Thread 1 Thread 2 Thread 3 Página: 14 de 34

15 Threads Modelo Atual: um processo pode ser composto de uma ou várias threads cada thread individualiza: os registradores; o apontador de Instrução a pilha Processo 1 Processo 2 Processo 3 Threads Página: 15 de 34

16 Unidade III: Gerência de Processos Conceito de Processo Materialização do Processo Estados do processo Mudanças de Estado Tipos de processo Escalonamento de Processos Threads Comunicação entre Processos Exclusão mútua e região crítica Soluções de software para exclusão mútua Concorrência e Sincronização de Processos Página: 16 de 34

17 Comunicação entre processos : IPC (InterProcess Comunnication) Programação Distribuída (Concorrente/Paralela) Dividir para conquistar Redundância / Validação de resultados Recursos que o S.O. deveria fornecer: Mecanismos de Sincronização Mecanismos de Comunicação Memória Compartilhada Troca de Mensagens Serialização / sequencialização Página: 17 de 34

18 Condições de Corrida : Ocorrem quando 2 ou + processos necessitam utilizar o mesmo recurso: arquivos em disco variáveis compartilhadas spool de impressão E a ordem no acesso do recurso pode alterar o resultado final: obter saldo && realizar um deposito obter saldo && realizar um saque Página: 18 de 34

19 Regiões Críticas : Parte do código que leva às condições de corrida Para protege-las foram definidos mecanismos que impedem que 2 ou + processos acessem a mesma R.C. ao mesmo tempo Os mecanismos de controle devem Permitir a entrada de apenas um processo na RC Não deve-se fazer consideração quanto a velocidade de execução dos processos e processadores Processos fora da RC não podem bloquear processos dentro da RC Nenhum processo pode esperar indefinidamente para entrar na RC Página: 19 de 34

20 Exclusão mútua : Há duas formas de evitar as condições de corrida e proteger as regiões criticas: Exclusão Mútua com espera ocupada Exclusão Mútua sem espera ocupada Elas devem impedir que processos concorrentes acessem ao mesmo tempo um determinado recurso Demais processos devem esperar o encerramento da operação sobre o recurso antes de utiliza-lo Página: 20 de 34

21 Espera Ocupada : Inibição de Interrupções: desabilitar todas as interrupções ao entrar na região crítica inclusive interrupção do clock só funciona em máquinas com um único processador / núcleo pode causar DOS, caso as interrupções continuem desativadas ao finalizar a região crítica Página: 21 de 34

22 Espera Ocupada : Variáveis de travamento: variável compartilhada, que pode assumir 0 ou 1 quando 0 o processo pode entrar na RC falha quando um processo obtém o valor 0 mas não tem tempo para atualiza-lo para 1 também falha quando o processo não altera seu valor para 0 ao sair da Região Crítica Página: 22 de 34

23 Escrita alternada: TURN - Variável inteira compartilhada Espera Ocupada : O valor contido na variável define de quem é a vez de entrar na RC Realiza um teste contínuo sobre o valor da variável Processo A... while (true) { while (TURN!= 0) regiaocritica (); TURN++; regiaonaocritica (); } Processo B... while (true) { while (TURN!= 1 ) regiaocritica (); TURN=0; regiaonaocritica (); } Página: 23 de 34

24 Espera Ocupada : Solução de Peterson: Duas Variáveis: travamento e intenção Duas Funções: enterregion ( int proc) leaveregion ( int proc ) #include prototype.h #define FALSE=0 #define TRUE=1 #define N=2 int turn; int interested (N); void leaveregion (int proc) { } interested[proc] = FALSE; void enterregion (int proc) { } int other; other=1-proc; interested[proc] = TRUE; turn=proc; while (turn == proc && interested[other] == TRUE ); Página: 24 de 34

25 Instruções TSL: Test and Set Lock (instrução atômica) Espera Ocupada : Transfere o conteúdo da memória para o contado e armazena na memória um valor não nulo Desabilita acesso a memória aos demais processadores Evita a chegada de interrupções no meio da atualização Suportado apenas em Assembly Falha quando o processo que está na RC é abortado enter_region PROC _loop: TSL register, lock; CMP lock,0; JNE _loop; RET enter_region ENDP leave_region PROC mov lock, #0; ret; leav_region ENDP Página: 25 de 34

26 Evita que o loop de espera Problema de inversão de prioridade Sem Espera Ocupada : processo H com alta prioridade e for a de RC, impede que o processo L com baixa prioridade rode e execute a RC Pode gerar um Deadlock (abraço mortal) Solução utiliza política de prioridade dinâmica Processo na RC deve ter a maior prioridade comparado com aqueles que está concorrendo ao sair da RC volta a prioridade normal Página: 26 de 34

27 Sleep e Wakeup Sem Espera Ocupada : sleep () : coloca o processo para dormir (fila de bloqueado) wakeup (proc) : acorda o processo que estava na fila de bloqueado Falha quando um processo que ainda não foi para a fila de bloqueados recebe um sinal de wakeup Solução: uso de n bits para contar a quantidade de wakeups que um processo recebeu Página: 27 de 34

28 Semáforo Variáveis inteiras não negativas protegidas Valor inicial = 0 não há sinal armazenado Valores positivos indicam sinais pendentes Operações Atômicas para sincronização de processos: UP : incrementa contador Down : decrementa contador Resolve o problema de perda de sinais Sem Espera Ocupada : Quando há mais de um processador a variável do semáforo deve ser protegida por instruções TSL Página: 28 de 34

29 Semáforo Tipos: Binários : podem assumir 0 ou 1 Sem Espera Ocupada : Contadores e/ou Genéricos : valores inteiro não negativos Código def down (S) : if ( S > 0 ) : S = S 1 else #espera no semáforo def up (S) : if ( processo esperando: ocorde_um_processo ( ) else S = S + 1 Página: 29 de 34

30 Sem Espera Ocupada : Semáforo program exemplo_semaforo var ativo : semaphore; procedure processo_um; begin while true do begin algumas_funcoes_um down (ativo) regiao_critica_um up (ativo) outras_funcoes_um end end; procedure processo_dois; begin while true do begin algumas_funcoes_dois down (ativo) regiao_critica_dois up (ativo) outras_funcoes_dois end end; begin inicializa_semaforo (ativo, 1); parbegin processo_um; processo_dois parend end. Página: 30 de 34

31 Contadores de Evento Variáveis especiais, que permitem as operações: read (E) : obtém o valor de E advande (E) : incrementa o valor de E await (E,N) : espera até que E tenha o valor N Valores iniciados com 0 Valores apenas podem ser incrementados Sem Espera Ocupada : Página: 31 de 34

32 Monitores Simples de serem utilizados Controlados pelo S.O. Sem Espera Ocupada : S.O. garante que apenas um processo está dentro do monitor Devem ser suportados pelo compilador Primitivas de alto nível implementadas como: conjunto de procedimentos estrutura de dados e variáveis Formam módulos especiais que podem ser chamados pelos processos Não podem ser alterados Página: 32 de 34

33 Monitores Sem Espera Ocupada : Funções internas não podem ser acessadas de fora do monitor O compilador deve implementar a exclusão mútua na entrada dos monitores; Assim como as demais soluções funciona apenas em sistemas de memória compartilhada. monitor exemplo; var i: integer; c: condition; procedure produtor (x: integer); begin... end; procedure consumidor ( x : integer); begin... end; end monitor; Página: 33 de 34

34 Página: 34 de 34

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU?

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 2 O que é ambiente de execução? 3 Qual a finalidade da PCB? 4 Quais os componentes básicos da PCB? 5 Quais os 3 grupos de elemento

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Processos Exclusão Mútua Mecanismos para se Obter Exclusão MútuaM Mecanismos de Hardware: Inibição de Interrupções Instrução TSL (Test and Set Lock) Mecanismos de Software: Com Espera

Leia mais

Sincronização e comunicação entre entidades de processamento. Mutex Volnys Bernal 1. Tópicos. Exclusão Mútua (mutex) Exclusão Mútua (Mutex)

Sincronização e comunicação entre entidades de processamento. Mutex Volnys Bernal 1. Tópicos. Exclusão Mútua (mutex) Exclusão Mútua (Mutex) 2004-2013 Volnys Bernal 1 2004-2013 Volnys Bernal 2 Tópicos Exclusão Mútua (mutex) Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Exclusão Mútua () Objetivo, utilidade, requisitos

Leia mais

Sistemas Operacionais. Condição de corrida e Região crítica

Sistemas Operacionais. Condição de corrida e Região crítica Sistemas Operacionais Condição de corrida e Região crítica Região Crítica Parte do código que acessa a área compartilhada Condição em que dois processos lêem e escrevem um dado compartilhado e o resultado

Leia mais

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada...

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada... LabSO Gerência de Processos Retrospectiva da aula passada... AULA 4 Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Na aula passada... Processos Estados do processo

Leia mais

Exclusão Mútua (mutex)

Exclusão Mútua (mutex) 2004-2017 Volnys Bernal 1 Exclusão Mútua (mutex) Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2004-2017 Volnys Bernal 2 Tópicos Exclusão Mútua (Mutex)

Leia mais

Sistemas Operacionais. Comunicação entre processos

Sistemas Operacionais. Comunicação entre processos Sistemas Operacionais Comunicação entre processos Comunicação entre Processos Os SO s hoje são multi-tarefa Alguns processos precisam cooperar para cumprir seus objetivos Sugestões de implementação? Exemplos

Leia mais

Sistemas Operacionais Aula 6

Sistemas Operacionais Aula 6 Sistemas Operacionais Aula 6 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

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

Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação

Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação SISTEMAS OPERACIONAIS Aulas 6 Regiane Kawasaki kawasaki@ufpa.br Slides adaptados da Profa. Sarita Mazzini Bruschi

Leia mais

Concorrência. Condições de Corrida. 5a. Tentativa. Dificuldades: Sincronização de Processos (2) Aula 11 Profa. Patrícia Dockhorn Costa

Concorrência. Condições de Corrida. 5a. Tentativa. Dificuldades: Sincronização de Processos (2) Aula 11 Profa. Patrícia Dockhorn Costa Concorrência Dificuldades: Sincronização de Processos (2) Aula 11 Profa. Patrícia Dockhorn Costa Compartilhamento de recursos globais. Gerência de alocação de recursos. Localização de erros de programação

Leia mais

Escalonamento. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 28

Escalonamento. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 28 Escalonamento Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Abril, 2016 1 / 28 Sumário 1 Multiprogramação 2 Escalonamento 3 Concorrência 2 / 28 Multiprogramação

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

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

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

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

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 5: Exclusão Mútua Diego Passos Última Aula Programação Concorrente Programas compostos por mais de um processo ou thread. Pode trazer benefícios: Simplificar o

Leia mais

Comunicação entre Processos

Comunicação entre Processos Programação Paralela e Distribuída Ordenação e Sincronização Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com http://sites.google.com/site/marceloiury/ Comunicação entre Processos Processos

Leia mais

Sincronização e Comunicação

Sincronização e Comunicação Sincronização e Comunicação Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 28 Sumário 1 Concorrência 2 Sistemas Multiprogramáveis Troca de mensagens

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

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I - 1 0 SEM/12 PROVA I Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos Aluno: G A B A R I T O Escore: Responda às perguntas de forma

Leia mais

Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação

Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação SISTEMAS OPERACIONAIS Aula 7 Regiane Kawasaki kawasaki@ufpa.br Slides adaptados da Profa. Sarita Mazzini Bruschi

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

Sincronização de Processos (2)

Sincronização de Processos (2) Sincronização de Processos (2) Tipos de Soluções (cont.) Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software com busy wait Variável de bloqueio Alternância

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

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 8ª Aula Comunicação e Sincronismo de Processos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana

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

Revisão Ultima aula [1/2]

Revisão Ultima aula [1/2] SOP - TADS Comunicação Interprocessos IPC Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula

Leia mais

Sincronização de Processos (2)

Sincronização de Processos (2) Sincronização de Processos (2) Tipos de Soluções (cont.) Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software com busy wait Variável de bloqueio Alternância

Leia mais

Programação Concorrente Locks

Programação Concorrente Locks Programação Concorrente Prof. Eduardo Alchieri Variáveis do tipo trava (lock) Lock: É um mecanismo de sincronização de processos/threads, em que processos/threads devem ser programados de modo que seus

Leia mais

ENADE 2011 SISTEMAS OPERACIONAIS

ENADE 2011 SISTEMAS OPERACIONAIS ENADE 2011 SISTEMAS OPERACIONAIS SOs: conteúdos comuns Gerência de processos/processador Comunicação Concorrência e Sinc. de Processos Gerenciamento de Memória Alocação de Recursos e Deadlocks Sistemas

Leia mais

Sistemas Operacionais: Sincronização entre processos

Sistemas Operacionais: Sincronização entre processos Sistemas Operacionais: Sincronização entre processos Sincronização Programa concorrente Executado por diversos processos Acesso concorrente a dados Paralelismo real x Paralelismo aparente Multiprocessadores:

Leia mais

Sistemas Operacionais Concorrência. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais Concorrência. Carlos Ferraz Jorge Cavalcanti Fonsêca Sistemas Operacionais Concorrência Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) POSIX Threads... ... POSIX Threads (2) Exercício } Executando n vezes e verificando a ordem

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

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

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

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

Sincronização e Comunicação entre Processos. Adão de Melo Neto

Sincronização e Comunicação entre Processos. Adão de Melo Neto Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.

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

Introdução Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Exclusão Mútua Sincronização

Introdução Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Exclusão Mútua Sincronização Sincronização e Comunicação entre Processos Introdução Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Exclusão Mútua Sincronização Condicional

Leia mais

Comunicação entre processos

Comunicação entre processos Universidade Federal do Acre Centro de Ciências Exatas e Tecnológicas Bacharelado em Sistemas de Informação Comunicação entre processos Macilon Araújo Costa Neto macilon@ufac.br Capítulo 2 do livro do

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. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos Aula 2 Gerência de Processos Gerência de Processos O que são Processos e Threads? Porque são necessários? Como são implementados? Como são controlados? Escalonamento Referências: Capítulo 4: 4.1 a 4.5

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

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Sincronização de processos Aula 07 Em sistemas multiprogramados há interação entre processos para comunicação, que pode ser feita via compartilhamento de memória/arquivos

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

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 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

Escalonamento. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 42

Escalonamento. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 42 Escalonamento Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Abril, 2017 1 / 42 Sumário 1 Multiprogramação 2 Escalonamento 3 Concorrência Memória compartilhada

Leia mais

Sincronização e Comunicação entre Processos. Sincronização e Comunicação Volnys Bernal 1. Agenda

Sincronização e Comunicação entre Processos. Sincronização e Comunicação Volnys Bernal 1. Agenda entre Processos 004-006 Volnys Bernal 004-006 Volnys Bernal Agenda entre Processos Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Região Crítica Classificação dos mecanismos de sincronização

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Sincronização de processos Aula 08 Em sistemas multiprogramados há interação entre processos para comunicação, que pode ser feita via compartilhamento de memória/arquivos

Leia mais

Retrospectiva da aula passada... Escalonamento. Na aula passada... Comunicação entre processos (-- O jantar dos filósofos --)

Retrospectiva da aula passada... Escalonamento. Na aula passada... Comunicação entre processos (-- O jantar dos filósofos --) Escalonamento Retrospectiva da aula passada... UL Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Race condition Região rítica Exclusão Mútua Na aula passada... Problemas

Leia mais

Sistemas Operacionais II

Sistemas Operacionais II O problema da seção crítica... Instituto de Informátic ca - UFRGS Sistemas Operacionais II Exclusão mútua (implementação) Aula 04 Seção crítica Porção de código que não pode ser executado por dois ou mais

Leia mais

Aula 6: Comunicação entre processos. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Aula 6: Comunicação entre processos. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela Aula 6: Comunicação entre processos Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela (-- motivação --) Processos em execução no sistema operacional podem ser: Independentes:

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Processos - Parte 2 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 2) 1 / 33 (Processos - Parte 2) 2 / 33 (Processos - Parte 2) 3 / 33 (Processos - Parte 2) 4 / 33 (Processos

Leia mais

Sincronização e Comunicação de/entre Processos. Na Aula Anterior... Nesta Aula. Comunicação entre Processos. Pipes 07/09/2016

Sincronização e Comunicação de/entre Processos. Na Aula Anterior... Nesta Aula. Comunicação entre Processos. Pipes 07/09/2016 GSI018 Sistemas Operacionais 07/09/2016 Sincronização e Comunicação de/entre Processos Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior...

Leia mais

Comunicação entre processos (2)

Comunicação entre processos (2) Comunicação entre processos (2) Pedro Cruz EEL770 Sistemas Operacionais Lembretes Proposta de trabalho Enviar para cruz@gta.ufrj.br Prazo: dia 02 de abril 2 Aula passada Comunicação entre processos é útil

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

1B Conceitos Básicos: Indique Verdade/Falso

1B Conceitos Básicos: Indique Verdade/Falso INE5645 - Programação Paralela e Distribuída - Prova 1B 24/04/2017 Nome 1B Conceitos Básicos: Indique Verdade/Falso a) (Verdade/Falso) Threads distintas em um processo não são tão independentes quanto

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

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 10: Escalonadores Preemptivos Diego Passos Última Aula Escalonadores Não-Preemptivos Escalonadores não-preemptivos agem: Quando um processo requisita E/S. Quando

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução 2 a edição Revisão: Fev/2003 Sistemas Operacionais Programação concorrente Capítulo 3 Programa executado por apenas um processo é dito de programa seqüêncial Existe apenas um fluxo de controle

Leia mais

Estrutura deste arquivo.. Comunicação Interprocesso Parte 1 de 2 - Cap. 2. Introdução 1 CONDIÇÕES DE CORRIDA

Estrutura deste arquivo.. Comunicação Interprocesso Parte 1 de 2 - Cap. 2. Introdução 1 CONDIÇÕES DE CORRIDA Estrutura deste arquivo.. Comunicação Interprocesso Parte 1 de 2 - Cap. 2 Prof. Alexandre Beletti Ferreira 1. Condições de Corrida 2. Seções Críticas 3. Exclusão Mútua com Espera Ativa 1. Desativando Interrupções

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Processos - Parte 1 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 1) 1 / 46 Um aspecto importante no estudo sobre sistemas operacionais é o gerenciamento de processos.

Leia mais

Tipos de Soluções (cont.)

Tipos de Soluções (cont.) Sincronização de Processos (2) Tipos de Soluções (cont.) Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software com busy wait Variável de bloqueio Alternância

Leia mais

Semáforos. Gerenciamento de Recursos I

Semáforos. Gerenciamento de Recursos I Semáforos O problema dos leitores/escritores, apresentado a seguir, consiste em sincronizar processos que consultam/atualizam dados em uma base comum. Pode haver mais de um leitor lendo ao mesmo tempo;

Leia mais

Sincronização de Processos (1) Mecanismos de busy wait

Sincronização de Processos (1) Mecanismos de busy wait Sincronização de Processos (1) Mecanismos de busy wait Condições de Corrida Exemplo: Fila de impressão. Qualquer processo que queira imprimir precisa colocar o seu documento na fila de impressão (compartilhada).

Leia mais

Unidade 3. Controle de Concorrência. Primitivas de Programação Concorrente Clássica

Unidade 3. Controle de Concorrência. Primitivas de Programação Concorrente Clássica Unidade 3 Controle de Concorrência Primitivas de Programação Concorrente Clássica Programação Concorrente A abstração de programação concorrente é o estudo de sequênciasde execução intercaladas, de instruções

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. 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

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Fundamentos Paradigma do produtor-consumidor Sincronização de Processos Produtor while (count == BUFFER_SIZE) ; //no-op //adiciona

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

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Programação Concorrente Sincronização entre processos Edson Moreno edsonmoreno@pucrsbr http://wwwinfpucrsbr/~emoreno Sumário Conceituação Princípios de concorrência Região crítica

Leia mais

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

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período Redes de Computadores INF201 - Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 7. SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS: 7.1 Introdução; 7.2 Aplicações Concorrentes;

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

Sistemas Operacionais

Sistemas Operacionais Introdução Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Introdução à Programação Concorrente Aula 05 Em sistemas multiprogramados há interação entre processos para comunicação, que

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

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 12: Revisão para a P1 Diego Passos Capítulo 1 Sistemas Operacionais São programas. Duas funções: Gerenciar os recursos do hardware. Dividir entre os vários processos.

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade II Concorrência

UFRJ IM - DCC. Sistemas Operacionais I. Unidade II Concorrência UFRJ IM - DCC Sistemas Operacionais I Unidade II 19/2/2007 Prof Antonio Carlos Gay Thomé Prof Aux Simone Markenson Pech 1 Organização da Unidade Processos Threads Princípios da ncia Exclusão o Mútua M

Leia mais

Sistemas Distribuídos Aula 5

Sistemas Distribuídos Aula 5 Sistemas Distribuídos Aula 5 Aula passada Sincronização Race condition Região crítica Locks Algoritmo de Peterson Aula de hoje Atomicidade test-and-set Locks revisitado Semáforos Dois problemas Atomicidade

Leia mais

Capítulo 2 Processos e Threads

Capítulo 2 Processos e Threads Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento 1 Processos O Modelo de Processo Multiprogramação de quatro programas

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

( ) ( ) Auto Avaliação F ( ) M ( ) D ( ) Seqüência: Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Exercícios - Dia 20/04/2011

( ) ( ) Auto Avaliação F ( ) M ( ) D ( ) Seqüência: Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Exercícios - Dia 20/04/2011 Aluno(a) : A avaliação terá a duração de uma hora, portanto, seja objetivo nas respostas e procure não perder tempo. A prova deverá ser realizada sem rasuras e com caneta azul ou preta. Eventuais questões

Leia mais

INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5)

INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5) INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5) 1.1 (Verdade/Falso) Itens próprios de processos são: Espaço de endereçamento,

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

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 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

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.

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

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

Sincronização e Comunicação entre Processos

Sincronização e Comunicação entre Processos Sincronização e Comunicação entre Processos Monitores/Semáforos Semáforos Mecanismos de sincronização nãoestruturados; Exige do desenvolvedor bastante cuidado, pois qualquer engano pode levar a problemas.

Leia mais

Programação Concorrente e Paralela. Noemi Rodriguez

Programação Concorrente e Paralela. Noemi Rodriguez 2016 o que é programação concorrente e paralela? programação concorrente: composição de linhas de atividades independentes programação paralela: execução simultânea de linhas de atividades Go blog (Rob

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Processos Semáforos Semáforos Mecanismo de sincronização que não requer espera ocupada Dijkstra propôs usar uma variável inteira para contar o n o de WAKEUPs para uso futuro Menos

Leia mais

Sincronização e comunicação entre processos

Sincronização e comunicação entre processos Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Sincronização e comunicação entre processos Em um sistema multiprogramável com

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

INE5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA - Prova 1 12/05/2014 Aluno: Bosco

INE5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA - Prova 1 12/05/2014 Aluno: Bosco INE5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA - Prova 1 12/05/2014 Aluno: Bosco 1. Um servidor acessa as variáveis i e j. O servidor oferece duas operações para seus clientes: read(i) retorna o valor de i

Leia mais

7 SINCRONIZAÇÃO DE PROCESSOS

7 SINCRONIZAÇÃO DE PROCESSOS 7 SINCRONIZAÇÃO DE PROCESSOS Quando se trabalha com processos cooperativos, eles podem afetar uns aos outros. Eles compartilham recursos, principalmente posições de memória e arquivos. O acesso a dados

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Semáforos Sincronização de Processos Um semáforo é uma estrutura de dados que consiste em um número inteiro e em uma fila Seu

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