UNIVERSIDADE ESTADUAL DO CEARÁ. Programação Paralela e Concorrente

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

Download "UNIVERSIDADE ESTADUAL DO CEARÁ. Programação Paralela e Concorrente"

Transcrição

1 UNIVERSIDADE ESTADUAL DO CEARÁ Programação Paralela e Concorrente Felipe de Almeida Xavier João Gonçalves Filho Prof.: Marcial Porto Fernandez FORTALEZA 2011

2 Sumário 1 Manual de Instalação Programa Versão Programa Versão Babuínos cruzando um cânion Descrição do Problema Interface Gráfica Interface Gráfica Estatísticas Estrutura Política Utilizada 6 4 Divisão de Tarefas 7 1

3 1 Manual de Instalação Para implementação foi utilizado a linguagem C++ com compilador g , então se faz necessário ter o compilador g++ instalado na máquina para poder recompilar o programa e gerar o executável que funcione na arquitetura do seu computador.já para parte gráfica foi usada a biblioteca SDL que feita também para C/C++, logo é preciso instalar os pacotes para que o programa posso ser instalado e executado. Se você possui na sua máquina o gerenciador de pacote apt get ou o Y um, você pode instalar os pacotes utilizando os seguintes comandos: apt get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev yum install SDL-devel SDL mixer-devel SDL image-devel SDL ttf-devel Caso não possua um desses gerenciadores você precisa baixar a biblioteca do SDL através desse link: Os pacotes do programa você encontra nos seguintes links: Programa Versão 1 Quando for extraído os arquivos será gerado um arquivo conf igure.sh,é necessário dar permissão para execução desse arquivo, para isso use o seguinte comando: $ chmod +x configure.sh Então executamos o configure, que vai compilar o código do programa e irá gerar uma pasta chamada programa, dentro dessa pasta estão todos os arquivos que o programa vai precisar para executar. Nessa versão foi usado o pipeline, para rodar o programa basta executar o script main.sh que irá rodar os dois binários que estão na pasta bin. 1.2 Programa Versão 2 É semelhante ao programa versão 1, após o configure, rode o script main.sh, mas nesse caso apenas o binário babuino é executado, pois nessa versão não foi usado o pipeline. Para ambas as versões existe um arquivo 2

4 chamado input.babu na pasta input, onde poderá ser setado alguns parâmetros do programa, são eles o número de babuínos, tempo de espera entre babuínos e número máximo de babuínos simultâneos da mesma direção que não irão dar a vez para os do outro lado. 2 Babuínos cruzando um cânion 2.1 Descrição do Problema Um estudante graduando em antropologia e em ciência da computação embarcou em um projeto de pesquisa para ver se os babuínos africanos tem inteligência para superar impasses (deadlocks). Ele localiza um cânion profundo e prende uma corda através dele, assim os babuínos podem cruzá-lo utilizando a corda. A passagem ao longo da corda segue estas regras: Vários babuínos podem atravessar o cânion ao mesmo tempo, desde que todos estejam indo no mesmo sentido. Babuínos se movendo em sentidos contrários irão produzir um impasse (os babuínos ficarão presos no meio da corda), porque é impossível para um babuíno passar sobre o outro, enquanto estiver suspenso sobre o canyon. Estando no meio da corda os babuínos também não sabem voltar. Quando um babuíno for atravessar o cânion, ele deve verificar se nenhum outro babuíno está atravessando no sentido oposto (deve esperar até a corda ficar livre). Implementação de uma solução que evita a fome (starvarion). Se um número grande de babuínos chegar em um lado do cânion, deve ser implementada uma política para permitir que os babuínos no sentido contrário possam atravessar. (alternar a oportunidade de travessia) A travessia também deve ser otimizada para evitar esperas muito longas (vários babuínos atravessando ao mesmo tempo). Fonte: trabalho-pratico

