9 Fiabilidade, testes e tolerância a falhas

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

Download "9 Fiabilidade, testes e tolerância a falhas"

Transcrição

1 9 Fiabilidade, testes e tolerância a falhas Um sistema fiável é o resultado de um processo sólido de desenho, boa engenharia, e um processo sólido de testes. Neste capítulo vamos discutir fiabilidade, e como a melhorar, através de testes ao sistema e de tolerância a falhas. 9.1 Bugs, faltas, falhas e defeitos Embora seja comum associar a estes termos o mesmo significado, há muita diferença entre eles. O termo bug significa que existe um erro num sistema sem ninguém ser responsável. O termo preferível é o defeito. Este defeito evidencia-se, na operação do sistema, como ma falta. Se esta falha implicar que um dos requisitos do sistema não foi cumprido, temos então uma falha. 9.2 Fiabilidade Esta característica desejável para um sistema pode ser definido, informalmente, de vários modos. Podemos definir um sistema fiável como: - Aquele em que podemos confiar; - Está livre de erros catastróficos; - Os seus resultados são previsíveis; - É um sistema robusto (no contexto de pode recuperar de erros). Especificamente para sistemas de tempo real, fiabilidade pode ser caracterizada por: - Determinismo de eventos; - Determinismo temporal; - Carga temporal razoável - Carga de memória razoável Definição formal Admitamos que S é um sistema de software e que T denota o instante de tempo em que uma falha do sistema ocorre. Então, a fiabilidade do sistema S, no tempo t, denotada por probabilidade que T seja maior que t, isto é: ( ) rt (), é a rt () = PT> t (9.1) 9-1

2 Deste modo, um sistema com rt () = 1 nunca tem falhas. De acordo com a distribuição assumida para a função de falha, temos diferentes modelos para caracterizar a fiabilidade de um sistema. Um modelo normalmente utilizado assume uma distribuição exponencial. Assim, a probabilidade de falhas é grande ao início (o que tem lógica, dada ser um novo código) e decresce com o tempo (à medida que os erros vão sendo resolvidos). O seguinte modelo usa uma função como a ilustrada na fig Intensidade da falha tempo Fig. 9-1: Função de falha Este modelo é bastante usada para descrever a evolução das falhas em hardware (o aumento da intensidade das falhas após um certo tempo tem a ver com o envelhecimento dos componentes), mas não é tão vulgar para software. Em termos de software, o aumento da intensidade é devido a erros provocados por alterações ao software, ou pela utilização mais exigente do software, à medida que o utilizador vai tendo experiência com ele Calculando a fiabilidade do sistema Há algumas técnicas que podem ser utilizadas para estimar a fiabilidade de um sistema. Vamos referirmo-nos a 3 técnicas: o modelo de blocos de processos, a métrica de McCabe e a métrica de Halstead O modelo de blocos de processos Entende-se um sistema como sendo constituído por uma série de sub-sistemas, denominados por blocos de processos, ligados entre si em série ou em paralelo. A probabilidade de falha, ou, ao contrário, a fiabilidade de um sistema podem ser calculadas utilizando simples regras de probabilidade. Este método assume independência de cada bloco (que é uma 9-2

3 simplificação exagerada, dado poder haver comunicação de dados entre blocos) e só suporta controlo de fluxo síncrono. Se dois sub-sistemas estiverem ligados em paralelo, como é ilustrado na fig. 9.2, então o sistema conjunto só falha se ambos os sistemas falharem. 1 2 Fig. 9-2: Sub-sistemas em paralelo Como a função de falha é dada por ( 1 rt ( )) conjunto é:, então a função de falha para o sistema req () t ( r1() t )( r2() t ) () = () + () () () 1 = 1 1 r t r t r t r t r t eq (9.2) Para um sistema série, o sistema falha quando algum dos sub-sistemas falha. 1 2 Fig. 9-2: Sub-sistemas em série Neste caso, eq () = () () r t r t r t 1 2 (9.3) Métrica de McCabe Alguns especialistas acreditam que a fiabilidade do software pode ser estimado através de características do código fonte. Uma dessas métricas, introduzidas por McCabe, é baseada na complexidade do fluxo de controlo. Esta técnica admite que um programa pode ser visto como um grafo em que cada nó representa um bloco de código sequencial, enquanto cada 9-3

