Modelagem de Sistemas
|
|
|
- Gabriel Paixão Mirandela
- 10 Há anos
- Visualizações:
Transcrição
1 Modelagem de Sistemas Em muitas áreas de estudo, um fenômeno não é estudado diretamente, mas através de um modelo. Um modelo é uma representação, freqüentemente em termos matemáticos, do que parecem ser as principais características do objeto ou sistema sob estudo. Exemplos: Astronomia, onde modelos do nascimento, morte e interação das estrelas permitem o estudo de teorias que consumiriam muito tempo e uma grande quantidade de matéria e energia; Física nuclear, onde as partículas atômicas e subatômicas radioativas sob estudo existem por períodos de tempo muito curtos;
2 Sociologia, onde a manipulação direta de grupos de pessoas para estudos poderia causar problemas éticos; Biologia, onde modelos de sistemas biológicos requerem menos espaço, tempo e energia para desenvolver. As principais características de muitos fenômenos físicos podem ser descritas numericamente e as relações entre essas características podem ser descritas por equações ou desigualdades. Para utilizar o conceito de modelagem é necessário um conhecimento tanto dos fenômenos modelados quanto das propriedades das técnicas de modelagem. Cálculo diferencial foi desenvolvido em resposta à necessidade de um meio de modelar propriedades que mudam continuamente, tais como posição, velocidade e aceleração em Física.
3 É possível modelar sistemas cada vez mais complexos e maiores representando-os por um modelo matemático, convertendo o modelo em instruções para um computador e executando-as. Os computadores estão envolvidos em modelagem de duas formas: como uma ferramenta computacional para modelagem e como um objeto a ser modelado. Sistemas computacionais são sistemas muito complexos e, normalmente, grandes, consistindo em vários componentes separados, interativos. Cada componente pode ser um sistema, mas seu comportamento pode ser descrito, independentemente, por outros componentes do sistema, exceto no caso de bem definidas interações com outros componentes.
4 Cada componente tem o seu próprio estado de ser. O estado de um componente é uma abstração da informação relevante necessária para descrever suas ações. Normalmente, o estado de um componente depende da história passada do componente. Logo, o estado de um componente pode mudar com o tempo. Num modelo de fila de um banco, podem haver vários caixas e vários clientes. Os caixas podem estar desocupados, esperando por um cliente, ou ocupados, atendendo um cliente. Similarmente, os clientes podem estar desocupados, esperando por um caixa livre, ou podem estar ocupados, sendo atendidos por um caixa. Num modelo de um hospital, o estado de um paciente pode ser crítico, sério, razoável, bom ou excelente.
5 Os componentes de um sistema apresentam concorrência ou paralelismo. Atividades de um componente podem ocorrer simultaneamente com outras atividades de outros componentes. Num sistema computacional, temos, por exemplo, os dispositivos periféricos, que podem operar concorrentemente, sob controle do computador. Uma vez que os componentes dos sistemas interagem, é necessário que haja sincronização. A transferência de informação de um componente para outro requer que as atividades dos componentes envolvidos sejam sincronizadas, enquanto a interação estiver acontecendo. Isto pode resultar em um componente ficar esperando pelo outro. A temporização das ações de diferentes componentes pode ser muito complexa e as interações resultantes entre componentes podem ser difíceis de descrever.
6 Redes de Petri São uma ferramenta para a modelagem e projeto de sistemas, utilizando uma representação matemática do sistema, sendo uma extensão das máquinas de estados finitos. A análise da rede de Petri permite avaliar a estrutura e o comportamento dinâmico do sistema modelado. O resultado desta avaliação pode levar a melhorias ou mudanças no sistema. Vamos considerar, inicialmente, o modelo de máquinas de estados finitos, representado pelo seguinte diagrama: A passagem de um estado para outro, representada pelos arcos, é determinada pela ocorrência de certos eventos. estado arco
7 Um primeiro passo para modificar o modelo de máquinas de estados finitos é suprimir as transições que não forem importantes para a compreensão. 1 2 Em seguida, vamos condensar as condições que levam a uma mudança de estado numa única transição
8 Uma rede de Petri C é composta por quatro partes: um conjunto de lugares P = {p 1, p 2,..., p n }; um conjunto de transições T = {t 1, t 2,..., t m }; uma função de entrada I : T P ; um conjunto de saídas O : T P. C = (P, T, I, O) A função de entrada I mapeia uma transição t j para uma coleção de lugares I(t j ), conhecida como lugares de entrada de uma transição. A função de saída O mapeia uma transição t j para uma coleção de saídas O(t j ), conhecida como lugares de saída de uma transição.
9 Considere a seguinte estrutura: C = {P, T, I, O} P = {p 1, p 2, p 3, p 4, p 5 } T = {t 1, t 2, t 3, t 4 } I(t 1 ) = {p 1 } O(t 1 ) = {p 2, p 3, p 5 } I(t 2 ) = {p 2, p 3, p 5 } O(t 2 ) = {p 5 } I(t 3 ) = {p 3 } O(t 3 ) = {p 4 } I(t 4 ) = {p 4 } O(t 4 ) = {p 2, p 3 } O grafo da rede de Petri tem dois tipos de nós: um círculo representa um lugar e uma barra representa uma transição. Arcos direcionados conectam lugares e transições. Um arco direcionado de um lugar p i para uma transição t j define o lugar como sendo uma entrada da transição.
10 Um arco direcionado de uma transição t j para um lugar p i define o lugar como sendo uma saída da transição. O grafo da rede de Petri definida pela estrutura anterior é: p 2 p 1 p 5 t 4 p 4 t 1 t 2 p 3 t 3 Pode-se associar a cada arco um peso, que corresponde à sua multiplicidade.
11 Uma marcação µ é uma atribuição de fichas aos lugares de uma rede de Petri. Uma ficha é um conceito primitivo para redes de Petri, da mesma forma que lugares e transições. O número e posição das fichas pode mudar durante a execução de uma rede de Petri. Dessa forma, as fichas são usadas para definir a execução de uma rede de Petri. A marcação µ pode ser definida como sendo um vetor: µ = (µ 1, µ 2,..., µ n ) n = P e µ i N, i=1,..., n O número de fichas no lugar p i é µ i, i = 1,..., n. Assim sendo: µ(p i ) = µ i
12 Uma rede de Petri marcada pode ser definida como: M = (P, T, I, O, µ) Num grafo de rede de Petri, fichas são representadas por pontos dentro dos círculos. No exemplo abaixo, tem-se: µ = (1, 2, 0, 0, 1) p 2 p 1 p 5 t 4 p 4 t 1 t 2 p 3 t 3
13 Uma rede de Petri executa através do disparo de transições. Uma transição dispara removendo fichas dos seus lugares de entrada e criando novas fichas, que são distribuídas nos seus lugares de saída. Uma transição pode disparar se estiver habilitada. Uma transição está habilitada se cada um dos seus lugares de entrada tem, pelo menos, tantas fichas quanto arcos do lugar para a transição (peso). O disparo de uma transição é formado por duas operações, instantâneas e indivisíveis: retira-se de cada lugar de entrada um número de fichas igual ao peso do arco; coloca-se em cada lugar de saída um número de fichas igual ao peso do arco.
14 2 após o disparo O disparo de uma transição muda a marcação µ da rede de Petri para uma nova marcação µ. O disparado de transições continua enquanto existir, pelo menos, uma transição habilitada. Quando não há transições habilitadas, a execução pára.
15 O estado de uma rede de Petri é definido por sua marcação. Dada uma rede de Petri C = {P, T, I, O} e uma marcação inicial µ 0, pode-se executar a rede de Petri pelo disparo sucessivo de transições. Duas seqüências resultam da execução de uma rede de Petri: a seqüência de marcações (µ 0, µ 1, µ 2,...) e a seqüência de transições (t j0, t j1, t j2,...). Para a rede de Petri abaixo e a marcação inicial µ 0 = (1,0,0), duas marcações são imediatamente alcançáveis: (0,1,0) e (1,0,1). Da primeira nenhuma marcação é alcançável. Da segunda pode-se chegar a (0,1,1) e (1,0,2). p 3 t 1 p 1 t 2 p 2
16 Redes de Petri foram projetadas e são usadas principalmente para modelagem. Muitos sistemas, especialmente aqueles com componentes independentes, podem ser modelados por uma rede de Petri. Exemplos: hardware de computadores, software de computadores, sistemas físicos, sistemas sociais, etc.... As redes de Petri são usadas para modelar a ocorrência de diversos eventos e atividades em um sistema. Em particular, as redes de Petri podem modelar o fluxo de informação ou outros recursos dentro de um sistema.
17 Eventos são ações que acontecem num sistema. A ocorrência desses eventos é controlada pelo estado do sistema, descrito por um conjunto de condições. Uma condição é um predicado ou descrição lógica do estado do sistema. Dessa forma, uma condição pode ser verdadeira ou falsa. Uma vez que eventos são ações, eles podem ocorrer. Para que um evento ocorra, pode ser necessário que certas condições sejam verdadeiras. Estas são denominadas de pré-condições do evento. A ocorrência de um evento pode tornar as pré-condições falsas e pode tornar outras condições verdadeiras, chamadas pós-condições.
18 Exemplo: Considere uma máquina que espera até que uma ordem surja e, então, prepara o pedido e o despacha. As condições para o sistema são: a - A máquina está esperando; b - Uma ordem chega e está esperando ser atendida; c - A máquina está executando a ordem; d - A ordem é completada. Os eventos seriam: 1 - Um ordem chega; 2 - A máquina começa a executar a ordem; 3 - A máquina termina de executar a ordem; 4 - A ordem é despachada.
19 O quadro abaixo resume os eventos e suas respectivas pré e pós-condições: evento pré-condições pós-condições 1 nenhuma b 2 a, b c 3 c d, a 4 d nenhuma Condições são modeladas por lugares numa rede de Petri, e eventos são modelados por transições. As entradas de uma transição são as pré-condições do correspondente evento. As saídas são as pós-condições. A ocorrência de um evento corresponde ao disparo da transição correspondente.
20 Uma condição verdadeira é representada por uma ficha no lugar que corresponde à condição. Quando a transição dispara, ela remove as fichas que representam as pré-condições verdadeiras e cria novas fichas que representam a transformação das pós-condições correspondentes em verdadeiras. A rede de Petri abaixo é um modelo da máquina citada anteriormente. uma ordem espera começa a executar execução completada a ordem está completada uma ordem chega a ordem está sendo executada a ordem é despachada máquina esperando por uma ordem
21 Exemplo: Considere um sistema computacional que processa programas a partir de um dispositivo de entrada e emite resultados em um dispositivo de saída. As condições para o sistema são: a - Um programa esta esperando pelo processador; b - O processador esta livre; c - Um programa esta sendo processado; d - Um programa esta esperando para ser despachado. Os eventos seriam: 1 - Um programa é posto no dispositivo de entrada; 2 - Um programa começa a ser executado; 3 - O processador terminou de processar um programa; 4 - Um programa é despachado.
22 O quadro abaixo resume os eventos e respectivas pré e pós-condições: evento pré-condições pós-condições 1 nenhuma a 2 a, b c 3 c d, b 4 d nenhuma um programa espera para ser executado um programa começa a ser executado execução completada um programa espera para ser despachado um programa é posto na fila de entrada um programa está sendo executado um programa é despachado processador está livre
23 No modelo de rede de Petri, dois eventos que são habilitados e não interagem podem ocorrer independentemente. A isto chamamos paralelismo ou concorrência. Não há necessidade de sincronizar os eventos, a menos que seja requerido pelo sistema sendo modelado. Dessa forma, redes de Petri parecem ser ideais para modelar sistemas de controle distribuído, com múltiplos processos executando concorrentemente no tempo. Não há medida de tempo ou fluxo de tempo numa rede de Petri, o que define uma característica assíncrona. A única propriedade importante do tempo, de um ponto de vista lógico, está em definir uma ordem parcial da ocorrência de eventos.
24 Os eventos levam um tempo variável para ocorrer e isto está refletido no modelo de rede de Petri por não depender da noção de tempo para controlar os eventos. Uma execução da rede de Petri é vista como uma seqüência de eventos discretos. A ordem de ocorrência dos eventos é uma dentre várias permitidas pela estrutura, o que leva a um aparente não-determinismo na execução da rede de Petri. Se, em qualquer momento, mais de uma transição estiver habilitada, então qualquer uma dessas pode ser a próxima a ser disparada. A escolha de qual transição irá disparar é feita aleatoriamente. Em situações na vida real nas quais várias coisas ocorrem simultaneamente, a ordem aparente da ocorrência dos eventos não é única: qualquer conjunto de seqüências de eventos pode ocorrer.
25 Concorrência ocorre quando duas transições habilitadas não afetam uma a outra, de nenhuma forma, e as possíveis seqüências de eventos incluem algumas em que uma transição ocorre primeiro, e outras em que a outra ocorre primeiro. t j t k
26 Conflito ocorre quando havendo transições habilitadas, somente uma pode ser disparada, uma vez que o disparo de uma remove a ficha na entrada compartilhada, desabilitando a outra transição. p i t j t k
27 Modelagem de Hardware O hardware pode ser dividido em vários níveis e as redes de Petri podem modelar cada um desses níveis: em um nível, computadores são construídos de memórias e portas; em um nível mais alto, os principais componentes são unidades funcionais e registradores; em um nível ainda mais alto, os componentes de uma rede podem ser sistemas computacionais inteiros. Máquinas de estados finitos são comumente representadas por diagrama de estados, em que os estados são representados por círculos (nós do grafo) e as transições por arcos.
28 Um arco do estado q i para o estado q j, rotulado a/b, significa que no estado q i, com entrada a, a máquina vai mudar para o estado q j, com saída b. Exemplo: Conversor serial de um número binário em seu complemento a 2, em que o LSB é introduzido primeiro. O alfabeto de entrada e o de saída consistem de três símbolos: 0, 1 e R. A máquina começa no estado q 1. O símbolo de reset (R) indica o fim (ou começo) de um número e inicializa a máquina para o seu estado inicial. A saída da máquina para o símbolo de reset é simplesmente um eco do símbolo R. 1/1 0/0 0/1 q 1 q 2 R/R R/R 1/0
29 Exemplo: Uma máquina de estados que computa serialmente a paridade de um número binário, utilizando as mesma entradas que o exemplo anterior. A saída simplesmente copia a entrada até que o símbolo de entrada é um reset. A máquina começa no estado q 1. A saída copia a entrada até que o símbolo de entrada seja um reset (R). A saída para um reset é 0 para um número com paridade ímpar e 1 para um número com paridade par. 0/0 1/1 0/0 q 1 q 2 1/1 R/0 R/1
30 Vamos representar cada estado da máquina de estados por um lugar na rede de Petri. O estado atual é, então, marcado por uma ficha e todos os demais lugares estão vazios. A interação com o meio externo é feita através das entradas e saídas, que também serão representadas por lugares. Para cada par de estado e entrada, definimos uma transição cujos lugares de entrada são os lugares correspondentes ao estado e à entrada, e cujos lugares de saída são os lugares correspondentes ao próximo estado e saída. Pode-se construir uma máquina composta que compute o complemento a 2 de um número e sua paridade. Numa máquina de estados, esta operação requer um estado composto com componentes de ambas as sub-máquinas.
31 0/0 1/1 1/0 R/1 q 11 q 22 R/0 R/1 0/1 0/1 q 21 1/0 Para uma máquina em rede de Petri, a composição é feita sobrepondose os lugares de saída da primeira rede com os lugares de entrada da segunda. Se duplicarmos as fichas de entrada, alimentando ambas as submáquinas da rede de Petri, teremos uma composição paralela, permitindo que as sub-máquinas executem simultaneamente.
32 Pipeline Sistemas computacionais são construídos de muitos componentes e muitos projetos tentam aumentar a capacidade computacional através da execução paralela de funções. Isto torna as redes de Petri particularmente apropriadas para representar estes sistemas. Um pipeline é composto por um número de estágios, que podem estar em execução simultaneamente. Quando o estágio k termina, ele passa o resultado para o estágio k+1 e olha para o estágio k-1 para nova tarefa. Se cada estágio leva t unidades de tempo e há n estágios, então a operação completa para um operando levará nt unidades de tempo. No entanto, mantendo-se o pipeline suprido com novos operandos, ele poderá fornecer resultados à razão de um a cada t unidades de tempo.
33 Exemplo: Considere a soma de dois números em ponto flutuante. Os passos seriam: extrair os expoentes dos dois números; comparar os expoentes; deslocar a menor fração para igualar os expoentes; somar as frações; normalizar; considerar overflow ou underflow do expoente e montar o expoente e a fração do resultado. Cada um desses passos pode ser implementado por uma unidade funcional, com um operando próprio sendo passado de unidade para unidade até a operação estar completa.
34 Podemos considerar, inicialmente, o controle síncrono do pipeline: o tempo permitido para cada passo é um tempo constante t. Isto pode segurar desnecessariamente o processamento, uma vez que o tempo necessário pode variar de unidade para unidade, inclusive dentro da própria unidade, dependendo do operando. Um pipeline assíncrono pode acelerar o processo, em média, sinalizando quando cada estágio está completo e pronto para passar o resultado adiante e receber um novo operando. Deve haver um lugar para armazenar as entradas e saídas, enquanto estiverem sendo usadas ou geradas, o que implica no uso de registradores.
35 O controle para o estágio k precisa verificar as seguintes condições: registrador de entrada cheio; registrador de entrada vazio; registrador de saída cheio; registrador de saída vazio; unidade ocupada; unidade livre; cópia sendo realizada. unidade k-1 registrador de saída k-1 registrador de entrada k unidade k registrador de saída k registrador de entrada k+1
36 Múltiplas unidades funcionais O CDC6600 tem dez unidades funcionais: uma unidade para desvios condicionais; uma unidade para operações lógicas; uma unidade para deslocamentos; uma unidade para soma em ponto flutuante; uma unidade para soma em ponto fixo; duas unidades para multiplicação; uma unidade para divisão; duas unidades para incremento. Múltiplos registros são fornecidos para guardar as entradas e saídas das unidades funcionais.
37 Uma possível sequência de instruções no CDC6600 seria: multiplicar x1 por x1, dando x0; multiplicar x3 por x1, dando x3; somar x2 a x4, dando x4; somar x0 a x3, dando x3; dividir x0 por x4, dando x6. Esse tipo de paralelismo deve ser controlado de forma que o resultado obtido com e sem paralelismo seja o mesmo. Dessa forma, para duas operações a e b, tal que a precede b na precedência linear do programa: b pode começar a ser executada antes de a se e somente se b não precisa dos resultados de a como entradas; os resultados de b não mudam nem as entradas nem os resultados de a.
38 Uma tabela de reservas é um método de aplicar estas restrições na construção da unidade de controle que vai despachar instruções para as unidades funcionais: uma instrução para a unidade funcional u, usando registradores i, j e k pode ser despachada somente se todos os quatro componentes não estão reservados; quando a instrução é despachada, todos os quatro componentes se tornam reservados. O modelo em rede de Petri do esquema acima consiste em alocar um lugar para cada unidade funcional e cada registrador: se a unidade funcional ou o registrador está livre, uma ficha é posta no respectivo lugar. Múltiplas unidades funcionais idênticas podem ser indicadas por múltiplas fichas nos lugares.
39 Parte de uma rede de Petri usada para modelar a execução de uma instrução usando a unidade u e os registradores i, j e k: instrução usa unidade u e registradores i, j, k despacha isntrução pronto para decodificar a próxima instrução unidade u livre registrador i livre registrador j livre registrador k livre instrução completada unidade u operando com os registradores i, j, k
40 Software A modelagem de software tem se concentrado na análise, especificação e descrição de programas sequenciais. Pouco tem sido feito no que diz respeito a sistemas compostos por processos concorrentes. É dentro deste contexto que as redes de Petri se mostram adequadas para a modelagem do software. A representação de um sistema composto por processos concorrentes parte da combinação de redes de Petri que representem processos simples. Um processo simples é descrito por um programa, que representa dois aspectos separados do processo: computação e controle.
41 Computação trata das operações lógicas e aritméticas, entrada e saída, e manipulação de memória. Controle trata da ordem com que as operações são realizadas. As redes de Petri são adequadas para modelar o sequenciamento das instruções e o fluxo de informação e computação, mas não os valores atuais da informação, propriamente ditos. Um modelo de um sistema, por sua própria natureza, é uma abstração do sistema modelado, ignorando detalhes específicos tanto quanto possível. Fluxogramas representam o fluxo de controle de um programa. Todo programa sequencial pode ser representado por um fluxograma.
42 Considere o programa abaixo e o fluxograma correspondente. início ler(y1); ler(y2); y3:=1; enquanto y1>0 faça início se ímpar (y1) então início y3:=y3*y2; y1:=y1-1; fim; y2:=y2*y2; y1:=y1-2; fim; escreve(y3); fim; F a b V c e f F V d
43 Uma interpretação das ações do fluxograma consiste em: ações interpretação a input(y1);input(y2);y3:=1; b y1 > 0? c odd(y1)? d y3:=y3*y2; y1:=y1-1; e y2:=y2*y2; y1:=y1/2; f output(y3); Um fluxograma é composto de nós e de arcos entre eles. Os nós são de dois tipos: decisões, representadas pelos losangos, e computações, representadas por retângulos. No modelo de rede de Petri, as transições modelam ações, enquanto que no modelo de fluxograma os nós modelam ações.
44 Assim sendo, a forma apropriada de traduzir um fluxograma em uma rede de Petri consiste em: substituir os nós do primeiro por transições no segundo (observando que há dois tipos de nós); substituir cada um dos arcos do primeiro por exatamente um lugar no segundo. a i computation r computation r a j a j T decision F T F a j a k
45 (aqui entra o slide 45)
46 Considere o caso de dois processos concorrentes. Numa primeira proposta, cada processo pode ser representado por uma rede de Petri. A rede de Petri composta, que é simplesmente a união das redes de Petri para cada um dos processos, pode representar a execução concorrente dos dois processos. A marcação inicial da rede de Petri composta tem duas fichas, cada uma no lugar representando o contador de programa inicial de um processo. Paralelismo pode ser introduzido em um processo através das operações FORK e JOIN.
47 p i p i p j FORK JOIN p j p k p k Outra proposta para introduzir paralelismo é através das estruturas de controle parbegin e parend. S 1 parbegin parend. S 2. S n
48 Paralelismo é introduzido na solução de um problema somente se os processos componentes podem cooperar na solução do problema. Tal cooperação requer o compartilhamento de informação e recursos entre os processos. Uma variedade de problemas tem sido proposta para ilustrar os tipos de problemas que podem surgir entre processos cooperantes, dentre eles o problema do produtor/consumidor, o problema dos filósofos e o problema dos leitores/escritores. Embora as redes de Petri sejam um esquema de modelagem, e não um mecanismo de sincronização, elas devem ser capazes de modelar mecanismos de sincronização que resolvam esses problemas.
49 Assuma que vários processos compartilham uma variável, registro, arquivo ou outra tipo de dado. Esse dado compartilhado pode ser usado de diferentes formas pelos processos, mas basicamente se resumem a leitura ou escrita. Um problema surge quando dois processos tentam atualizar o dado compartilhado. Exclusão mútua consiste em definir um código de entrada e de saída, de forma que somente um processo de cada vez tenha acesso ao dado compartilhado. O código que tem acesso ao dado compartilhado e necessita proteção contra interferência de outros processos é chamado região crítica.
50 Na rede de Petri equivalente, o lugar m representa a permissão para entrar na região crítica. Para que um processo entre na região crítica, ele deve ter uma ficha em p 1 ou p 2, sinalizando que ele deseja entrar na região crítica, e deve haver uma ficha em m, sinalizando permissão para entrar... p 1 p 2 região crítica. m região crítica
51 Se ambos os processos desejam entrar simultaneamente, então as transições t 1 e t 2 estarão em conflito e somente uma delas pode ser disparada. Disparando t 1 irá desabilitar a transição t 2, fazendo com que o processo p 2 espere até que o primeiro processo saia de sua região crítica e ponha uma ficha de volta no lugar m. O problema do produtor/consumidor também envolve dados compartilhados, que neste caso consiste de um meio de armazenamento temporário (buffer). O produtor cria objetos que são postos no buffer; o consumidor espera até que um objeto tenha sido posto no buffer, o remove e o consome. Um lugar b vai representar o buffer; cada ficha representa um item que foi produzido, mas ainda não foi consumido.
52 .. produz remove do buffer b coloca no buffer consome Uma variante desse problema é o dos múltiplos produtores e múltiplos consumidores. Os itens produzidos são colocados num buffer comum. O lugar inicial do produtor vai conter tantas fichas quantos produtores. O lugar inicial do consumidor vai conter tantas fichas quantos consumidores.
53 Outra variante do problema do consumidor/produtor consiste do buffer de tamanho limitado. Neste caso, o buffer entre produtor/consumidor possui somente n posições. Assim sendo, o produtor nem sempre poderá produzir tão rapidamente quanto deseja, podendo ter que esperar caso o consumidor seja lento e o buffer esteja cheio. A solução consiste em representar o buffer limitado por dois lugares: b, representando o número de itens produzidos, mas ainda não consumidos; e b, representando o número de posições vazias no buffer. Dessa forma, se b contiver zero fichas, o buffer está cheio e o produtor não poderá produzir nenhum item a mais.
54 Análise de uma Rede de Petri São definidas as seguintes propriedades básicas: Rede de Petri limitada e segura; Rede de Petri própria (reinicializável); Rede de Petri viva. A análise destas três propriedades é feita através da construção da árvore das marcações alcançáveis. O número de marcações alcançáveis pode ser infinito. Logo, usa-se um algoritmo de construção de uma árvore reduzida, que sempre é finita. Entretanto, pode haver o esgotamento de recursos computacionais.
55 Uma rede de Petri é limitada se o número de fichas em todos os seus lugares é finito, para todas as marcações alcançáveis. Esta rede é segura caso este limite seja 1, ou seja o número de fichas em todos os lugares nunca excede 1.. limitada e segura. ilimitada Na modelagem de hardware, se um lugar é seguro, o número de fichas nele será 0 ou 1. Logo, ele poderá ser implementado por um flip-flop.
56 Uma rede de Petri é própria e reinicializável se, a partir de qualquer marcação alcançável da marcação inicial, existe uma sequência de transições sucessivamente sensibilizadas que leva de volta à marcação inicial. Exemplo:. própria 1 1 não própria
57 Uma rede de Petri é viva se e somente se, para qualquer marcação alcançável a partir da inicial e para qualquer transição, existe uma sequência de transições sensibilizadas a partir desta marcação que inclui aquela transição. O exemplo anterior também mostra uma rede viva e não viva. Uma rede de Petri possui bloqueio fatal (deadlock) quando uma dada sequência de disparos, a partir da marcação inicial, conduz a uma situação em que não há qualquer transição sensibilizada. Exemplo: t 1 2 p 2 t 4 rede sem bloqueio. rede com bloqueio p 1 2 t 3 t 2 p 3 sequência t 1, t 2, t 3
58 Uma rede de Petri é conservativa quando ela não cria e nem perde fichas ao longo de suas marcações acessíveis. Exemplo:... rede conservativa.. rede não conservativa
59 Árvore de Alcançabilidade t 1 p 2 t 3. p 1 p 3 t 2 t 1 t (1,0,0) 1 t 2 (1,1,0) t (0,1,1) 1 t 2 t 3 (1,2,0) t (0,2,1) 2 (0,0,1) t 3 (1,3,0) (0,3,1) (0,1,1) Os nós da árvore de alcançabilidade são classificados como: terminal, fronteira, duplicado, interior. Nó fronteira é todo aquele que ainda não foi processado, vindo a ser convertido em terminal, duplicado ou interior. Nó duplicado é todo aquele que corresponde a marcação já ocorrida. Nó terminal é todo aquele que não habilita transições.
60 Algoritmo para gerar a árvore de alcançabilidade reduzida: Se y classe(y) /= fronteira E µ[x] = µ[y], entao classe(x) = duplicado; Se nenhuma transição for habilitada por µ[x], entao classe(x) = terminal; V t j E T habilitada por µ[x] que cria um novo nó z, temos: se µ[x] i = w => µ[z] i = w; se y no caminho da raiz a x com µ[y] < µ[z], habilitando mesma transição t j e ainda µ[y] i < µ[z] i => µ[z] i = w; caso contrário, µ[z] i = {µ[x] i com disparo de t j }. O algoritmo pára após todos os nós terem sido classificados como terminal, duplicado ou interior. a
61 Exemplo da aplicação do algoritmo de geração da árvore de alcançabilidade: p 2 t 1. t 3 p 1 t 2 p3 (1,0,0) t 1 t 2 (1,w,0) t (0,1,1) 1 t 2 t 3 (1,w,0) (0,w,1) (0,0,1) t 3 (0,w,1)
62 Outro exemplo: p 2 t 2 p 1. p 4 t 1. t 3 p 3 (1,0,1,0) t 3 (1,0,0,1) t 2 (1,w,1,0) t 1 t 3 (1,w,0,0) (1,w,0,1) t 2 (1,w,1,0)
Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0.
AULA 22 ESTUDO E APLICAÇÕES DAS REDES DE PETRI COMO MECANISMO DE DESCRIÇÃO DE SISTEMAS. 6. Propriedades das redes Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0.
Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho
20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam
SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA
SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis
BARRAMENTO DO SISTEMA
BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade
AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário
EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo
4 PROCESSOS Os primeiros sistemas operacionais permitiam que apenas um processo fosse executado por vez. Dessa maneira, este processo tinha todo o sistema computacional a sua disposição. Os atuais sistemas
Sistemas Operacionais
Sistemas Operacionais Aula 11 Sincronização de Processos Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
28/9/2010. Paralelismo no nível de instruções Processadores superescalares
Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados
Sistemas Computacionais II Professor Frederico Sauer
Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não
CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES
CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:
Algoritmos e Programação (Prática) Profa. Andreza Leite [email protected]
(Prática) Profa. Andreza Leite [email protected] Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução
Processos e Threads (partes I e II)
Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa
Princípios de Análise e Projeto de Sistemas com UML
Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 9 Modelagem de estados Todos os adultos um dia foram crianças, mas poucos se lembram disso.
Dadas a base e a altura de um triangulo, determinar sua área.
Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação [email protected] Conceitos Preliminares
O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware
1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador
ARQUITETURA DE COMPUTADORES - 1866
7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um
ULA Sinais de Controle enviados pela UC
Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento
Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB
Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha
Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.
Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:
Notas da Aula 4 - Fundamentos de Sistemas Operacionais
Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta
Sistemas Operacionais. Prof. André Y. Kusumoto [email protected]
Sistemas Operacionais Prof. André Y. Kusumoto [email protected] Estruturas de Sistemas de Computação O sistema operacional precisa garantir a operação correta do sistema de computação. Operação
Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:
Computadores de alto-desempenho são utilizados em diversas áreas: - análise estrutural; - previsão de tempo; - exploração de petróleo; - pesquisa em fusão de energia; - diagnóstico médico; - simulações
Sistemas Operacionais Processos e Threads
Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br [email protected] 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo
1.6. Tratamento de Exceções
Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER
CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS
92 CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS Sumário 6.. Introdução... 94 6... Máquina de Estados de Moore... 94 6..2. Máquina de Estados de Mealy... 95 6.2. Projeto de Redes Sequenciais...
As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:
1 As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia e não têm a intenção de substituir o livro-texto, nem qualquer outra bibliografia. Introdução O Cálculo Numérico
Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução
Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.1 Introdução Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa Voltados tipicamente para a execução de um único programa.
MÓDULO 6 INTRODUÇÃO À PROBABILIDADE
MÓDULO 6 INTRODUÇÃO À PROBBILIDDE Quando estudamos algum fenômeno através do método estatístico, na maior parte das vezes é preciso estabelecer uma distinção entre o modelo matemático que construímos para
Sistemas Distribuídos. Aleardo Manacero Jr.
Sistemas Distribuídos Aleardo Manacero Jr. Conteúdo Conceitos fundamentais Estratégias de controle: relógios e algoritmos de sincronismo Serviços: arquivos e memória Corba Processamento distribuído Sistemas
Organização e Arquitetura de Computadores I. de Computadores
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)
Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.
O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline Todos os estágios devem estar prontos ao mesmo tempo para prosseguir O tempo requerido para mover uma instrução
Organização e Arquitetura de Computadores. Capítulo 13 Paralelismo no nível de instruções
Organização e Arquitetura de Computadores Capítulo 13 Paralelismo no nível de instruções O que é Superescalar? As arquiteturas superescalares são aquelas capazes de buscar, decodificar, executar e terminar
Engenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf ([email protected]) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h
ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Sumário Unidade Lógica Aritmetrica Registradores Unidade Lógica Operações da ULA Unidade de Ponto Flutuante Representação
Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01
Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal
O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2
3.2 O Espaço Nulo de A: Resolvendo Ax = 0 11 O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 Esta seção trata do espaço de soluções para Ax = 0. A matriz A pode ser quadrada ou retangular. Uma solução imediata
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números
Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.
Visão Geral do Sistema Prof. Raul Sidnei Wazlawick UFSC-CTC-INE 2010 Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. A fase de concepção do UP consiste
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
1. NÍVEL CONVENCIONAL DE MÁQUINA
1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0
Tipos de sistemas operacionais
Tipos de sistemas operacionais Sistemas Operacionais de Computadores de Grande Porte Sistemas Operacionais para Servidores Sistemas Operacionais de Multiprocessadores Sistemas Operacionais para Computadores
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.
Arquitetura de Rede de Computadores
TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador
Algoritmos e Estrutura de Dados III. Árvores
Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas
28/9/2010. Unidade de Controle Funcionamento e Implementação
Arquitetura de Computadores Unidade de Controle Funcionamento e Implementação Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Operação da Unidade de Controle Unidade de controle: parte do
Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação
Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 - Concorrência Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC, 2007. Mono x Multiprogramação
Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte III) Prof.a Joseana Macêdo Fechine Régis de Araújo [email protected]
Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h
Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Colegiado de Engenharia da Computação CECOMP Introdução à Algebra de Boole Em lógica tradicional, uma decisão é tomada
Circuitos Digitais Cap. 6
Circuitos Digitais Cap. 6 Prof. José Maria P. de Menezes Jr. Objetivos Flip-Flops e Dispositivos Correlatos Latch com portas NAND Latch com portas NOR Sinais de Clock e Flip-Flops com Clock Flip-Flop S-C
Conceitos de Banco de Dados
Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir
UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto
Capítulo 6. Autômatos com Pilha 6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Nos exemplos da seção anterior, vimos que os autômatos com pilha existem para
SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN
SISTEMAS OPERACIONAIS Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN 2.0 - INTRODUÇÃO Os tipos de sistemas operacionais e sua evolução estão intimamente relacionados com a evolução do hardware
computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:
1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia
ESTUDO DE CASO WINDOWS VISTA
ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado
Circuitos Seqüenciais: Latches e Flip-Flops. Fabrício Noveletto
Circuitos Seqüenciais: Latches e Flip-Flops Fabrício Noveletto Objetivos Usar portas lógicas para construir latches básicos Explicar a diferença entre um latch S-R e um latch D Reconhecer a diferença entre
CAP. I ERROS EM CÁLCULO NUMÉRICO
CAP. I ERROS EM CÁLCULO NUMÉRICO 0. Introdução Por método numérico entende-se um método para calcular a solução de um problema realizando apenas uma sequência finita de operações aritméticas. A obtenção
Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis
1. TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que
Autómatos Finitos Determinísticos
Ficha 2 Autómatos Finitos Determinísticos 2.1 Introdução Se olharmos, de forma simplificada, para um computador encontramos três componentes principais: a) A unidade de processamento central b) As unidades
Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo.
Um recurso é ou um dispositivo físico (dedicado) do hardware, ou um conjunto de informações, que deve ser exclusivamente usado. A impressora é um recurso, pois é um dispositivo dedicado, devido ao fato
Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.
Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco
Sistemas Operacionais
Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura
3. O NIVEL DA LINGUAGEM DE MONTAGEM
3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também
Componentes do Computador e. aula 3. Profa. Débora Matos
Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e
Memória Cache. Prof. Leonardo Barreto Campos 1
Memória Cache Prof. Leonardo Barreto Campos 1 Sumário Introdução; Projeto de Memórias Cache; Tamanho; Função de Mapeamento; Política de Escrita; Tamanho da Linha; Número de Memórias Cache; Bibliografia.
Disciplina: Unidade III: Prof.: E-mail: Período:
Encontro 08 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: [email protected] Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto
Projeto de Máquinas de Estado
Projeto de Máquinas de Estado Organizado por Rodrigo Hausen. Original de Thomas L. Floyd. Versão 0: 15 de março de 2013 http://compscinet.org/circuitos Resumo Grande parte deste texto, exemplos e estrutura
Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.
Pg. 1 Universidade Federal do Espírito Santo - UFES Mestrado em Informática 2004/1 Projetos O Projeto O projeto tem um peso maior na sua nota final pois exigirá de você a utilização de diversas informações
Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul
QUESTÃO: 29 Além da alternativa a estar correta a alternativa e também pode ser compreendida como correta. Segundo a definição de diversos autores, a gerência de falhas, detecta, isola, notifica e corrige
Resolução de problemas e desenvolvimento de algoritmos
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)
Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Existem inúmeras ferramentas (software) baseadas em RdP que permitem desenvolver modelar e analisar sistema de RdP. Algumas
Contagem I. Figura 1: Abrindo uma Porta.
Polos Olímpicos de Treinamento Curso de Combinatória - Nível 2 Prof. Bruno Holanda Aula 4 Contagem I De quantos modos podemos nos vestir? Quantos números menores que 1000 possuem todos os algarismos pares?
A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.
INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,
Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante
Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos
Notas da Aula 17 - Fundamentos de Sistemas Operacionais
Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.
3. Arquitetura Básica do Computador
3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,
Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
2. Representação Numérica
2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos
Árvores Binárias Balanceadas
Árvores Binárias Balanceadas Elisa Maria Pivetta Cantarelli Árvores Balanceadas Uma árvore é dita balanceada quando as suas subárvores à esquerda e à direita possuem a mesma altura. Todos os links vazios
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001
47 5 Redes Neurais O trabalho em redes neurais artificiais, usualmente denominadas redes neurais ou RNA, tem sido motivado desde o começo pelo reconhecimento de que o cérebro humano processa informações
IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
O que é RAID? Tipos de RAID:
O que é RAID? RAID é a sigla para Redundant Array of Independent Disks. É um conjunto de HD's que funcionam como se fosse um só, isso quer dizer que permite uma tolerância alta contra falhas, pois se um
Entendendo como funciona o NAT
Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços
Geração de código intermediário. Novembro 2006
Geração de código intermediário Novembro 2006 Introdução Vamos agora explorar as questões envolvidas na transformação do código fonte em uma possível representação intermediária Como vimos, nas ações semânticas
1. CAPÍTULO COMPUTADORES
1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes
Disciplina: Introdução à Informática Profª Érica Barcelos
Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados
Diagrama de transição de Estados (DTE)
Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das
Arquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as
Aritmética Binária e. Bernardo Nunes Gonçalves
Aritmética Binária e Complemento a Base Bernardo Nunes Gonçalves Sumário Soma e multiplicação binária Subtração e divisão binária Representação com sinal Sinal e magnitude Complemento a base. Adição binária
Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva
Arquitetura de Computadores - Processadores Superescalares por Helcio Wagner da Silva Introdução O Pipeline é uma técnica desenvolvida para a melhoria do desempenho frente à execução seqüencial de instruções