5 2.2 Interface Gráfica 1 Para implementar o trabalho descrito, elaboramos primeiramente uma simulação sem interface gráfica alguma, com o objetivo de testar os resultados mais rapidamente afim de evitar deadlocks. Quando terminamos e vimos que tinhamos resolvido o problema para o starvation, decidimos então desenvolver a parte gráfica separada. Assim, utilizamos o pipeline para a comunição entre os processos: o controle do babuínos sem starvation(processo 1) e a parte gráfica responsável por ilustrar a travessia dos babuínos(processo 2). Temos então, para a interface gráfica 1, comandos obtidos pela saída padrão do processo 1 para controlar a passagem dos babuínos pela ponte graficamente. Foram encontrados dois problemas nessa abordagem. O primeiro foi devido ao fato de utilizarmos o comando cout da biblioteca iostream para jogar os comandos na saída padrão e ainda o flush para forçar a saída. No entanto, como tinhamos threads rodado no processo 1 que executavam o flush, o flush de uma thread era executado no momento em que o cout de outra ainda estava em execução. Isso fez com que os comandos passados para o processo 2 fossem incompreensíveis, causando resultados inesperados na interface gráfica. O problema não foi muito comum de acontecer durante os nossos testes. Esse problema pode ser resolvido com uso de mutex para quem fosse imprimir algo na saída padrão. O segundo Problema foi devido à sincronização entre os processos. Os babuínos na interface gráfica ficavam esperando os comandos do processo 1 para dar continuidade à travessia, por exemplo, se o babuíno poderia entrar na ponte ou não. 2.3 Interface Gráfica 2 Para tentar uma outra solução, resolvemos implementar o problema como um processo único e todo o controle ocorria somente nele. As mesmas funções lançadas na thread foram aproveitadas da solução anterior mostrada. As modificações ocorreram nos métodos responsáveis por imprimir os babuínos na tela e como adaptar os comandos pelo fato de não receber nessa versão os camandos do processo Estatísticas São informados três dados importantes como resultado do trabalho: A quantidade de babuínos para cada sentido. 4

6 O tempo médio de espera para atravessar (tempo de espera + travessia). A taxa de aproveitamento da corda (tempo em uso / tempo total). A quantidade de babuínos para cada sentido foi obtida através do método que gerava os babuínos. Com 50% de chances de aparecer um babuíno da direita ou da esquerda, existe um contador calculando a quantidade de babuínos da esquerda, a quantidade dos da direita é obtida subtraindo-se do total de babuínos os gerados pela esquerda. BD = T OT AL B BE Para o valor do tempo médio de espera da atravessia, foi capturado o tempo corrente no momento antes em que o babuíno checa se a ponte está desponível e o outro no instante em que ele está livre para passar. É feita a subtração do último com primeiro e o resultado somado ao tempo de travessia de 4 segundos. A taxa de aproveitamento da corda é calculado obtendo os dois tempos: tempo total disponível da corda e tempo de uso da corda. O tempo total disponível da corda é obtido subtraindo o tempo corrente no início do programa do tempo corrente em que o último babuíno termina de atravessar. T D = T F T I. Foi utilizado a função gettimeofday() da biblioteca sys/time.h para a captura de ambos os tempos; 2.5 Estrutura 1 { 2 /* Semaforo de controle dos Babuinos vindos da direita */ 3 Semaphore right ; 4 /* Semaforo de controle dos Babuinos vindos da esquerda */ 5 Semaphore left ; 6 /* Estados da ponte */ 7 /* Ponte livre */ 8 # define ENABLE 1 9 /* Babuinos vindos da esquerda estao atualmente atravessando a ponte */ 10 # define RIGHTDISABLE 3 11 /* Babuinos vindos da direita estao atualmente atravessando a ponte */ 12 # define LEFTDISABLE 2 13 /* Exclusao mutua para acessar a condicao da ponte */ 14 Semaphore brg ; 15 /* funcoes threads */ 16 void * control ( void * arg ); 17 void * monkey ( void * arg ); 18 void * generate ( void * arg ); 5

7 19 void * calcs ( void * arg ); 20 } No código acima temos as principais variáveis e funções usadas para criar o programa. generate: Essa função irá simplesmente criar as threads monkey e setar o atributo direção do babuíno como direito ou esquerdo, isso é escolhido de forma aleatória. O tempo de criaçãos das threads monkey é definido no arquivo input.babu calcs: Essa função fica constantemente fazendo os cálculos das estatísticas para serem analisadas no final da execução. monkey e control Quando um monkey é criado ele deve saber se é possível o acesso a ponte, para isso ele testa o seu semafóro right/left. Esses semáforos recebem up() na função control, esta função sabe se deve ou não permitir um babuíno passar, analisando a condição atual da ponte. Suponha que a ponte está ENABLE, então o control permite acesso à um babuíno direito, logo ele seta a condição da ponte para LEF T DISABLE que quer dizer que apenas babuínos direitos podem passar pela ponte. A ponte volta a ficar ENABLE quando a fila de babuínos que estão atravessando a ponte está vazia, isso é analisado e setado na função monkey. 3 Política Utilizada Possíveis políticas de comportamento dos babuínos para este trabalho seriam: a Política Justa, a Política Comum e a Política de Controle de Starvation. A Política Justa é aquela em que segue a ordem de uma fila de chegada de babuínos. Ao chegar um babuíno quando a ponte está ocupada por outro do mesmo sentido, ele só aproveitará para passar se já não estiver um outro babuíno esperando no sentido oposto, obedecendo a ordem de chegada de cada babuíno. A Política Comum é aquela sitada no começo da descrição do trabalho, no qual ao chegar um babuíno e a ponte estiver ocupada no mesmo sentido de permissão, ele entrará também na ponte independentemente se ouver ou não um outro babuíno na direção oposta. A Política de Controle de Starvation é a política que tende ser a mais eficiente. É a política implementada neste trabalho, e somente. Ela é a aquela que procura ser justa com ambos os lados, sendo que o babuíno que 6