4 mudança síncrona de fluxo representa um arco. Do mesmo modo que no caso anterior, mudanças de fluxo assíncronas não são suportadas. Num sistema multitarefa, cada tarefa é representada por um grafo, que pode ser obtido directamente dos grafos de fluxos, diagramas de fluxo de dados, redes de Petri, ou de autómatos finitos. Admita-se que existem p grafos, e nós, e n arcos. Então a complexidade ciclomática, C, é dada por: C= e n+ 2 p (9.4) A hipótese de McCabe é a de que C reflecte a dificuldade em perceber, testar e manter o software. Segundo ele, se 3 C 7, o programa está bem estruturado Métrica de Halstead Os dois métodos anteriores têm o problema de que não contemplam mudanças de fluxo de controlo assíncronas, que acontecem em sistemas de tempo real. Este método não sofre desta desvantagem. Esta métrica depende de características do código: η 1 1. : o número de instruções distintas begin-end, e de GOTO ou análogas; estas são chamadas de operadores; η 2 2. : o número de linhas distintas terminadas por ; em C ou análogas; estão são chamadas de operadores; 3. N 1 : o número total de ocorrências de operadores no programa; 4. N 2 : o número total de ocorrências de operandos no programa; Com estas características, Halstead propões as seguintes medidas: O vocabulário, η= η + η ; 1 2 O comprimento do programa, N = N + N ; O volume do programa, V = Nlog 2 η ; 1 2 ( ) ( ) O volume potencial, V* = 2+ η log 2+ η ; O nível do programa, L= V */ V Halstead sugeriu que L mede o nível de abstracção do programa. À medida que L aumenta, a fiabilidade também aumenta. Uma outra medida introduzida é o esforço requerido para desenvolver o programa. E= V / L Diminuindo E, aumenta a fiabilidade do programa. 9-4

5 9.3 Testes É importante referir que o objectivo de testar um sistema não é apenas o de detectar erros, dado que um teste só detecta a presença de erros, e não a sua ausência. A finalidade última de testar um sistema é de verificar se um sistema satisfaz os seus requisitos. Desta maneira, no ciclo de desenvolvimento de um sistema deve ser construído um plano de testes, com critérios objectivos que permitam determinar se o sistema cumpre ou não os requisitos. Este plano deve testar o sistema módulo a módulo, sub-sistema a sub-sistema, e finalmente o sistema total Testes a módulos As técnicas abaixo descritas podem ser utilizadas pelo programador, ou pelo um grupo independente de testes Testes caixa negra Neste tipo de testes, só as entradas e saídas são relevantes; como as saídas são geradas em função das entradas não é considerado. Tem a vantagem de poder ser utilizado para qualquer tipo de módulo, e a desvantagem de não fornecer qualquer informação sobre a habilidade do programador, não podendo também identificar código inatingível. Para cada módulo, um determinado número de casos de teste são gerados, dependente da funcionalidade do módulo, número de entradas/saídas, etc. Se para qualquer caso de teste um erro é detectado, é corrigido e toda a bateria de testes novamente aplicada. Para gerar os casos de teste, pode-se usar: 1. Geração exaustiva (força bruta) todas as combinações possíveis das entradas são geradas; isto é sempre possível, mas pode ser proibitivo em termos de tempo; 2. Casos de canto (corner cases) por exemplo, os valores máximo, mínimo e médio para cada variável são testados; 3. Casos patológicos combinações não usuais que podem conduzir a erros; 4. Testes estatísticos testes aleatórios ou assumindo uma determinada distribuição de probabilidade para cada entrada Sempre que possível, geração exaustiva deve ser usada. Se tal não for possível, é normalmente utilizada uma combinação das outras técnicas. 9-5

6 Testes caixa branca Estes testes são desenhados para testar todos os possíveis fluxos do programa. Normalmente não é apenas o programador que testa todo o código, mas porções diferentes de códigos são passadas a diferentes grupos, que além de testar o código inspeccionam-no para testar todos os possíveis erros e eventualmente melhorar o código Métodos formais de prova Um tipo de testes de caixa branca interpreta as especificações e o código gerado como especificações verificáveis que são provadas matematicamente. Além de não serem muito viáveis para grandes sistemas, necessitam de conceitos de lógica temporal ou de álgebra de processos que está fora do âmbito desta disciplina. Não há muitas ferramentas comerciais que implementem estas técnicas Testes ao nível do sistema ou de sub-sistemas Após todos os módulos serem testados individualmente, então os sub-sistemas ou o sistema total precisa de ser testado. Aqui, a equipa de programadores passa o produto para a equipa de teste. O teste de um sistema ou sub-sistema é um teste do tipo caixa preta, e assim todos os métodos atrás referidos podem ser usados. Se um erro for detectado nesta fase, o erro deve ser reparado. Idealmente, o módulo onde o erro foi detectado deve ser sujeito a testes de módulo, antes de se continuar os testes do sistema ou sub-sistema. Após o sistema testado pela equipa de testes, segue-se o denominado teste-alfa. Aqui, o sistema é distribuído pela empresa, e testado. Seguem-se os testes-beta, onde o produto é distribuído por alguns consumidores que se disponibilizam para utilizar o sistema. Um outro tipo de testes, que ocorre mais tarde na vida de um sistema, é o teste de regressão. Se houver novas versões de software, então a bateria de testes a que o sistema foi inicialmente submetido deve ser aplicada ao novo produto, eventualmente com casos de testes adicionais Testes estatísticos Uma técnica que pode ser usada também ao nível do módulo como ao nível do sistema é o uso de testes estatísticos. Se se conhecer a função distribuição de probabilidade para cada entrada podem-se gerar números aleatórios tirados dessa distribuição. Os principais problemas com este tipo de testes são, na maior parte das vezes, o desconhecimento da(s) 9-6

