Escalonamento de processos. Grupo 7. Levi Arão Xavier Marcel Eduardo Del Dottore

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

Download "Escalonamento de processos. Grupo 7. Levi Arão Xavier Marcel Eduardo Del Dottore"

Transcrição

1 Escalonamento de processos Grupo 7 Levi Arão Xavier Marcel Eduardo Del Dottore Orientador: Prof. Dr. Norian Marranghello São José do Rio Preto, 02 de Maio de 2002

2 Sumário 1 Introdução 2 Modelos de Escalonamento 2.1 Processos Interativos De Precedência De Comunicação 2.2 Processos Disjuntos 3 Divisão dos algoritmos de escalonamento 4 Escalonamento Estático 4.1 Modelo de precedência 4.2 Modelo de Comunicação 5 Sistemas Distribuídos 6 Escalonamento Dinâmico 6.1 Escalonamento Ótimo 6.2 Cenários de Aplicações Serviço Remoto Execução Remota Migração de Processos 6.3 Migração de Processos Baseada em informações locais Baseada em informações globais 6.4 Migração Iniciada pelo receptor Iniciada pelo transmissor 6.5 Políticas De Transferência De Seleção De Localização De Informação 6.6 Exemplos V-System Sprite

3 1 Introdução Para que um processo possa ser executado em um sistema qualquer, deve-se determinar quando ele poderá usar a CPU e quais recursos estarão disponíveis. Se o sistema for distribuído, além disso, deve-se definir em qual processador ele deverá ser executado. O objetivo do escalonamento é resolver estas questões melhorando, na medida do possível, as métricas de desempenho global do sistema, tais como tempo de execução dos processos e a taxa de uso dos processadores. Contudo, estas melhorias não devem comprometer muito os aspectos de transparência e desempenho e de posição. 2 Modelos de Escalonamento As estratégias de escalonamento seguem modelos que podem ser classificados segundo o grau de interação entre os processos no sistema, os quais podem necessitar de troca significativa de informações durante sua execução ou podem rodar de forma essencialmente desconexa. Portanto, tem-se dois modelos básicos, quais sejam: de processos interativos e de processos disjuntos. 2.1 Processos Interativos Os modelos de processos interativos podem ser ainda subdivididos em modelos de precedência e de comunicação De Precedência: Têm por objetivo principal minimizar o tempo total para a execução das tarefas, incluindo-se o tempo necessário ao cômputo dos procedimentos internos aos diversos processos cooperantes e o tempo devido à comunicação entre eles. Ainda nos modelos de precedência os processos concorrentes são gerados por construtores de linguagens e por via de conseqüência resultam em processos cujo interação se dá na forma síncrona De Comunicação: Têm como meta otimizar os custos devido à comunicação e aos cômputos., nos modelos de comunicação os processos que coexistem se comunicam de forma assíncrona. 2.2 Processos Disjuntos Já no modelo de processos disjuntos, a interação se dá de forma implícita e os processos podem ser executados de forma independente. No caso deste modelo, o objetivo é maximizar o uso dos processadores, minimizando o tempo de resposta (tempo de serviço + tempo na fila de espera) dos processos.