8 chegar no sentido oposto ao de permissão da ponte, só vai ficar esperando até o terceiro babuíno que atravessar (numero escolhido pela equipe), ganhando em seguida a permissão da ponte e evitando que babuínos da direção oposta se aproveitem e ocasione espera indefinida pelo que está esperando. A implementação da Política de controle de Starvation foi feita na thread control que ficou responsável por checar se o babuíno que está esperando já pode ter acesso à ponte, bloqueando-a para o lado oposto. O controle é feito por meio de uma fila que armazena o sentido de cada babuíno que chega. Possibilitando à ele conhecer o sentido dos babuínos criados e dar acesso ao babuíno segundo à política. 4 Divisão de Tarefas Inicialmente o Felipe implementou uma versão sem interface gráfica, durante os testes foi detectado deadlock. Em seguida, os dois planjeram uma outra solução com a política de controle de starvation, que é a utilizada agora, ambos implementaram a nova abordagem sem interface gráfica, onde o João concluiu o controle de starvation e o Felipe as estatísticas. Na parte gráfica, o João acrescentou o cenário com macaquinhos passando na ponte e o Felipe mostrou o resultado das estatísticas ao final da execução. 7

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS MACHADO/MAIA: CAPÍTULO 07, PÁGINA 101 Prof. Pedro Luís Antonelli Anhanguera Educacional sistemas multiprogramáveis Os sistemas multiprogramáveis

Leia mais

Sistemas Operacionais Sincronização e Comunicação entre Processos

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

Leia mais

Sistemas Operacionais

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

Leia mais

Sistemas Operacionais

Sistemas Operacionais AULA 09 Sincronização de Processos - II Monitores Conforme comentamos, o uso equivocado dos semáforos pode levar a uma situação de deadlock, por isso devemos tomar cuidado ao programar utilizando este

Leia mais

Sistemas Operacionais. Capítulo 7 Sincronização e Comunicação entre Processos

Sistemas Operacionais. Capítulo 7 Sincronização e Comunicação entre Processos Sistemas Operacionais Capítulo 7 Sincronização e Comunicação entre Processos Baseado no Livro e Material de Apoio de Arquitetura de Sistemas Operacionais 3ª edição - LTC - 2004 Francis Berenger Machado

Leia mais

Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br

Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Principais problemas programação concorrente Deadlocks (impasses) Starvation (inanição) Condições de corrida Erros de consistência na

Leia mais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais

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

Leia mais

Disciplina de Sistemas Distribuídos. Sincronização em SD. Prof. M.Sc. Alessandro Kraemer kraemer@utfpr.edu.br. Kraemer

Disciplina de Sistemas Distribuídos. Sincronização em SD. Prof. M.Sc. Alessandro Kraemer kraemer@utfpr.edu.br. Kraemer Disciplina de Sistemas Distribuídos Sincronização em SD Prof. M.Sc. Alessandro kraemer@utfpr.edu.br Cronograma Contextualização Tipos de sincronização Mecanismos para sincronização da região crítica Exclusão

Leia mais

Capítulo 8 Arquitetura de Computadores Paralelos

Capítulo 8 Arquitetura de Computadores Paralelos Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da

Leia mais

Sistemas Operacionais Aula 08: Sincronização de Processos. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 08: Sincronização de Processos. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 08: Sincronização de Processos Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o problema da seção crítica, cujas soluções podem ser usadas

Leia mais

9 - Sincronização e Comunicação entre Processos

9 - Sincronização e Comunicação entre Processos 1 9 - Sincronização e Comunicação entre Processos 91 Introdução Em um sistema multitarefa, seja com um único processador ou com mais de um processador ou ainda com vários núcleos por processador, os processos

Leia mais

Parte 1 Processos e Threads (20%)

Parte 1 Processos e Threads (20%) INE 5645 Programação Paralela e Distribuída 2011.1 Turma 0238B Prof. Bosco Nome: BOSCO Matrícula: Parte 1 Processos e Threads (20%) 1.1 Explique, resumidamente, o que é um processo em Sistema Operacional.

Leia mais

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Mas afinal, para que serve um sistema operacional? Gerenciando o hardware (--

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Mas afinal, para que serve um sistema operacional? Gerenciando o hardware (-- O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais Arquitetura de Computadores e Software Básico Flávia Maristela (flavia@flaviamaristela.com) Tudo o que já vimos antes... Visão interna

Leia mais

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br BC1518-Sistemas Operacionais Sincronização de Processos (aula 5 Parte 2) Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro Semáforos Monitores Passagem de Mensagem Exemplos em S.O.

Leia mais

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010) SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010) OBJETIVO GERAL Este trabalho possui o objetivo de exercitar a lógica de programação dos alunos do Terceiro ano do Curso de BSI e também desenvolver