7 distribuição(ões), e o facto de os erros mais difíceis de serem detectados serem exactamente aqueles que tem uma menor probabilidade de ocorrência Teste de stress Neste caso o sistema é submetido a forte perturbações nas entradas (por exemplo várias interrupções sucessivas), seguidas de poucas perturbações na entrada, por um largo período de tempo. 9.4 Tolerância a falhas Tolerância a falhas significa a habilidade do sistema de continuar a funcionar na presença de uma falha de hardware ou software. A fiabilidade de um sistema de tempo real pode ser melhorada, utilizando tolerância a falhas, de duas maneiras: tolerância espacial, isto é, a utilização de métodos que envolvem redundância em software ou em hardware, e tolerância temporal, isto é, a utilização de métodos que toleram a falha do cumprimento de metas temporais Solução geral A fiabilidade do hardware pode ser melhorada usando tolerância a falhas espacial usando 3 ou mais dispositivos ligados por um esquema de votação maioritária. Por vezes é também usado um ou mais pares de dispositivos redundantes. Cada elemento de um par compara a sua saída com a do seu companheiro. Se os resultados diferem, então o par declara-se em erro, e as suas saídas são ignoradas. Esquemas de votação podem também ser usados para software. Diferente informação pode ser usada para melhorar a estimativa de uma dada variável Checkpoints Em localizações fixas do código, resultados intermédios podem ser escritos em ficheiros ou posições de memória. Estas localizações, chamadas de s, podem ser usados durante a operação do sistema ou durante a verificação do sistema. Se os s forem usados durante o teste, isto é chamado de test probe. Estes pontos de prova introduzem pequenos erros temporais que são difíceis de diagnosticar. 9-7

8 Bloco 1 Bloco 2 Bloco 3 Fig. 9-3: Implementação de Técnica de recuperação Os s podem ser usados conjuntamente com técnicas de recuperação (recovery) para aumentar a fiabilidade do sistema. Neste caso, pontos pré-determinados do código são pontos de reset. Nestes pontos os s são testados para verificar se os resultados são razoáveis. Se o são, então passa-se para o próximo bloco de recuperação. Se não são, esse bloco é corrido novamente, ou o controlo é passado para outro anterior, com eventualmente novos dados, o que possibilita que o sistema recupere de uma eventual falha. Bloco 1 Bloco 2 Bloco 3 Testa resultados intermédios Restart Fig. 9-3: Implementação de um bloco de recuperação Cada bloco de recuperação funciona assim, de um certo modo, como um bloco em paralelo, aumentando a fiabilidade do sistema Programação de n versões Qualquer sistema pode bloquear por ter sido executada uma mudança de fluxo não testada e entrar num estado em que não existe saída. Para diminuir a possibilidade de estas situações acontecerem, podem-se introduzir processadores redundantes que executam software com as mesmas especificações, mas produzidos por diferentes programadores. A possibilidade de os diferentes sistemas bloquearem no mesmo ponto é assim altamente reduzida. Dado que 9-8

9 normalmente cada sistema tem um watchdog timer, o sistema total pode rapidamente chegar à conclusão que esse processador está inoperativo, e ignorá-lo. Esta técnica é chamada de programação de n versões. Os processadores redundantes podem usar um esquema de votação para decidir das saídas, ou pode ser usado um esquema master-slave. Neste caso o master está on-line, a produzir saídas aplicadas ao processo, enquanto o slave só vigia a sua operação. Se, no entanto, for detectada alguma anomalia no master, o slave fica on-line Software de teste incorporado Uma outra forma de aumentar a fiabilidade do hardware é incorporar software de teste no código (built-in test software BITS). Como exemplo, se um canal de I/O não está a funcionar correctamente, o software pode encerrá-lo e reconfigurar o sistema. BITS têm importantes vantagens, mas torna-se difícil depois determinar análises de performance de pior caso Teste de CPU O CPU é provavelmente o dispositivo mais importante do sistema. Podem-se desenhar testes para validar o bom funcionamento do CPU em todos os modos de endereçamento. Este conjunto de testes é no entanto demorado, e por isso deve ser executado em background, e com as interrupções inibidas Testes de memória Há dois tipos de erros de memória: erro de conteúdo, denominado de soft error, e erro da célula de memória, denominado hard error Memória ROM Muitas vezes a memória ROM é testada utilizando checksums, que são essencialmente adições binárias para toda a memória ROM. Este valor é comparado com a checksum original, calculada na linkage e armazenada numa posição de memória ROM. A desvantagem que este método tem é a de que um número par de erros em cada bit pode-se anular, e portanto não se trata de um sistema muito fiável. O método mais utilizado é utilizar um código redundante cíclico (cyclic redundant code CRC), que trata o conteúdo da memória total como uma cadeia enorme de bits, associando-a a uma polinomial de ordem muito elevada. Esta é conhecida como a polinomial de mensagem. Uma segunda polinomial de mais baixa ordem (tipicamente de ordem 16) é 9-9