4 3 Divisão dos algoritmos de escalonamento Para atingir seus objetivos, os modelos de escalonamento podem incluir estratégias migratórias ou não. Por migração, neste escopo, refere-se `a possibilidade de um processo mudar de máquina durante sua execução. A migração de processos busca reduzir o tempo gasto pelos processos na fila de espera por processamento. O custo mais importante para se conseguir isto é uma sobrecarga no sistema de comunicação. A migração facilita o compartilhamento de carga entre os processadores. Distribuir mais eqüitativamente a carga, respeitando as oscilações na capacidade de processamento do sistema, pode melhorar seu desempenho. Todavia, se os processos não forem disjuntos sua migração pode resultar na colocação de processos fortemente conexos, isto é, com grande necessidade de comunicação em processadores diferentes, aumentando os requisitos do sub-sistema de comunicação e, consequentemente, comprometendo o ganho obtido com o compartilhamento da carga de processamento. Pode-se dividir os algoritmos de escalonamento em dois grandes grupos: os de distribuição estática e os de distribuição dinâmica. Os estáticos tratam do problema de compartilhamento de carga, isto é, procuram distribuir eqüitativamente a carga de processamento antes mesmo do início da execução dos processos. Os dinâmicos tratam do problema de balanceamento de carga, ou seja, procuram ajustar as oscilações na carga de processamento durante a execução dos processos, para que todos os processadores tenham suas potencialidades exploradas ao máximo possível. 4 Escalonamento Estático Para fazer a partilha da carga de processamento os algoritmos de escalonamento estáticos procedem o mapeamento de processos em processadores antes da execução dos processos. Por princípio estes algoritmos consideram os processos não preemptíveis, ou seja, uma vez iniciado o processo só deixa o processador após concluída sua execução. Para obter um bom resultado estes algoritmos devem dispor de dados sobre o comportamento dos processos, tais como: tempo estimado de execução, relações de precedência e padrões de comunicação. As principais desvantagens são que as decisões sobre o escalonamento são centralizadas e imutáveis. Existem dois tipos de algoritmos de distribuição estática: Modelo de precedência e o modelo de comunicação. 4.1 Modelo de precedência Neste modelo são usados dois grafos com informações sobre os processos e os processadores. O grafo de informações sobre os processadores indica o custo da comunicação entre processos alocados a um mesmo processador, os nós representam os

5 processadores do sistema e os números associados às arestas representam o custo de comunicação entre os processadores. O grafo de informação sobre os processos apresenta, em seus nós, os processos e os respectivos tempos estimados para sua execução. As arestas deste grafo são dirigidas, representando as precedências entre os processos. Isto significa que se um processo A estiver na origem de uma aresta e um processo B em seu destino, o processo B só poderá ter sua execução iniciada após receber os resultados do processo A, pois aquele depende destes. Além desta relação de precedência, às arestas são associados números indicativos da quantidade de mensagens, com resultados, a serem transferidos de um processo a outro. Como primeira aproximação pode-se usar a estratégia de escalonamento por lista, isto é, tomando por base o grafo de precedências e sem considerar o custo de comunicação, procura-se alocar os processos de modo que nenhum processador fique ocioso se houver alguma tarefa que ele possa processar. Todavia, para que se tenha um escalonamento realista é necessário levar em consideração os tempos de comunicação entre os processos. Neste caso pode-se usar o escalonamento por lista estendido. Quando não for possível alocar de forma eficiente todos os processos em caminhos críticos a um mesmo processador deve-se, ao menos, tentar alocá-los a processadores com menor custo de comunicação. Procurando otimizar este aspecto utiliza-se o algoritmo ETF ( Earliest Task First ) que computa o tempo de comunicação durante o escalonamento, alocando inicialmente a tarefa escalonável primeiro. 4.2 Modelo de Comunicação Freqüentemente, processos são independentes e não necessitam obedecer relações de precedência, precisam apenas trocar informações, isto é, se comunicar. Neste caso o algoritmo pode levar em conta a minimização de uma função de custo cujos parâmetros são o custo de execução de um processo em um dado processador, representado por e j (p i ), e o custo de comunicação entre dois processadores, representado por c h,k (p h, p k ), considerando-se nulo o custo de comunicação entre dois processos que estiverem sendo executados no mesmo processador, ou seja, c i,i (p i, p i ) = 0. A função a ser minimizada é: Custo (G,P) = e j (p i ) + c h,k (p h, p k ), j E V(G) h,k E A(G) onde G(V,A) é um grafo em que os vértices (V) representam os processadores do sistema e às arestas (A) estão associados pesos referentes ao custo de comunicação entre os processos em seus extremos. O custo de computação de cada processo em um determinado processador é mostrado em forma de uma tabela, em unidades de tempo genéricas. Cada processo tem um determinado tempo em um determinado processador, fazendo assim uma tabela N x M, onde N é o número de processadores e M é o número de processos. Quando um processo não puder ser executado em um determinado processador, por exemplo, devido à falta de recursos no processador ele recebera um tempo de execução infinito neste determinado processador.

6 Para casos em que se tem dois processadores, há uma solução obtenível em tempo polinomial. Aumentando-se o grafo de comunicação com os nós referentes aos processadores e incluindo arestas com os custos respectivos, obtém-se um grafo de trabalho. Neste grafo, uma aresta entre um processador e um processo tem o peso correspondente à execução do processo no outro processador. Por exemplo, se o processo 4 leva 3 unidades de tempo para ser executado no processador B. Então à aresta entre o nó correspondente ao processo 4 e o nó correspondente ao processador A é associado o peso 3. Esta inversão se faz necessária, pois, uma vez obtido este grafo de trabalho o objetivo é achar um corte no grafo, que minimize a função de custo. O custo do corte é obtido somando-se os pesos das arestas interceptadas pela linha de corte. Este tempo é obtido alocando-se os processos, cuja aresta entre ele (processo) e um processador foi interceptada, ao outro processador, e os outros processos ao primeiro processador. Ressalva-se que conforme os números de processos e de processadores crescem, o problema torna-se NP-Completo e sua solução computacional torna-se inviável. 5 Sistemas Distribuídos Sistemas Distribuídos representam, uma alternativa interessante para aumentar o desempenho de um sistema sem os enormes custos das máquinas paralelas. Transformar uma rede comum, com máquinas de hardware modesto em um ambiente Distribuído, capaz de rodar programas paralelos de forma eficiente, tornou-se bastante comum nos dias de hoje. Porém em alguns pontos sistemas distribuídos diferem de máquinas paralelas verdadeiras, sendo um destes pontos o fato da Heterogeneidade já que em sistemas distribuídos as máquinas raramente possuem a mesma capacidade de processamento, e devido a essa diferença somos obrigados a buscar alternativas para realizar a melhor divisão possível de tarefas entre as máquinas. 6 Escalonamento Dinâmico O principal problema do escalonamento estático é a necessidade do conhecimento das informações sobre os processos antes do procedimento ser aplicado. O escalonamento dinâmico por sua vez ataca os problemas de balanceamento e de compartilhamento de carga durante a execução dos processos, considerando que eles podem migrar de uma máquina a outra. 6.1 Escalonamento Ótimo Para o correto escalonamento dinâmico o ponto inicial é conhecer detalhadamente cada um dos processadores participantes. Conhecer as características físicas (velocidade, memória, tipo) é fácil e não oferece grandes problemas. A parte mais delicada é saber o grau de ociosidade de um processador. Saber "quanto" de sua capacidade de processamento está sendo usada. Uma maneira bem simples e bastante usada de medir a ociosidade de um sistema é simplesmente usar o tempo médio de espera na fila de execução como medida. Esta média

7 é obtida a partir dos tempos anteriores que as tarefas levaram para serem executadas, desde de a sua entrada na fila até sua saída (execução completada). Esta medida pode ser um tanto injusta se as tarefas não tem o mesmo tempo de execução. Uma outra forma seria gerar um índice de utilização da CPU. Para isso, é necessária a utilização de processos específicos para testar, de tempos em tempos, a CPU. Quando for analisada a utilização da CPU pra medida de ociosidade, precisaremos de pequenos processos rodando em background para fazer testes contínuos à CPU onde está, coletando informações úteis ao correto escalonamento, estes processos são chamados de espiões. Esta prática, no entanto, não é bem vista por alguns autores pois este processo, o espião, acaba sendo também um consumidor de CPU tornando sua atuação custosa. Para alguns casos pode acontecer que simplesmente dividindo-se as tarefas usando como fator apenas o tempo de espera na fila, é ainda mais produtivo que esperar que os espiões analisem cada máquina e forneçam as informações requeridas. Para melhor isso nós permitimos que os espiões sejam capazes de aumentar ou diminuir a freqüência destes testes, algoritmos que usam esta técnica são um caso especial de Escalonamento Dinâmico e são chamados de adaptativos. Um outro grave problema no Escalonamento em Sistemas Distribuídos é quanto ao Overhead de comunicação. Como estes sistemas são necessariamente com memória distribuída (fisicamente, mesmo que possa ser simulada), o custo na troca de informações entre as máquinas é muito grande. Se tivermos, por exemplo, um espião em cada máquina e este constantemente envie mensagens ao Escalonador ou a outras máquinas, podemos ter um excesso de comunicação e problemas de desempenho (as máquinas ficarão mais tempo se comunicando do que processando). O compartilhamento de carga reduzir a ociosidade dos processadores atribuindo processos àqueles com filas de espera menores, já o balanceamento de carga visa reduzir o tempo de resposta e atingir um certo grau de justiça no sistema através da equalização do tamanho das filas de espera. 6.2 Cenários de aplicações Há três possíveis cenários de aplicações: Serviço remoto: onde a mensagem é interpretada como a solicitação de um serviço conhecido em um local remoto, como em uma chamada a procedimentos remotos; Execução remota: onde a passagem contém um programa para ser executado em local remoto. Mantém a visão da máquina que solicitou a execução, usando a máquina remota só para aliviar a carga computacional. Não é preemptível; Migração de processos: onde a Mensagem representa um processo sendo transferido a um local remoto, para continuar sua execução. É um mecanismo preemptivo. 6.3 Transferência de processos

8 Os principais tipos de transferência de processos são: Baseada em informações locais: Uma política de transferência baseada em informações locais pode calcular periodicamente a carga da máquina em que o processo for criado. Quando esta carga estiver abaixo de um limiar pré-estabelecido, o processo é executado na máquina em que foi criado, caso contrário ele deverá encontrar outra máquina para rodar Baseada em informações globais: Uma política de transferência baseada em informações globais deve coletar informações sobre a carga nas outras máquinas do sistema e, em função destas informações, decidir em qual máquina o novo processo deve ser executado. 6.4 Migração Os processos de migração podem ser: Iniciada pelo receptor: Nos algoritmos do tipo iniciado pelo receptor sempre que a carga em um processador cair abaixo do limiar ele busca a carga em outros processadores. Para que este esquema funcione os processos devem ser preemptíveis, pois serão inicializados, primeiramente, nos processos em que forem criados. Neste caso os algoritmos serão mais estáveis quando a carga de processamento for alta, uma vez que serão poucas as máquinas em busca de processos, mas deve-se tomar cuidado para transferir processos somente quando os benefícios obtidos com a migração forem maiores que o custo com sua transferência. Além disso, os algoritmos de transferência iniciados pelo receptor podem gerar muita sobrecarga no sub-sistema de comunicação quando a carga de processamento no sistema distribuído for muito baixa Iniciada pelo transmissor: Ao iniciar um processo, nas transferências iniciadas pelo transmissor, incrementa-se o tamanho da sua fila de processos. Se ele estiver abaixo de um limiar pré-fixado coloca-se o processo na fila de espera para execução do processador transmissor. Caso o tamanho da fila seja maior que o limiar estabelecido, o transmissor testa possíveis receptores. Se encontrar algum processador cuja fila esteja menor que a sua, ele transfere o processo para o receptor, caso contrário ele mantém o processo na sua própria fila. O problema no caso de busca iniciada por transmissores é que quando a carga sobe muito todos os processadores se considerarão sobrecarregados e procurarão receptores para seus processos, o que sobrecarregará o sistema de comunicação, prejudicando o funcionamento do sistema, assim sendo quando a carga de processamento é relativamente baixa, a transferência iniciada pelo transmissor produz resultados mais eficientes. Um problema que se deve sempre levar em consideração independente do tipo de migração é o caso da estabilidade. O problema de estabilidade consiste no fato do tempo necessário aos algoritmos para atualizarem suas informações sobre os processadores não ser nulo. Dessa forma é possível que processos fiquem pulando entre dois processadores devido ao assincronismo nestas atualizações.

9 6.5 Políticas Podemos classificar um algoritmo de escalonamento de acordo com algumas políticas. A primeira seria determinar como já vimos qual máquina está apta a receber uma tarefa. Ou seja, qual máquina está trabalhando aquém de suas capacidades de processamento. Também podemos considerar, neste caso, as máquinas que estão sobrecarregadas, ou seja, estão com um processamento maior que sua capacidade. Nesta etapa (chamada de Política de Transferência) o escalonador define como receptor as máquinas que estão com pouca carga, ou seja, podem receber mais tarefas; e como transmissores aqueles que estão sobrecarregados. Dependendo do caso, uma troca de tarefas entre receptores e transmissores (do transmissor para o receptor) pode ser feita o que denota a segunda política: escolher, dentre tantas, a tarefa mais adequada a ser enviada a determinada máquina. A esta função é dado o nome de Política de seleção. Outra é achar, dentre todas as máquinas, aquela mais adequada a receber a carga, a qual recebe o nome de Política de localização. E finalmente definir os locais onde as informações sobre as máquinas são armazenadas e com que freqüência são atualizados (Política de Informação), segue a baixo uma análise mais detalhada sobre cada política: Política de transferência: No caso da política de transferência, normalmente define-se um número máximo de carga que a máquina suporta. Se a carga atual da máquina ultrapassar este limite, então temos um transmissor. Caso contrário, a máquina pode ser considerada como receptor. Um cuidado especial deve ser dado quanto a transferência de tarefas de um transmissor para um receptor. Imagine a seguinte situação: um transmissor (que tem sua carga maior que o limite) envia uma tarefa para um receptor (cuja carga é menor). Digamos que este receptor, que tinha sua carga menor que o limite, ao receber esta nova tarefa passa a ser um transmissor (com a carga maior que o limite). Sendo ele um transmissor, poderá procurar um receptor para esta carga que causou o problema. Esta troca de tarefas pode ser feita várias vezes e até mesmo de forma indefinida. Uma técnica que resolve isto é considerar como transmissor não apenas se sua carga for menor, mas também se continuará sendo menor ou igual depois de receber a tarefa Política de seleção: Logo que uma máquina precisa enviar uma tarefa que a está onerando, ou está apta a receber, a política de seleção decide qual será a tarefa escolhida. Neste ponto vemos também a diferença entre escalonamento Preemptivo e nãopreemptivo. No primeiro, uma tarefa que já está em execução pode ser escolhida para ser transferida a outra máquina. Este método pode ser pouco eficiente, dados os custos necessários à sua transferência. Isso porque tem-se que transferir todo o contexto da tarefa (dados em memória, etc). Geralmente opta-se por tarefas recentemente iniciadas, pois são as que devem possuir menores custos de transferências. Ou então, as tarefas menores. Já o não-preemptivo transfere somente tarefas que ainda não executaram e, portanto, não necessitam de transferência de contexto. No caso de máquinas sobrecarregadas, o mais comum é escolher a tarefa que causou a sobrecarga.

10 6.5.3 Política de localização: Como mencionado, consiste no método usado para escolher a máquina que receberá a tarefa. O método mais utilizado é o randômico, ou seja, uma máquina escolhe aleatoriamente outra para receber ou enviar uma tarefa. O problema desta técnica é a chance de se escolher uma máquina que esteja na mesma situação que o atual. Uma solução é testar se esta máquina possui as características necessárias para fazer-se a troca de tarefas. Alguns selecionam várias máquinas e fazem uma votação entre estes para garantir que a melhor máquina foi escolhida, mas isto gera um excesso de comunicação Política de informação: Diz respeito a troca de informações sobre seu estado entre as várias máquinas. Podemos ter um armazenamento local, isto é, uma máquina específica recebe todas as mensagens de estado das outras. Isso, porém, criará um "gargalo" nesta máquina. Uma outra forma, seria cada máquina enviar um broadcast para todas as outras informando sua capacidade de processamento, o mais comum, no entanto, é cada máquina ter apenas as informações sobre si própria e estas informações serem requisitadas por outra máquina quando esta desejar fazer uma troca de tarefas. Isto é chamado de demanda, onde cada máquina só se "interessa" pelo estado das outras quando se torna ou um transmissor ou um receptor. 6.6 Exemplos V-System: Neste sistema, cada máquina envia um Broadcast com seu estado sempre que este muda consideravelmente. Estes dados são, tipicamente, a utilização da CPU e da memória, além dos dados já conhecidos (que é enviado apenas uma vez) do tipo do processador, e características físicas. Um processo daemon em cada máquina fica responsável em atualizar estas informações.todas as máquinas, então, guardam informações sobre todas as outras. Uma alternativa usada para diminuir o número de informações é cada máquina guardar os estados apenas das máquinas mais livres. Quando uma tarefa precisa ser enviada a outra máquina, esta é escolhida randomicamente. A tarefa escolhida para transferir quando uma máquina estiver sobrecarregada é aquela mais recente, ou seja, a que foi designada a máquina por último, e se a máquina emissora for uma das de menores cargas (situação no qual todas estão sobrecarregadas) a tarefa permanece local. O problema deste algoritmo é o alto custo de um Broadcast Sprite: Este sistema difere drasticamente do anterior. Neste há um Escalonador Central, responsável por todo o escalonamento. Cada máquina envia mensagem para o escalonador informando se está apto a receber tarefas (se é um receptor).

Escalonamento em Sistemas Distribuídos

Escalonamento em Sistemas Distribuídos Escalonamento em Sistemas Distribuídos Cláudia Fernanda O. K. Tavares Roteiro Introdução Informações do nodos Overhead Classificação de Algoritmos Algoritmos de Escalonamento Referências Introdução Heterogeneidade

Leia mais

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global GERÊNCIA DE RECURSOS Escalonamento Global Além de prover comunicação, recursos de acesso a rede, memória compartilhada, sistemas de arquivos distribuídos, um sistema operacional distribuído tem que poder

Leia mais

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global GERÊNCIA DE RECURSOS Escalonamento Global Além de prover comunicação, recursos de acesso a rede, memória compartilhada, sistemas de arquivos distribuídos, um sistema operacional distribuído tem que poder

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

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

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

23/05/12. Consulta distribuída. Consulta distribuída. Objetivos do processamento de consultas distribuídas

23/05/12. Consulta distribuída. Consulta distribuída. Objetivos do processamento de consultas distribuídas Processamento de Consultas em Bancos de Dados Distribuídos Visão geral do processamento de consultas IN1128/IF694 Bancos de Dados Distribuídos e Móveis Ana Carolina Salgado acs@cin.ufpe.br Bernadette Farias

Leia mais

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Desenvolvimento de Aplicações Paralelas (gec.di.uminho.pt/lesi/ap10203/aula06aplicaçõespar.pdf) João Luís Ferreira Sobral Departamento

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

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

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

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

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

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

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

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

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

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 9: Escalonadores Não- Preemptivos Diego Passos Última Aula Escalonamento O que é escalonamento. Objetivos dos escalonadores. Vazão. Eficiência. Tempo de resposta...

Leia mais

4 Políticas de Comunicação

4 Políticas de Comunicação 4 Políticas de Comunicação Uma analogia entre as técnicas de trabalho em grupo [Minicucci, 1992] e as políticas de comunicação foi realizada para tentar oferecer o suporte tecnológico pretendido no MC2

Leia mais

Escalonamento usando múltiplos períodos

Escalonamento usando múltiplos períodos 3 Escalonamento usando múltiplos períodos O escalonamento usando múltiplos períodos consiste em dividir a carga total em fragmentos de carga e enviá-las a cada processador mais de uma vez, segundo períodos.

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

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade Memória Cache Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade Temporal Um item referenciado tende a

Leia mais

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto Sistemas Operacionais Abertos Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Gerência de Processos Componentes do Sistema Um programa não faz nada a não ser que suas instruções sejam executadas

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

Sistemas Operacionais. Processos e Threads

Sistemas Operacionais. Processos e Threads Sistemas Operacionais Processos e Threads Sumário 1. Introdução 2. Estrutura do Processo 1. Contexto de Hardware 2. Contexto de Software 3. Espaço de Endereçamento 3. Estados 1. Mudanças de Estado 2. Criação

Leia mais

Sistemas Opera r cionais Gerência de Memória

Sistemas Opera r cionais Gerência de Memória Sistemas Operacionais Gerência de Memória Gerência de Memória Idealmente, o que todo programador deseja é dispor de uma memória que seja grande rápida não volátil Hierarquia de memórias pequena quantidade

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

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 Conceitos Básicos Escalonamento de CPU O objetivo da multiprogramação é ter sempre algum processo em execução para maximizar a

Leia mais

Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru

Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru 1 Introdução Atualmente a demanda pela construção de novos sistemas de software tem aumentado. Junto com esse aumento também cresce a complexidade das soluções que estão sendo desenvolvidas, o que torna

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

Redes de Computadores. Prof. MSc André Y. Kusumoto

Redes de Computadores. Prof. MSc André Y. Kusumoto Redes de Computadores Prof. MSc André Y. Kusumoto andrekusumoto.unip@gmail.com Nível de Rede Comunicação entre dispositivos de uma mesma rede ocorrem de forma direta. Quando a origem e o destino estão

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

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100

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

Memória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP

Memória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP Introdução Memória Compartilhada e Distribuída _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP Um sistema de memória compartilhada faz a memória física global de um sistema igualmente

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

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 8 Suporte do sistema operacional slide 1 Objetivos e funções Conveniência: Tornar o computador mais fácil de usar. Eficiência:

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 19: Memória Virtual: Introdução Diego Passos Última Aula Paginação Método de gerenciamento de memória mais usado hoje. Espaço de endereçamento de um processo é

Leia mais

GERENCIAMENTO DE TAREFAS. Prof. Me. Hélio Esperidião

GERENCIAMENTO DE TAREFAS. Prof. Me. Hélio Esperidião GERENCIAMENTO DE TAREFAS Prof. Me. Hélio Esperidião O CONCEITO DE TAREFA Uma tarefa pode ser definida como a execução de um fluxo sequencial de instruções para atender uma finalidade específica. Realizar

Leia mais

Uma Proposta para Migração de Páginas Linux

Uma Proposta para Migração de Páginas Linux Uma Proposta para Migração de Páginas Linux 1 - Introdução 2 - Gerencia de Memória em Sistemas Operacionais com Suporte a NUMA 2.1 O Gerente de Memória do Linux 2.2 Estratégias para Migração de Páginas

Leia mais

Visualização Distribuída utilizando Agrupamentos de PCs 10

Visualização Distribuída utilizando Agrupamentos de PCs 10 1 Introdução Sistemas de visualização vêm sendo utilizados em diversas áreas da indústria e do campo científico. Dentre essas áreas, CAD (Computer Aided Design), visualização científica e realidade virtual

Leia mais

Sistemas Operacionais

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

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java Aula 12 - Threads e Concorrência em Java Conteúdo Programático desta aula Aplicar os conceitos e threads, processos concorrentes e sincronização em pequenos programas. Aplicar e verificar os conceitos

Leia mais

Comunicação entre Processos

Comunicação entre Processos Comunicação entre Processos Prof. Dr. André Carvalho andre@icomp.ufam.edu.br Agenda n Comunicação entre Processos n Características dos mecanismos de comunicação Comunicação direta ou indireta, sincronismos,

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

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

3 Aprendizado por reforço

3 Aprendizado por reforço 3 Aprendizado por reforço Aprendizado por reforço é um ramo estudado em estatística, psicologia, neurociência e ciência da computação. Atraiu o interesse de pesquisadores ligados a aprendizado de máquina

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

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Arquitetura de Von Newmann Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Vídeos Vídeo aula RNP http://edad.rnp.br/rioflashclient.php?xmlfile=/ufjf/licenciatura_com

Leia mais

O que é um sistema distribuído?

O que é um sistema distribuído? Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores

Leia mais

Inversão de prioridades

Inversão de prioridades Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 46 Sumário 1 Dependência 2 Dependência Deadlocks 3 Classicação dos recursos 2 / 46 1 Dependência

Leia mais

Teoria da Computação. Complexidade computacional classes de problemas

Teoria da Computação. Complexidade computacional classes de problemas Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos

Leia mais

Redes de Computadores. Prof. André Y. Kusumoto

Redes de Computadores. Prof. André Y. Kusumoto Redes de Computadores Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com 2/16 Nível de Rede Comunicação entre dispositivos de uma mesma rede ocorrem de forma direta. Quando a origem e o destino estã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

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

Organização de Computadores Sistema de Interconexão. Professor: Francisco Ary

Organização de Computadores Sistema de Interconexão. Professor: Francisco Ary Organização de Computadores Sistema de Interconexão Professor: Francisco Ary Como já sabemos, um computador é constituído basicamente por: processador; memória; e dispositivo de entrada e de saída. O comportamento

Leia mais

Introdução aos Sistemas Distribuídos

Introdução aos Sistemas Distribuídos Introdução aos Sistemas Distribuídos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Ementa; Bibliografia Calendário Site Introdução Características http://sites.google.com/sitew/leonardobcampos

Leia mais

Computação Paralela: Algoritmos e Aplicações

Computação Paralela: Algoritmos e Aplicações Computação Paralela: Algoritmos e Aplicações Prof. Amit Bhaya, Programa de Engenharia Elétrica, COPPE/UFRJ 06/05/2003 -- 09/05/2003 http://www.nacad.ufrj.br/~amit/ NACAD = Núcleo de Computação de Alto

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

Aula 10: Tratabilidade

Aula 10: Tratabilidade Teoria da Computação DAINF-UTFPR Aula 10: Tratabilidade Prof. Ricardo Dutra da Silva Na aula anterior discutimos problemas que podem e que não podem ser computados. Nesta aula vamos considerar apenas problemas

Leia mais

Aula 04. Capítulo 3 Gerência de Processos. 3.1 Conceito de Processo. 3.2 Escalonamento de Processos. 3.3 Opera ões sobre Processos

Aula 04. Capítulo 3 Gerência de Processos. 3.1 Conceito de Processo. 3.2 Escalonamento de Processos. 3.3 Opera ões sobre Processos Aula 04 Capítulo 3 Gerência de Processos 3.1 Conceito de Processo 3.2 Escalonamento de Processos 3.3 Opera ões sobre Processos 3.4 Comunica ão entre Processos 3.1 Conceito de Processo Um sistema operacional

Leia mais

Sistemas Operacionais. Gerência de Memória

Sistemas Operacionais. Gerência de Memória Sistemas Operacionais Gerência de Memória Sumário 1. Introdução 2. Funções Básicas 3. Alocação Contígua Simples 4. Técnica de Overlay 5. Alocação Particionada 1. Estática 2. Dinâmica 6. Estratégias de

Leia mais

Aula 10 Gerenciamento de Memória

Aula 10 Gerenciamento de Memória Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 10 Gerenciamento de Memória Capítulo9 PLT página159 2 1 Gerenciamento de

Leia mais

Troca de Mensagens _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM / UFOP

Troca de Mensagens _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM / UFOP Troca de Mensagens _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM / UFOP Num sistema distribuído não há memória compartilhada. Portanto, toda a comunicação entre processos deve ser realizada

Leia mais

Scheduling and Task Allocation ADVANCED COMPUTER ARCHITECTURE AND PARALLEL PROCESSING Hesham El-Rewini 2005 Capítulo 10 Autor...: Antonio Edson Ceccon Professor..: Prof. Heitor Silvério Lopes Apresentação

Leia mais

Estruturas de Dados Tabelas de Espalhamento

Estruturas de Dados Tabelas de Espalhamento Estruturas de Dados Tabelas de Espalhamento Prof. Eduardo Alchieri (introdução) Uma estrutura como, as árvores binárias de busca, que trabalhe na ordem de log n é muito eficiente, mas em algumas situações

Leia mais

Durante a evolução das arquiteturas de computadores e principalmente dos Sistemas Operacionais, muitas tecnologias tiveram que ser aprimoradas para

Durante a evolução das arquiteturas de computadores e principalmente dos Sistemas Operacionais, muitas tecnologias tiveram que ser aprimoradas para UM ESTUDO SOBRE O MECANISMO DE PAGINAÇÃO DE MEMÓRIA E OS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS FIFO E LRU Fernando Sales Ferreira, fernandobrabat@hotmail.com William Antônio Faria Da Silva, William_8716@hotmail.com

Leia mais

Energy-Efficient Real-Time Heterogeneous Server Clusters

Energy-Efficient Real-Time Heterogeneous Server Clusters 1 Energy-Efficient Real-Time Heterogeneous Server Clusters Cosmin Rusu, Alexandre Ferreira, Claudio Scordino, Aaron Watson, Rami Melhem e Daniel Mossé Clayton Reis da Silva creis@ic.uff.br Apresentação

Leia mais

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho Ciência da Computação Arq. e Org. de Computadores Avaliando e Compreendendo o Desempenho O Que Veremos Avaliando e compreendendo o desempenho: Introdução Definindo desempenho Medindo o desempenho e seus

Leia mais

Hierarquia de Memória

Hierarquia de Memória Hierarquia de Memória Organização da cache AC1 Hierarquia da Memória: Organização 1 Mapeamento Directo A cada endereço de memória corresponde apenas uma linha da cache. linha = resto (endereço do bloco

Leia mais

Aula 10: Escalonamento da CPU

Aula 10: Escalonamento da CPU Aula 10: Escalonamento da CPU O escalonamento da CPU é a base dos sistemas operacionais multiprogramados. A partir da redistribuição da CPU entre processos, o sistema operacional pode tornar o computador

Leia mais

Agendador. Agendador de Processos (Escalonador de Processos) Critérios de Agendamento. Agendador

Agendador. Agendador de Processos (Escalonador de Processos) Critérios de Agendamento. Agendador Agendador Agendador de Processos (Escalonador de Processos) Prof. Alexandre Beletti Ferreira Quando mais de um processo é executável O SO deve decidir a ordem de execução dos mesmos Quem decide isso é

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Gerência de Memória Andreza Leite andreza.leite@univasf.edu.br Plano da Aula 2 Introdução Necessidade gerenciador de memória Sistemas gerenciais de memória Alocação contínua n Máquina

Leia mais

Sistemas de Troca de Mensagens

Sistemas de Troca de Mensagens Universidade Federal do Rio de Janeiro Programa de Pós-Graduação em Informática DCC/IM - NCE/UFRJ Arquitetura de Sistemas Paralelos Sistemas de Troca de Mensagens Sistemas de Comunicação O Sistema de Comunicação

Leia mais

speedup aprimorado aprimorado Fração aprimorada speedup aprimorado Fração aprimorada speedup aprimorado Tempo original Fração aprimorada aprimorado

speedup aprimorado aprimorado Fração aprimorada speedup aprimorado Fração aprimorada speedup aprimorado Tempo original Fração aprimorada aprimorado Multiprocessadores - A evolução tecnológica dos processadores iria diminuir drasticamente. 2- O caminho para o aumento de desempenho é de unir mais de um processador para realizar a mesma tarefa em menos

Leia mais

Buscas Informadas ou Heurísticas - Parte III

Buscas Informadas ou Heurísticas - Parte III Buscas Informadas ou Heurísticas - Parte III Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Mestrado em Ciência da Computação / 2006 BUSCA SMA* (Simplified Memory-Bounded A*) BUSCA SMA* (Simplified

Leia mais

Roteamento e Roteadores. Conceitos Diversos

Roteamento e Roteadores. Conceitos Diversos e Roteadores Conceitos Diversos Um roteador é um dispositivo que provê a comunicação entre duas ou mais LAN s, gerencia o tráfego de uma rede local e controla o acesso aos seus dados, de acordo com as

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Arquitetura de Sistemas Distribuídos Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 - Arquitetura Em sistemas distribuídos a meta é separar aplicações das plataformas subjacentes,

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

Curso: Redes de Computadores

Curso: Redes de Computadores Curso: Redes de Computadores Cadeira de Introdução a Sistemas Operacionais. Bibliografia Sistemas Operacionais Modernos Andew S. Tanembaum Sistema Operacionais Abraham Silberchatz, Peter Galvin e Greg

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

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

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

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços - italo@dcc.ufba.br Gestores da Rede Acadêmica de Computação Departamento de Ciência da Computação Universidade Federal da Bahia,

Leia mais

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação

Leia mais

Vamos fazer um pequeno experimento

Vamos fazer um pequeno experimento 1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com

Leia mais

Processos e Threads. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Processos e Threads. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Processos e Threads Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Tópicos Conceito de Processos 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

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Memória Cache Slide 1 Introdução Tamanho Função de Mapeamento Política de Escrita Tamanho da Linha Número de Memórias Cache Cache em Níveis Slide 2 Introdução

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

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

Programação Estruturada Aula - Introdução a Linguagem de Programação

Programação Estruturada Aula - Introdução a Linguagem de Programação Programação Estruturada Aula - Introdução a Linguagem de Programação Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR 2 ORGANIZAÇÃO BÁSICA DE UM COMPUTADOR

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

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Sistemas de Arquivos Distribuídos Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Introdução Serviço de arquivos descreve os serviços oferecidos pelo sistema de arquivos aos clientes Servidor de arquivos processo

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 7

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 7 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 7 Índice 1. A Organização do Computador...3 1.1 Processadores... 3 2 1. A ORGANIZAÇÃO DO COMPUTADOR Um computador digital consiste em um sistema interconectado de processadores,

Leia mais

Memória Virtual. Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII

Memória Virtual. Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII Permitir o compartilhamento seguro e eficiente da memória entre vários programas Remover os transtornos de programação de uma quatidade pequena e limitada

Leia mais