Leia mais

Sistemas distribuídos. Grids e Clusters. Arquiteturas de SDs

Sistemas distribuídos. Grids e Clusters. Arquiteturas de SDs UTFPR/Curitiba - Especialização em Teleinformática Sistemas Distribuídos (Prof. Tacla) EXERCÍCIOS Sistemas distribuídos * consultar slides 0010 1. Quais as diferenças entre um sistema distribuído e um

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

Capítulo 2 Processos e Threads Prof. Fernando Freitas

Capítulo 2 Processos e Threads Prof. Fernando Freitas slide 1 Capítulo 2 Processos e Threads Prof. Fernando Freitas Material adaptado de: TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3ª edição. Disponível em: http://www.prenhall.com/tanenbaum_br slide

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

Udesc/Ceplan Bacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Alexandre Veloso alexandre.matos@udesc.br

Udesc/Ceplan Bacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Alexandre Veloso alexandre.matos@udesc.br Programação Concorrente [Parte 2] Udesc/Ceplan Bacharelado em Sistemas de Informação Sistemas Operacionais Prof. Alexandre Veloso alexandre.matos@udesc.br Condição de Corrida Uma forma de um processo comunicar-se

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Processos I: Threads, virtualização e comunicação via protocolos Prof. MSc. Hugo Souza Nesta primeira parte sobre os Processos Distribuídos iremos abordar: Processos e a comunicação

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

4 Conversor EDTV Raw. 4.1 Arquitetura

4 Conversor EDTV Raw. 4.1 Arquitetura 4 Conversor EDTV Raw O conversor EDTV Raw é o programa que lê um documento escrito no perfil NCL EDTV e gera um documento Raw equivalente, i.e. que define a mesma apresentação. Este capítulo, apresenta

Leia mais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Sistema Operacional Processo e Threads Introdução a Processos Todos os computadores modernos são capazes de fazer várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador pode

Leia mais

Controle de Concorrência

Controle de Concorrência Controle de Concorrência Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Controle

Leia mais

Comparativo de desempenho do Pervasive PSQL v11

Comparativo de desempenho do Pervasive PSQL v11 Comparativo de desempenho do Pervasive PSQL v11 Um artigo Pervasive PSQL Setembro de 2010 Conteúdo Resumo executivo... 3 O impacto das novas arquiteturas de hardware nos aplicativos... 3 O projeto do Pervasive

Leia mais

Dominando Action Script 3

Dominando Action Script 3 Dominando Action Script 3 Segunda Edição (2014) Daniel Schmitz Esse livro está à venda em http://leanpub.com/dominandoactionscript3 Essa versão foi publicada em 2014-05-02 This is a Leanpub book. Leanpub

Leia mais

Automatização de Aplicativos Windows usando o AutoHotKey

Automatização de Aplicativos Windows usando o AutoHotKey Automatização de Aplicativos Windows usando o AutoHotKey Muitos processos de negócio dependem de aplicativos de terceiros que assumem a presença de um operador humano para executar determinadas rotinas.

Leia mais

MODELAGEM E SIMULAÇÃO

MODELAGEM E SIMULAÇÃO MODELAGEM E SIMULAÇÃO Professor: Dr. Edwin B. Mitacc Meza edwin@engenharia-puro.com.br www.engenharia-puro.com.br/edwin Terminologia Básica Utilizada em de Sistemas Terminologia Básica Uma série de termos

Leia mais

Campus - Cachoeiro Curso Técnico de Informática. Sistema de Arquivos. Prof. João Paulo de Brito Gonçalves

Campus - Cachoeiro Curso Técnico de Informática. Sistema de Arquivos. Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática Sistema de Arquivos Prof. João Paulo de Brito Gonçalves Introdução É com o sistema de arquivos que o usuário mais nota a presença do sistema operacional.

Leia mais

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

No Fedora, instalamos os pacotes mysql e mysql-server, usando o yum: Instalando o MySQL O MySQL é um banco de dados extremamente versátil, usado para os mais diversos fins. Você pode acessar o banco de dados a partir de um script em PHP, através de um aplicativo desenvolvido

Leia mais

Notas da Aula 6 - Fundamentos de Sistemas Operacionais

Notas da Aula 6 - Fundamentos de Sistemas Operacionais 1. Monitores Notas da Aula 6 - Fundamentos de Sistemas Operacionais Embora os semáforos sejam uma boa solução para o problema da exclusão mútua, sua utilização não é trivial. O programador é obrigado a

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread; CAPÍTULO VI THREADS 6.1 INTRODUÇÃO Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread; O sistema operacional Toth, em 1979, foi o primeiro a implementar

Leia mais