10 chamada de polinomial geradora, é dividida pela polinomial da mensagem, a qual é acrescida de um conjunto de bits a 0 para cada termo na polinomial geradora. O resultado da divisão é um quociente e um resto, sendo o 1º descartado e o 2º usado para detectar todos os erros de 1-bit e virtualmente todos os erros de bits múltiplos. Não permite, no entanto, diagnosticar a causa do erro Memória RAM Dada a natureza dinâmica desta memória, as técnicas anteriores não podem ser utilizadas. Uma maneira de proteger esta memória contra erros é adicionar bits extra, para implementar um código de Hamming. Dependendo do número de bits, chamados de sindroma, erros de 1 ou mais bits podem ser detectados e corrigidos. Chips que implementam a detecção e correcção de erros (error detection and correction EDC) estão disponíveis comercialmente. Durante uma operação de leitura ou de escrita, os dados passam pelo chip, são comparados com o sindroma e as correcções são implementadas. De salientar que numa operação de leitura os conteúdos da memória não são alterados, o que quer dizer que numa operação de leitura subsequente todo o processo é repetido. Numa operação de escrita o código é computado e armazenado simultaneamente com os dados. Isto é chamado de RAM scrubbing. Na ausência de hardware para teste e correcção, um conjunto de testes, normalmente executados na inicialização, é utilizada para testar a memória Outros dispositivos A outros dispositivos estão normalmente associados hardware timers, que indicam se o dispositivo está ou não on-line. BITS podem também estar incorporados nos dispositivos e no software para aumentar a fiabilidade Interrupções espúrias e perdidas Interrupções não desejadas são chamadas de espúrias. Podem acontecer por ruído, descargas de alimentação, e outros factores. Interrupções perdidas podem ter causas semelhantes Tratamento de interrupções espúrias O método mais utilizado é incorporar redundância nas interrupções. Além de provocar uma interrupção, uma flag adicional é levantada para indicar uma interrupção válida. A rotina de tratamento da interrupção testa essa flag adicional, baixando-a e continuando o tratamento da interrupção se a flag estiver levantada. Em caso contrário, trata-se de uma interrupção espúria e a rotina deve terminar o mais rapidamente possível. 9-10

11 Interrupções perdidas Estas são mais difíceis de serem detectadas e corrigidas. Podem-se utilizar watchdog timers em software que são ligados ou desligados pela rotina em questão. Rotinas de mais alta prioridade e executando a uma taxa mais alta podem verificar essas posições de memória de modo a garantir que a frequência de interrupções é correcta. Caso não seja, a tarefa é reinicializada ou um erro indicado. 9-11

Tolerância a Faltas. 8/28/2003 José Alves Marques. Sistema Computacional

Tolerância a Faltas. 8/28/2003 José Alves Marques. Sistema Computacional Tolerância a Faltas Sistema Computacional Sistema computacional: Formado por um conjunto de componentes internas Contém um estado interno Está sujeito a um conjunto de entradas, ou estímulos externos Tem

Leia mais

B.I.S.T. Built-In Self Test

B.I.S.T. Built-In Self Test Instituto Superior de Engenharia do Porto Mestrado de Engenharia Electrotécnica Automação e Sistemas Disciplina de Síntese Alto Nível de Componentes Programáveis B.I.S.T. Built-In Self Test Elaborado por:

Leia mais

Comunicação de Dados

Comunicação de Dados UNISUL 2013 / 1 Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática 1 Comunicação de Dados Aula 6 Agenda Projeto da camada de enlace de dados Detecção e correção de erros Protocolos

Leia mais

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks )

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks ) RAID O que é um RAID? RAID RAID (Redundant Array of Independent Disks ) Matriz Redundante de Discos Independentes Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID Surgiu

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Introdução a Tolerância a Falhas

Sistemas Distribuídos: Conceitos e Projeto Introdução a Tolerância a Falhas Sistemas Distribuídos: Conceitos e Projeto Introdução a Tolerância a Falhas Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.ufma.br

Leia mais

Camada de Ligação de Dados

Camada de Ligação de Dados Camada de Ligação de Dados Serviços Detecção e correcção de erros Protocolos de Acesso Múltiplo Endereçamento em LANs Hubs e Pontes de interligação Tecnologias da camada de ligação de dados Ethernet Anel

Leia mais

REDES DE COMPUTADORES. Detecção e Correção de Erros

REDES DE COMPUTADORES. Detecção e Correção de Erros REDES DE COMPUTADORES Detecção e Correção de Erros A Camada de Enlace Serviços prestados Serviços da camada de Enlace Encapsulamento Endereçamento Controle de erros Controle de fluxo Controle de acesso

Leia mais

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Interrupções. As interrupções são casos especiais de chamadas de procedimentos. Interrupções Uma interrupção é equivalente a uma chamada de procedimento. A chamada é equivalente a um CALL gerado pela execução de uma instrução. As interrupções são casos especiais de chamadas de procedimentos.

Leia mais

Sistemas Distribuídos e Paralelos

Sistemas Distribuídos e Paralelos Sistemas Distribuídos e Paralelos Tolerância a Falhas Ricardo Mendão Silva Universidade Autónoma de Lisboa r.m.silva@ieee.org January 14, 2015 Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas de Entrada/Saída Sistema de Entrada/Saída - Redundant Array of Independent Disks 0 - Matriz de Discos sem Tolerância a Falhas 1 - Espelhamento 2 - Código de Hamming 3 - Transferência Paralela

Leia mais

Arquitetura e Organização de Computadores I

Arquitetura e Organização de Computadores I Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções

Leia mais

Codificação de Canal