MANUAL INSTALAÇÃO/CONFIGURAÇÃO RASPBERRYPI/DACPYTHON

MANUAL INSTALAÇÃO/CONFIGURAÇÃO RASPBERRYPI/DACPYTHON MANUAL INSTALAÇÃO/CONFIGURAÇÃO RASPBERRYPI/DACPYTHON 1. Primeiramente leia todo o manual, após ler, inicie instalando o sistema no Raspberry conforme tutorial abaixo: 2. Baixe os arquivos e verifique a

Leia mais

Instalando o Linux e outros Softwares

Instalando o Linux e outros Softwares Instalando o Linux e outros Softwares Atualizado em 4 de Dezembro de 2013 1 Introdução Nas minhas disciplinas são adotados obrigatoriamente algumas ferramentas computacionais para auxílio no processamento

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Projeto Amadeus. Guia de Instalação 00.95.00 Linux

Projeto Amadeus. Guia de Instalação 00.95.00 Linux Projeto Amadeus Guia de Instalação 00.95.00 Linux Agosto 2010 Sumário 1. Introdução...3 2. Pré-Requisitos...4 2.1 Máquina Virtual Java...4 2.1.1 Instalando JDK via apt-get...4 2.1.2 Instalando JDK a partir

Leia mais

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação Disciplina A Disciplina B Código Disciplina C/H Curso Disciplina C/H Código Curso Ano do Currículo 66303 ESTRUTURA DE DADOS I 68/0 ENG. DE

Leia mais

Computação Concorrente (MAB-117) Monitores

Computação Concorrente (MAB-117) Monitores Computação Concorrente (MAB-117) Monitores Prof. Silvana Rossetto 1 Departamento de Ciência da Computação (DCC) Instituto de Matemática (IM) Universidade Federal do Rio de Janeiro (UFRJ) Maio de 2012 1.

Leia mais

Usando o Nmap. A instalação do Nmap é bem simples. Após obter o código fonte execute os comandos abaixo: tar xjvpf nmap-3.48.tar.bz2 cd nmap-3.

Usando o Nmap. A instalação do Nmap é bem simples. Após obter o código fonte execute os comandos abaixo: tar xjvpf nmap-3.48.tar.bz2 cd nmap-3. Usando o Nmap Este artigo irá explicar como instalar e utilizar algumas funções do Nmap. Todos os comandos foram testados com a versão 3.48 do Nmap. É bem provável que alguns comandos não funcionem em

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Como Instalar Programas no GNU/Linux. Elexsandro Rangel dos Santos elexsandro.rangel@yahoo.com.br

Como Instalar Programas no GNU/Linux. Elexsandro Rangel dos Santos elexsandro.rangel@yahoo.com.br Como Instalar Programas no GNU/Linux Elexsandro Rangel dos Santos elexsandro.rangel@yahoo.com.br Sumário O que é um pacote? Principais formatos de pacotes no GNU/Linux Sistema de Gerenciamento de Pacotes

Leia mais

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

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

Leia mais

Threads em Java. Sistemas Operacionais - Laboratório Professor Machado

Threads em Java. Sistemas Operacionais - Laboratório Professor Machado Threads em Java Sistemas Operacionais - Laboratório Professor Machado 1 Conceitos de Programação Concorrente Uma unidade concorrente é um componente de um programa que não exige a execução seqüencial,

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerencia de Processos 4.1 Introdução aos Processos Gerenciamento de Processos Processo -Definição: É uma abstração do sistema

Leia mais

COMO INSTALAR ZIM 8.50 HP-UX, AIX, LINUX E UNIXWARE

COMO INSTALAR ZIM 8.50 HP-UX, AIX, LINUX E UNIXWARE ZIM TECHNOLOGIES DO BRASIL COMO INSTALAR ZIM 8.50 HP-UX, AIX, LINUX E UNIXWARE Próx Antes de Iniciar O objetivo deste documento é apresentar os passos necessários para instalar a versão mais recente do

Leia mais

O texto desta seção foi publicado em http://msdn.microsoft.com/ptbr/library/ms177433.aspx. o http://msdn.microsoft.com/pt-br/library/ms178104.

O texto desta seção foi publicado em http://msdn.microsoft.com/ptbr/library/ms177433.aspx. o http://msdn.microsoft.com/pt-br/library/ms178104. AULA 12 - Deadlocks Em alguns casos pode ocorrer a seguinte situação: um processo solicita um determinado recurso e este não está disponível no momento. Quando isso ocontece o processo entra para o estado

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

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,

Leia mais

Sistemas Operacionais

Sistemas Operacionais Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Sistemas Operacionais Carga horária total:

Leia mais

Série de Problemas - Sincronização com Semáforos