Codificação de Canal Laboratório de Processamento de Sinais Laboratório de Sistemas Embarcados Universidade Federal do Pará 26 de janeiro de 2012 Sumário 1 Introdução a 2 Códigos de Blocos Lineares 3 Códigos Cíclicos Introdução

Leia mais

Sistemas Tolerantes a Falhas

Sistemas Tolerantes a Falhas Sistemas Tolerantes a Falhas Ténicas de TF para Diversidade de Dados Prof. Jó Ueyama 1 Introdução A diversidade de dados vem complementar as técnicas de diversidade vistas até agora A diversidade de dados

Leia mais

Exercícios do livro: Tecnologias Informáticas Porto Editora

Exercícios do livro: Tecnologias Informáticas Porto Editora Exercícios do livro: Tecnologias Informáticas Porto Editora 1. Em que consiste uma rede de computadores? Refira se à vantagem da sua implementação. Uma rede de computadores é constituída por dois ou mais

Leia mais

Tolerância a Faltas. Índice. Terminologia. Replicação Passiva e activa Modelo Transaccional Transacções distribuídas

Tolerância a Faltas. Índice. Terminologia. Replicação Passiva e activa Modelo Transaccional Transacções distribuídas Tolerância a Faltas Índice Terminologia Falta, erro, falha Fiabilidade, disponibilidade Replicação Passiva e activa Modelo Transaccional Transacções distribuídas Sistema Computacional Sistema computacional:

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais RAID Marcelo Diniz http://marcelovcd.wordpress.com/ O que é RAID? RAID RAID (Redundant Array of Independent Disks ) Matriz Redundante de Discos Independentes Recuperar informação

Leia mais

Gestão de Configurações II

Gestão de Configurações II Gestão de Configurações II Bibliografia Livro: Software Configuration Management Patterns: Effective Teamwork, Practical Integration Gestão de Projecto 14 Padrões de Gestão Os padrões de gestão de configurações

Leia mais

Sumário. Objectivos Técnicas Casos Notáveis Exemplo Conclusões. Testes de Software 2

Sumário. Objectivos Técnicas Casos Notáveis Exemplo Conclusões. Testes de Software 2 Testes de Software Sumário Objectivos Técnicas Casos Notáveis Exemplo Conclusões Testes de Software 2 Objectivos Verificação o programa está de acordo com a especificação (construímos bem o produto?) Validação

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

16.36: Engenharia de Sistemas de Comunicação Aula 14: Códigos cíclicos e detecção de erros

16.36: Engenharia de Sistemas de Comunicação Aula 14: Códigos cíclicos e detecção de erros 16.36: Engenharia de Sistemas de Comunicação Aula 14: Códigos cíclicos e detecção de erros Eytan Modiano Códigos Cíclicos Um código cíclico é um código de bloco linear onde c é uma palavra-chave, e também

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas de Computação O sistema operacional precisa garantir a operação correta do sistema de computação. Operação

Leia mais

1 - Cite o nome dos principais campos de um quadro Ethernet, explicando qual a funcionalidade de cada campo.

1 - Cite o nome dos principais campos de um quadro Ethernet, explicando qual a funcionalidade de cada campo. 1 - Cite o nome dos principais campos de um quadro Ethernet, explicando qual a funcionalidade de cada campo. Endereço de Destino = Endereço MAC de destino Endereço de Origem = Endereço MAC de origem Campo

Leia mais

O que é RAID? Tipos de RAID:

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

Leia mais

Falha benigna. Sistema. Sistema Próprio. Interrompido. Restauração. Falha catastrófica. Falha catastrófica. Sistema. Impróprio

Falha benigna. Sistema. Sistema Próprio. Interrompido. Restauração. Falha catastrófica. Falha catastrófica. Sistema. Impróprio INE 5418 Segurança de Funcionamento Tipos de s Detecção de s Recuperação de s Segurança de Funcionamento Representa a confiança depositada em um determinado sistema em relação ao seu correto funcionamento

Leia mais

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

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3 Tecnologia FPGA Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3.1. FPGA: Histórico, linguagens e blocos Muitos dos

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Curso de Eng. Informática Curso de Eng. de Electrónica e Computadores Aula Prática Bit stuffing, CRC e IP 1 Introdução 1.1 Framing O nível de ligação de dados utiliza o serviço fornecido

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Transmissão de dados Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Abril de 2006 Códigos de caracteres A informação é manuseada em blocos de 8 bits (bytes

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito

Leia mais

Redes de Comunicações. Redes de Comunicações

Redes de Comunicações. Redes de Comunicações Capítulo 0 Introdução 1 Um pouco de história Século XVIII foi a época dos grandes sistemas mecânicos Revolução Industrial Século XIX foi a era das máquinas a vapor Século XX principais conquistas foram

Leia mais

Capítulo 5 Entrada/Saída

Capítulo 5 Entrada/Saída Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S 5.1.1 Dispositivos de E/S Os dispositivos de E/S podem ser divididos em duas categorias: Dispositivos de bloco Armazena informações em blocos

Leia mais

Juciara Nepomuceno de Souza Rafael Garcia Miani. Teste de Software

Juciara Nepomuceno de Souza Rafael Garcia Miani. Teste de Software Juciara Nepomuceno de Souza Rafael Garcia Miani Teste de Software Técnicas de Teste de Software Testabilidade Operabilidade; Observabilidade; Controlabilidade; Decomponibilidade; Simplicidade; Estabilidade;

Leia mais

Admistração de Redes de Computadores (ARC)

Admistração de Redes de Computadores (ARC) Admistração de Redes de Computadores (ARC) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo glauco.cardozo@ifsc.edu.br RAID é a sigla para Redundant

Leia mais

Arquitetura de Computadores Pentium 4 e PCIe

Arquitetura de Computadores Pentium 4 e PCIe Pentium 4 Arquitetura de Computadores Pentium 4 e PCIe O Pentium 4 é um descendente direto da CPU 8088 usada no IBM PC original. O primeiro Pentium 4 foi lançado em novembro de 2000 com uma CPU de 42 milhõcs

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

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

Leia mais

Aula 2 Modelos computacionais

Aula 2 Modelos computacionais Sistemas de Tempo-Real Aula 2 Modelos computacionais Modelos de tarefas com restrições temporais explícitas Controlo lógico e temporal (por eventos -ET e por tempo -TT) Adaptado dos slides desenvolvidos

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 16: Entrada e Saída: Estudo de Caso Diego Passos Última Aula Software de Entrada e Saída. Subsistema de E/S. Conjunto de camadas de abstração para realização de

Leia mais

Auditoria e Segurança de Sistemas Aula 03 Segurança off- line. Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com

Auditoria e Segurança de Sistemas Aula 03 Segurança off- line. Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com Auditoria e Segurança de Sistemas Aula 03 Segurança off- line Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com Cenário off- line (bolha) 2 Roubo de Informação Roubo de Informação - Acesso físico

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 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

Tolerância a Falhas 1

Tolerância a Falhas 1 1 Roteiro Introdução Histórico Áreas de aplicação Conceitos Detecção e Recuperação de erros Arquiteturas Técnicas de Referências Introdução Meta dos sistemas tolerantes a falha Nenhum defeito de qualquer

Leia mais

Sistemas Operacionais Gerência de Dispositivos

Sistemas Operacionais Gerência de Dispositivos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência

Leia mais

Resumo. Introdução Classificação Fases Curiosidades

Resumo. Introdução Classificação Fases Curiosidades Tolerância à falha Resumo Introdução Classificação Fases Curiosidades Introdução Sistemas Tolerantes a Falhas são aqueles que possuem a capacidade de continuar provendo corretamente os seus serviços mesmo

Leia mais

RAID Redundat Arrays of Inexpensive Disks

RAID Redundat Arrays of Inexpensive Disks RAID Redundat Arrays of Inexpensive Disks Criado em alternativa para os discos grandes e caros. Justificativa: Substituindo discos grandes por muitos discos pequenos, o desempenho melhoraria mais cabeças

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central

Leia mais

4 Arquitetura básica de um analisador de elementos de redes

4 Arquitetura básica de um analisador de elementos de redes 4 Arquitetura básica de um analisador de elementos de redes Neste capítulo é apresentado o desenvolvimento de um dispositivo analisador de redes e de elementos de redes, utilizando tecnologia FPGA. Conforme

Leia mais

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S Estruturas de sistemas de computação Sumário! Operação de um sistema de computação! Estruturas de E/S! Estruturas de armazenamento! Hierarquia de armazenamento 2 1 Arquitectura de um sistema de computação

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição

Leia mais

Visão geral do sistema de armazenamento e hierarquia de memória

Visão geral do sistema de armazenamento e hierarquia de memória Visão geral do sistema de armazenamento e hierarquia de memória Conhecer os dispositivos de armazenamento por meio do conceito e dos tipos de memórias utilizadas no computador. Subsistemas de memória Memória

Leia mais

Capítulo I : Noções Gerais

Capítulo I : Noções Gerais Capítulo I : Noções Gerais 1 Capítulo I : Noções Gerais Informática (Teoria da Informação): Ciência do tratamento e transmissão da informação. Computador: Sistema que permite armazenar grandes quantidades

Leia mais

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo

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

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores. Professor: Vilson Heck Junior Arquitetura de Computadores Professor: Vilson Heck Junior Agenda Conceitos Estrutura Funcionamento Arquitetura Tipos Atividades Barramentos Conceitos Como já discutimos, os principais componentes de um

Leia mais

Sistemas Tolerantes a Falhas. Aulas Práticas

Sistemas Tolerantes a Falhas. Aulas Práticas Sistemas Tolerantes a Falhas Aulas Práticas 1- Apresentação (1 aula) a. Introdução à programação em C para o sistema b. Utilização de entradas e saídas digitais A placa : constituição, ligação ao, carga

Leia mais

Infraestrutura de Hardware. Memória Virtual

Infraestrutura de Hardware. Memória Virtual Infraestrutura de Hardware Memória Virtual Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo HW? Qual é a interface

Leia mais

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Os textos nestas caixas foram adicionados pelo Prof. Joubert William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 4 Memória cache Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Características Localização. Capacidade.

Leia mais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais 1º Estudo Dirigido Capítulo 1 Introdução aos Sistemas Operacionais 1. Defina um sistema operacional de uma forma conceitual correta, através de suas palavras. R: Sistemas Operacionais são programas de

Leia mais

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1 Entrada e Saída Interface entre periféricos, processador e memória Fonte: Minho - Portugal 1 Ligação Processador/Memória - Periférico Processador Memória Controlo Dados Controlador Fonte: Minho - Portugal

Leia mais

Programação de Sistemas para Tempo Real Capítulo 1. Luiz Affonso Guedes DCA-CT-UFRN 2003.1

Programação de Sistemas para Tempo Real Capítulo 1. Luiz Affonso Guedes DCA-CT-UFRN 2003.1 Programação de Sistemas para Tempo Real Capítulo 1 Luiz Affonso Guedes DCA-CT-UFRN 2003.1 Conteúdo Programático Capítulo 1: Introdução aos Sistemas de Tempo Real Definição, caracterização e classificação

Leia mais

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 1 - SISTEMA DE NUMERAÇÃO BINÁRIA E DECIMAL Todos os computadores são formados por circuitos digitais, onde as informações e os dados são codificados com dois níveis de tensão, pelo que o seu sistema

Leia mais

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA 8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente

Leia mais

Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 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.

Leia mais

Processos e Threads (partes I e II)

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

Leia mais

Arquitetura de Computadores. Arquitetura de Computadores 1

Arquitetura de Computadores. Arquitetura de Computadores 1 Computadores Computadores 1 Introdução Componentes: Processador; UC; Registradores; ALU s, FPU s, etc. Memória (Sistema de armazenamento de informações; Dispositivo de entrada e saída. Computadores 2 Introdução

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 6 ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE OBJETIVOS Qual é a capacidade de processamento e armazenagem que sua organização precisa para administrar suas informações e transações empresariais?

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Conceitos Conança de Funcionamento (Dependability) Representa a conança depositada em um determinado sistema em relação ao seu

Leia mais

Modelo Genérico de Módulo de E/S Grande variedade de periféricos

Modelo Genérico de Módulo de E/S Grande variedade de periféricos Conteúdo Capítulo 7 Entrada/Saída Dispositivos externos Módulos E/S Técnicas de E/S E/S Programada E/S Conduzida por interrupções Processamento de interrupções Controlador Intel 82C59A Acesso Directo à

Leia mais

Gestão da qualidade do software

Gestão da qualidade do software Gestão da qualidade do software Empenhada em assegurar que o nível de qualidade requerido de um produto de software é atingido Envolve a definição de normas e procedimentos de qualidade apropriados, e

Leia mais

Informática I. Aula 4. http://www.ic.uff.br/~bianca/informatica1/ Aula 4-11/09/2006 1

Informática I. Aula 4. http://www.ic.uff.br/~bianca/informatica1/ Aula 4-11/09/2006 1 Informática I Aula 4 http://www.ic.uff.br/~bianca/informatica1/ Aula 4-11/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Análise de Sistemas. Conceito de análise de sistemas

Análise de Sistemas. Conceito de análise de sistemas Análise de Sistemas Conceito de análise de sistemas Sistema: Conjunto de partes organizadas (estruturadas) que concorrem para atingir um (ou mais) objectivos. Sistema de informação (SI): sub-sistema de

Leia mais

Códigos de Detecção e Correcção de Erros

Códigos de Detecção e Correcção de Erros Códigos de Detecção e Correcção de Erros Sistemas Distribuídos e Tolerância a Falhas Manuela Rodrigues M1379 Detecção e Correcção de Erros Características dos Erros Possíveis Abordagens Códigos de Detecção

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Entrada/Saída Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Problemas Entrada/Saída Grande

Leia mais

Fundamentos de Sistemas Computacionais Introdução

Fundamentos de Sistemas Computacionais Introdução Fundamentos de Sistemas Computacionais Introdução Prof. Eduardo Alchieri Sistema Computacional Hardware Software Usuários Um ou mais processadores, memória, discos, impressoras, teclado, mouse, monitor,

Leia mais

Gerência de Entrada/Saída

Gerência de Entrada/Saída Gerência de Entrada/Saída Prof Clodoaldo Ap Moraes Lima 1 Princípios básicos de hardware Periférico é um dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

CAPÍTULO 5 CIRCUITOS SEQUENCIAIS

CAPÍTULO 5 CIRCUITOS SEQUENCIAIS CAPÍTULO 5 CIRCUITOS SEQUENCIAIS Circuitos com memória Latches NAND e NOR e exemplos de utilização Estado do Flip-flop ao ligar o circuito Pulsos digitais Sinais de clock e flip-flops com clock circuitos

Leia mais

Tratamento de erros. Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Abril de 2006

Tratamento de erros. Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Abril de 2006 Redes de Computadores Tratamento de erros Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Abril de 2006 Ligação de dados Conceitos e objectivos Uma ligação física caracteriza-se

Leia mais

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES TRANSFORMANDO DADOS EM INFORMAÇÕES Em geral, parece que os computadores nos entendem porque produzem informações que nós entendemos. Porém, tudo o que fazem é reconhecer dois estados físicos distintos

Leia mais

Fabio Bento fbento@ifes.edu.br

Fabio Bento fbento@ifes.edu.br Fabio Bento fbento@ifes.edu.br Eletrônica Digital Sistemas de Numeração e Códigos 1. Conversões de Binário para Decimal 2. Conversões de Decimal para Binário 3. Sistema de Numeração Hexadecimal 4. Código

Leia mais

Sistemas Distribuídos e Tolerância a Falhas

Sistemas Distribuídos e Tolerância a Falhas Processamento de erros Detectar / Recuperar/ Mascarar 1º passo: Detecção. A detecção de um erro pode ser realizada por mecanismos como: - códigos de detecção de erros, - timeouts - watchdogs - verificações

Leia mais

EA960 Redundância e Confiabilidade: RAID

EA960 Redundância e Confiabilidade: RAID EA960 Redundância e Confiabilidade: RAID Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Motivação Revisitando a lei de Amdahl:

Leia mais

Teste de Software. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites

Teste de Software. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites Teste de Software Prof. Avelino F. Zorzo PUCRS Elaborado inicialmente pelo prof. Bernardo Copstein Teste é uma coisa óbvia? Qual a complexidade da questão? tá pronto, profi, é só testar... ué, mas pra

Leia mais

Representação de Informação -- Texto -- Representação de Informação. Representação de Caracteres

Representação de Informação -- Texto -- Representação de Informação. Representação de Caracteres Representação de Informação -- Texto -- Sistemas Informáticos I, 2004/2005 (c) Paulo Marques SLIDES 5 Representação de Informação Como é que se representa texto? Como é que se representam imagens? Como

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

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

Leia mais

Introdução. Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Março de 2006

Introdução. Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Março de 2006 Redes de Computadores Introdução Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Março de 2006 Um pouco de História Século XVIII foi a época dos grandes sistemas mecânicos Revolução

Leia mais

Especificação Operacional.

Especificação Operacional. Especificação Operacional. Para muitos sistemas, a incerteza acerca dos requisitos leva a mudanças e problemas mais tarde no desenvolvimento de software. Zave (1984) sugere um modelo de processo que permite

Leia mais

Níveis de RAID - RAID 0

Níveis de RAID - RAID 0 RAID RAID é acrônimo para Redundant Array of Inexpensive Disks. Este arranjo é usado como um meio para criar um subsistema de unidade de disco, rápido e confiável, através de discos individuais. RAID é

Leia mais

Modelagem de Sistemas

Modelagem de Sistemas 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

Leia mais

Organização de Computadores. (Aula 5) Entrada/Saída

Organização de Computadores. (Aula 5) Entrada/Saída Organização de Computadores (Aula 5) Entrada/Saída Entrada e Saída (Input/Output I/O) Computador: Processador, Memória (principal e secundária) Equipamentos (dispositivos, elementos, unidades,...) de Entrada/Saída

Leia mais

Sistemas Operacionais Processos e Threads

Sistemas Operacionais Processos e Threads Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 8 http://www.ic.uff.br/~bianca/engsoft2/ Aula 8-17/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14 do

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

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

Leia mais

3. Comunicação em Sistemas Distribuídos

3. Comunicação em Sistemas Distribuídos 3. Comunicação em 3.1.Troca de mensagens As mensagens são objetos de dados cuja estrutura e aplicação são definidas pelas próprias aplicações que a usarão. Sendo a troca de mensagens feita através de primitivas

Leia mais

6 - Gerência de Dispositivos

6 - Gerência de Dispositivos 1 6 - Gerência de Dispositivos 6.1 Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de

Leia mais

DISPOSITIVOS DE MEMÓRIA

DISPOSITIVOS DE MEMÓRIA DISPOSITIVOS DE MEMÓRIA INTRODUÇÃO Um sistema digital é capaz de armazenar facilmente uma grande quantidade de informação por períodos de tempo curtos ou longos, sendo esta a sua principal vantagem sobre

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 1 OBJETIVOS 1. Qual é a capacidade de processamento e armazenagem que sua organização precisa para administrar suas informações e transações empresariais?

Leia mais

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Organização de um Computador Típico Memória: Armazena dados e programas. Processador (CPU - Central Processing

Leia mais

Estruturas do Sistema de Computação

Estruturas do Sistema de Computação Estruturas do Sistema de Computação Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Estruturas do Sistema de

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

Testar os programas para estabelecer a presença de defeitos no sistema. Teste de Software. Teste de defeitos. Objetivos. Tópicos

Testar os programas para estabelecer a presença de defeitos no sistema. Teste de Software. Teste de defeitos. Objetivos. Tópicos Teste de defeitos Teste de Software Testar os programas para estabelecer a presença de defeitos no sistema Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Ian Sommerville 2000

Leia mais

Métodos de Programação I 2. 1 Ana Maria de Almeida CAPÍTULO 2 CONTEÚDO

Métodos de Programação I 2. 1 Ana Maria de Almeida CAPÍTULO 2 CONTEÚDO Métodos de Programação I 2. 1 CAPÍTULO 2 CONTEÚDO 2.1 Programação: Conceitos Fundamentais 2.1.1 Fases de construção de um programa executável 2.2.2 Metodologia da programação 2.2 A Linguagem Pascal 2.2.1

Leia mais