Série de Problemas - Sincronização com Semáforos Sistemas Operativos Série de Problemas - Sincronização com Semáforos Bibliografia essencial para a compreensão/realização da série: "Modern Operating Systems", Andrew S. Tanenbaum, Prentice Hall, Capítulo

Leia mais

Componentes da linguagem C++

Componentes da linguagem C++ Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

PROGRAMANDO ANDROID NA IDE ECLIPSE GABRIEL NUNES, JEAN CARVALHO TURMA TI7

PROGRAMANDO ANDROID NA IDE ECLIPSE GABRIEL NUNES, JEAN CARVALHO TURMA TI7 Serviço Nacional de Aprendizagem Comercial do Rio Grande do Sul Informação e Comunicação: Habilitação Técnica de Nível Médio Técnico em Informática Programação Android na IDE Eclipse PROGRAMANDO ANDROID

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 6 - ARQUITETURAS AVANÇADAS DE COMPUTADORES 1. INTRODUÇÃO As arquiteturas dos processadores têm evoluído ao longo dos anos, e junto com ela o conceito de arquitetura avançada tem se modificado. Nos

Leia mais

III - Processos e Threads

III - Processos e Threads III - Processos e Threads P rocesso é geralmente entendido como um programa em execução porém, na realidade, trata-se de uma estrutura mais complexa que contém, além do programa no seu formato executável,

Leia mais

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 6: Tipos Abstratos de Dados O objetivo desta aula é introduzir os conceitos envolvidos em Tipos Abstratos de Dados e explorar esses conceitos

Leia mais

Simulador de Sistemas de Arquivos

Simulador de Sistemas de Arquivos Simulador de Sistemas de Arquivos Trabalho Prático 1 Disciplina: Sistemas Operacionais 2009/1 Professor Humberto César Brandão de Oliveira O trabalho possui dois requisitos fundamentais: a. Entrega do

Leia mais

Arquitetura de Rede de Computadores

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

Leia mais

Maestro. Arthur Kazuo Tojo Costa 317497. Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação

Maestro. Arthur Kazuo Tojo Costa 317497. Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação Maestro Arthur Kazuo Tojo Costa 317497 Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação Introdução Sistema Operacional de Redes Detalhes do hardware Multiplexação

Leia mais

Manual de Instalação do Agente Citsmart

Manual de Instalação do Agente Citsmart 16/08/2013 Manual de Instalação do Agente Citsmart Fornece orientações necessárias para efetuar a instalação do Agente Citsmart. Versão 1.9 21/11/2014 Visão Resumida Data Criação 21/11/2014 Versão Documento

Leia mais

Treinamento PostgreSQL - Aula 05

Treinamento PostgreSQL - Aula 05 Treinamento PostgreSQL - Aula 05 Eduardo Ferreira dos Santos SparkGroup Treinamento e Capacitação em Tecnologia eduardo.edusantos@gmail.com eduardosan.com 04 de Junho de 2013 Eduardo Ferreira dos Santos

Leia mais

Concorrência e Paralelismo

Concorrência e Paralelismo Concorrência e Paralelismo mleal@inf.puc-rio.br 1 Programação Concorrente e Paralela Na programação sequencial todas as instruções de um programa são executadas através de uma única linha de execução Na

Leia mais

void echo(); { chin = getchar(); chout = chin; putchar(chout); }

void echo(); { chin = getchar(); chout = chin; putchar(chout); } Sincronização Processos (Aula de 10) Concorrência Dificuldades: Profa. Patrícia Ação Compartilhamento Gerência Localização D. Proteger Promover de alocação de recursos. globais. CostaLPRM/DI/UFES programas).

Leia mais

MC714 - Sistemas Distribuídos. Leandro Villas

MC714 - Sistemas Distribuídos. Leandro Villas MC714 - Sistemas Distribuídos Aula de Hoje Aula Passada Relógios Lógicos Relógios de Lamport Relógios Vetoriais Aula de Hoje Exclusão Mútua Algoritmos de Eleição Exclusão mútua Questão fundamental em SDs

Leia mais

Métodos de Sincronização do Kernel

Métodos de Sincronização do Kernel Métodos de Sincronização do Kernel Linux Kernel Development Second Edition By Robert Love Tiago Souza Azevedo Operações Atômicas Operações atômicas são instruções que executam atomicamente sem interrupção.

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Curso de Linux Básico

Curso de Linux Básico Curso de Linux Básico Oficina TecnoJovem Outubro/2013 Instalação de Programas Introdução Pacotes Gerenciamento de Pacotes Exemplos Material baseado na Documentação Ubuntu, disponível na Internet (WIKI)

Leia mais

Instalador/Atualizador PIMS Multicultura Manual de Referência. Versão 12.1.4

Instalador/Atualizador PIMS Multicultura Manual de Referência. Versão 12.1.4 Instalador/Atualizador PIMS Multicultura Manual de Referência Versão 12.1.4 Sumário 1. Descrição... 3 2. Pré-requisitos... 4 3. Etapas da instalação/atualização... 8 1. Iniciando a aplicação de instalação/atualização...

Leia mais

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres Tópicos de Ambiente Web Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres Roteiro Motivação Desenvolvimento de um site Etapas no desenvolvimento de software (software:site) Analise

Leia mais

ESTUDO DE CASO WINDOWS VISTA

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

Leia mais

SISTEMAS OPERACIONAIS II ESPECIFICAÇÃO CAMADA INDEPENDENTE

SISTEMAS OPERACIONAIS II ESPECIFICAÇÃO CAMADA INDEPENDENTE ANDRÉ LUCHESI CESAR HENRIQUE KÁLLAS SISTEMAS OPERACIONAIS II ESPECIFICAÇÃO CAMADA INDEPENDENTE Pontifícia Universidade Católica de Campinas Faculdade de Engenharia de Computação Turma III Grupo 9 Agosto

Leia mais

Sincronização. Sincronização de Relógios. Relógios Físicos

Sincronização. Sincronização de Relógios. Relógios Físicos Sincronização Embora a comunicação entre processos seja essencial em Sistemas Distribuídos, a sincronização de processos é também muito importante. Por exemplo: o É importante que vários processos não

Leia mais

3 Multi-Agent System for Stock Exchange Simulation

3 Multi-Agent System for Stock Exchange Simulation Multi-Agent System for Stock Exchange Simulation 29 3 Multi-Agent System for Stock Exchange Simulation A participação na competição Agent Reputation Trust (ART) Testbed [10] motivou o estudo do domínio

Leia mais

SIM0101 - Simulação de Eventos Discretos Semana 2-3

SIM0101 - Simulação de Eventos Discretos Semana 2-3 SIM0101 - Simulação de Eventos Discretos Semana 2-3 Introdução à modelagem e simulação com Arena Ricardo Lüders UTFPR Sumário Terminologia 1 Terminologia 2 3 4 Elementos básicos da simulação Variáveis

Leia mais

Uma Linguagem de Domínio Específico Baseada em Mônada com Suporte à Memória Transacional Distribuída em Java

Uma Linguagem de Domínio Específico Baseada em Mônada com Suporte à Memória Transacional Distribuída em Java Uma Linguagem de Domínio Específico Baseada em Mônada com Suporte à Memória Transacional Distribuída em Java Jerônimo da Cunha Ramos Prof. Dr. André Rauber Du Bois (Orientador) Prof. Dr. Maurício Lima

Leia mais

Nível 3 Sistema Operacional

Nível 3 Sistema Operacional Nível 3 Sistema Operacional Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas Organização de Computadores Prof. André Luiz 1 Nível

Leia mais

Rastreamento Mobile. Manual de uso

Rastreamento Mobile. Manual de uso atualizado em 10/06/2014 Rastreamento Mobile Manual de uso Agora você pode utilizar seu aparelho móvel para acessar o seu sistema de rastreamento! O rastreamento Mobile é um website preparado para apresentar

Leia mais

Programa ConsoleRPN. PUC-Rio CIV 2802 - Sistemas Gráficos para Engenharia Luiz Fernando Martha & André Maués Brabo Pereira

Programa ConsoleRPN. PUC-Rio CIV 2802 - Sistemas Gráficos para Engenharia Luiz Fernando Martha & André Maués Brabo Pereira Programa ConsoleRPN Programa criado com o Visual Studio Community 2013 para efetuar operações algébricas entre números, uma calculadora funcionando com console usando RPN PUC-Rio CIV 2802 - Sistemas Gráficos

Leia mais

Disparando o interpretador

Disparando o interpretador Capítulo 2: Usando o interpretador Python Disparando o interpretador O interpretador é frequentemente instalado como /usr/local/bin/python nas máquinas onde está disponível; adicionando /usr/local/bin

Leia mais

PROGRAMAÇÃO PARALELA EM C# Notas de Aula Prof. Marcos E Barreto

PROGRAMAÇÃO PARALELA EM C# Notas de Aula Prof. Marcos E Barreto PROGRAMAÇÃO PARALELA EM C# Notas de Aula Prof. Marcos E Barreto Referências: - Programming C#. Jesse Liberty, O Reilly, 2001. - Threading in Java and C#: a focused language comparison. Shannon Hardt -

Leia mais

VisTrails. Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ Email: fernando_seabra@cos.ufrj.br

VisTrails. Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ Email: fernando_seabra@cos.ufrj.br VisTrails Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ Email: fernando_seabra@cos.ufrj.br Características SGWf - Sistema de Gerenciamento de Workflows; Desenvolvido

Leia mais

Microprocessadores e Microcontroladores Prof. Edilson R. R. Kato Simulação do computador SAP-1

Microprocessadores e Microcontroladores Prof. Edilson R. R. Kato Simulação do computador SAP-1 UNIVERSIDADE FEDERAL DE SÃO CARLOS CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA (CCET) DEPARTAMENTO DE COMPUTAÇÃO Microprocessadores e Microcontroladores Prof. Edilson R. R. Kato Simulação do computador SAP-1

Leia mais

ATIVIDADE 1. Redes Windows. 1.1 Histórico do SMB

ATIVIDADE 1. Redes Windows. 1.1 Histórico do SMB ATIVIDADE 1 Redes Windows Falar sobre Samba e redes mistas Windows / Linux, sem antes explicar o conceito básico de uma rede não parece correto e ao mesmo tempo, perder páginas e mais páginas explicando

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos 1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos Já estudamos anteriormente que os processadores funcionam (ou melhor, o seu hardware funciona) através de ordens simples e básicas,

Leia mais

Problemas Clássicos de Sincronização

Problemas Clássicos de Sincronização Problemas Clássicos de Sincronização Filósofos Jantando Filósofo i: Solução Óbvia O problema dos filósofos jantando foi introduzido e solucionado por Dijkstra em 1965. Neste problema, 5 filósofos estão

Leia mais

mvbuilder - Manual do Usuário

mvbuilder - Manual do Usuário mvbuilder - Manual do Usuário mvbuilder Editor de mapas para o meavox Parte integrante da Suite meavox de comunicação alternativa. Manual do Usuário do mvbuilder Autor: Gustavo Furtado Versão deste documento:

Leia mais

SIMULADO DE INFORMÁTICA BÁSICA TÉCNICO DO MPU PROF. ALEXANDRE LÊNIN / PROF. JUNIOR MARTINS

SIMULADO DE INFORMÁTICA BÁSICA TÉCNICO DO MPU PROF. ALEXANDRE LÊNIN / PROF. JUNIOR MARTINS Olá, pessoal, tudo bem? Vamos fazer um simulado com 10 questões de informática direcionadas para o cargo de TÉCNICO DO MPU? São questões já aplicadas pelo CESPE em certames anteriores, mas que podem ser

Leia mais

Informática - Básico. Paulo Serrano GTTEC/CCUEC-Unicamp

Informática - Básico. Paulo Serrano GTTEC/CCUEC-Unicamp Informática - Básico Paulo Serrano GTTEC/CCUEC-Unicamp Índice Apresentação...06 Quais são as características do Windows?...07 Instalando o Windows...08 Aspectos Básicos...09 O que há na tela do Windows...10

Leia mais

Microsoft Office Excel 2007

Microsoft Office Excel 2007 1 Microsoft Office Excel 2007 O Excel é um programa dedicado a criação de planilhas de cálculos, além de fornecer gráficos, função de banco de dados e outros. 1. Layout do Excel 2007 O Microsoft Excel

Leia mais

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Processos e Threads Gustavo Reis gustavo.reis@ifsudestemg.edu.br - O que são Processos? Uma abstração de um programa em execução. Mantêm a capacidade de operações (pseudo)concorrentes,

Leia mais

Linguagem de Programação Visual

Linguagem de Programação Visual Linguagem de Programação Visual Unidade 1 Ambiente de desenvolvimento Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 SOBRE O JAVA... 3 AMBIENTE DE DESENVOLVIMENTO... 5 RECURSOS DA FERRAMENTA NETBEANS...

Leia mais

Programação Orientada a Objetos Threads

Programação Orientada a Objetos Threads Threads Prof. Edwar Saliba Júnior Janeiro de 2013 1 Introdução Multithreading: fornece múltiplas threads de execução para a aplicação; permite que programas realizem tarefas concorrentemente; às vezes

Leia mais

Introdução ao Processador CELL BE

Introdução ao Processador CELL BE 1 Introdução ao Processador CELL BE por: José Ricardo de Oliveira Damico 17 / Maio / 2007 São Paulo SP 2 SUMÁRIO LISTA DE FIGURAS 3 RESUMO 4 1.) INTRODUÇÃO 5 1.1) O que é? 5 2.) Utilização 5 3.) FUNCIONAMENTO

Leia mais

LEI Sistemas de Computação 2014/15. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença

LEI Sistemas de Computação 2014/15. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença LEI Sistemas de Computação 2014/15 Níveis de Abstração TPC4 e Guião laboratorial Luís Paulo Santos e Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------

Leia mais

Circuitos Digitais Cap. 6

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

Leia mais

Instalação e configuração de Sistema de Informação. Sobre o Help Center Live

Instalação e configuração de Sistema de Informação. Sobre o Help Center Live Nome: Nataniel Vieira Curso: Tecnologia em Redes de Computadores Disciplina: Sistemas de Informação Professor: Eduardo Monks Instalação e configuração de Sistema de Informação Sistema de Informação: Help

Leia mais