PARALELIZAÇÃO DE APLICAÇÕES NA ARQUITETURA CUDA: UM ESTUDO SOBRE VETORES 1
|
|
- Marco Antônio Teves Belém
- 8 Há anos
- Visualizações:
Transcrição
1 PARALELIZAÇÃO DE APLICAÇÕES NA ARQUITETURA CUDA: UM ESTUDO SOBRE VETORES 1 DUTRA, Evandro Rogério Fruhling 2 ; VARINI, Andre Luis 2 ; CANAL, Ana Paula 2 1 Trabalho de Iniciação Científica _UNIFRA 2 Ciência da Computação do Centro Universitário Franciscano (UNIFRA), Santa Maria, RS, Brasil tissao_dutra@hotmail.com; andre.varini@hotmail.com; apc@unifra.br RESUMO Nos primórdios da computação a programação para GPU - Graphics Processing Unit era considerada muito complexa e por este motivo inviável. A fabricante de placas gráficas NVIDIA foi pioneira no desenvolvimento de uma arquitetura que facilitasse a programação de GPU s para propósitos gerais e não apenas para o processamento de imagens como antigamente, essa arquitetura foi denominada Compute Unified Device Architecture - CUDA. Desde então pesquisas vem sendo feitas sobre a utilização desta arquitetura para aplicações de propósitos gerais. O objetivo do trabalho foi estudar o funcionamento da CUDA e a linguagem de programação utilizada por ela e realizar um estudo de caso. Por meio da compreensão e experimentação prática dos conceitos da arquitetura CUDA, foi implementado o algoritmo paralelo de soma de vetores e observado seu desempenho executando na GPU e na CPU Central Processing Unit. Conclui-se que a GPU permite obter desempenho no processamento deste tipo de operações. Palavras-chave: GPU - Graphics Processing Unit; Algoritmo paralelo; Álgebra Linear. 1. INTRODUÇÃO Nos primórdios da computação a GPU - Graphics Processing Unit, popularmente conhecida como placa de vídeo, era usada como um processador auxiliar apenas para o processamento de imagens, e a programação para ela era considera complexa e inviável, pois exigia que o programador tivesse conhecimento aprofundado em linguagens de baixo nível e sobre o hardware do dispositivo que desejava programar (YANO, 2010). No decorrer dos tempos, houve uma crescente necessidade de poder de processamento, pensando nessa necessidade a fabricante de GPU s NVIDIA foi pioneira no desenvolvimento de uma arquitetura que possibilitasse a programação da GPU para propósitos gerias, e não mais exclusivamente para o processamento de imagens como antigamente. Essa nova arquitetura criada foi denominada CUDA - Compute Unified Device Architecture (PINTO, 2011). Com CUDA é possível programar a GPU para aplicativos que não estejam exclusivamente ligados à processamento de imagens, como por exemplo, aplicativos comerciais onde são realizadas ordenação de valores, cálculo de finanças, dentre outros. O objetivo deste trabalho foi estudar o funcionamento da CUDA, a linguagem de programação utilizada por ela e, a partir disto, realizar um estudo de caso, por meio da implementação do algoritmo paralelo de soma de vetores para execução na GPU e na CPU 1
2 Central Processing Unit. Assim, inicialmente neste artigo, é caracterizada a arquitetura CUDA considerando o gerenciamento de threads, gerência de memórias, kernel e variáveis e funções específicas para execução. Após, é descrita a implementação do algoritmo de soma de vetores neste ambiente, bem como os resultados obtidos e as conclusões do trabalho. 2. ARQUITETURA CUDA CUDA - Compute Unified Device Architecture é uma arquitetura desenvolvida para GPU - Graphics Processing Unit da Nvidia que torna possível seu uso para propósitos gerais. A arquitetura permite que o programador desenvolva algoritmos que executam parte de suas instruções no dispositivo (processador da placa de vídeo), tornando assim a execução paralela. CUDA utiliza uma linguagem de alto nível que é uma extensão da linguagem de programação C padrão, adicionando uma biblioteca especifica com funções que auxiliam o programador. Mesmo assim, ainda é necessário que o programador tenha um conhecimento básico sobre a arquitetura do computador e da GPU, para ter condições de projetar e implementar os algoritmos paralelos que executem na CPU - Central Processing Unit e na GPU (PILLA, 2009), (PINTO,2011) A arquitetura CUDA é constituída por Streaming Multiprocessors (SM) e Scalar Processors (SP), que podem também ser chamados de Multiprocessadores e Núcleos de processamento. Cada multiprocessador é formado por um grupo de núcleos de processamento, em outras palavras, um numero n de núcleos encapsulados formam um multiprocessador. Cada multiprocessador executa de forma independente e paralela em relação aos demais. Os multiprocessadores possuem uma arquitetura chamada de SIMT - Single Instruction, Multiple Thread, onde todos os núcleos de um mesmo grupo executam a mesma instrução de forma paralela. Um exemplo é quando uma função com o qualificador global for chamada, todos os núcleos de um mesmo multiprocessador, irão executar em paralelo as instruções dessa função (IKEDA, 2011), (PILLA, 2009), (PINTO,2011). 2.1 Gerenciamento de Threads CUDA segue o conceito básico de grade (grid) e blocos (blocks). Uma grade apresenta uma estrutura abstrata em forma de matriz, onde cada posição dessa matriz contém um bloco diferente. Cada bloco é formado por um número pré-definido de threads que são também organizadas em forma de matriz. A grade (grid) pode ter sua estrutura abstrata interna em forma de matriz unidimensional ou bidimensional. Os blocos (blocks) apresentam uma estrutura interna em forma de matriz, mas que também podem ser organizadas de forma tridimensional, onde cada posição contém uma thread diferente. As 2
3 dimensões da grade e dos blocos são definidas pelo programador na criação de um novo kernel. Todos os blocos apresentam o mesmo número de threads. A Figura 1 ilustra uma grade formada por 6 blocos, organizada de forma bidimensional com dimensão 2x3 e cada bloco contém 12 threads organizadas internamente com dimensão 3x4. (IKEDA, 2011) Figura 1: Organização da grade e dos blocos de um kernel. (NVIDIA, 2012) Cada bloco é mapeado a um multiprocessador de forma automática pelo dispositivo, o número de blocos é independente do número de multiprocessadores existentes no dispositivo. As threads de cada bloco são organizadas consecutivamente em pequenos grupos denominados warp. Na Figura 2, é ilustrado um modelo de GPU que contém um número n de multiprocessadores (SM) cada um deles contendo 8 núcleos de processamento (SP). Se fossem criados blocos de 32 threads cada um, elas seriam divididas em pequenos grupos de 4 threads, cada grupo seria atribuído a um núcleo diferente. O número de threads por bloco é independente do número de núcleos (SP), mas cada modelo de GPU possui um número máximo suportado (PILLA, 2009), (IKEDA, 2011). Figura 2: Mapeamento das threads para os núcleos de processamento.(pilla, 2009) 2.2 Gerência de Memórias A GPU possui seu próprio conjunto interno de memórias, que é separado das memórias da CPU. Assim, o fluxo de execução de um algoritmo sempre segue os seguintes 3
4 passos: os dados a serem processados pelo dispositivo são criados e inicializados na CPU, depois são copiados da memória principal do computador para a memória global do dispositivo, após o processamento, os dados são novamente copiados para a memória principal do computador. Essas operações podem ser realizadas com as funções cudamemcpy e cudamalloc disponíveis na biblioteca runtime do CUDA (PILLA, 2009). Segundo Pilla (2009), a GPU possui memória dos seguintes tipos: memória local, memória global, memória de constantes e memória de texturas. Cada multiprocessador (SM) possui internamente memórias de alta velocidade com tamanho reduzido em Kbytes, que são dos seguintes tipos: registradores de 32 bits, memória compartilhada, cache de constantes e cache de texturas. A Figura 3 ilustra essa hierarquia de memória. Cada núcleo de processamento (SP) possui seus próprios registradores, que são alocados às threads que estão executando concorrentemente. Todos os núcleos de um mesmo multiprocessador podem acessar a memória compartilhada e efetuar operações de leitura e escrita. As caches de constantes e de texturas de um multiprocessador servem para dar agilidade ao processamento, pois as memórias responsáveis por esses tipos de armazenamentos se encontram na memória global do dispositivo, dessa forma os núcleos conseguem diminuir número de acessos às memórias externas ao multiprocessador. A memória global pode ser acessada por todos os núcleos de todos os multiprocessadores e sofrer operações de leitura e escrita. Existe uma memória local que é dividida e alocada para as threads, cada uma com seu próprio espaço de memória para realizar operações de leitura e escrita (PILLA, 2009). Figura 3: Hierarquia de memórias (PILLA, 2009). 2.3 Kernel O kernel pode ser definido como a parte paralela do código onde as threads são mapeadas aos multiprocessadores do dispositivo (GPU). Funções com o qualificador _global_ são denominadas kernel. Para um novo kernel ser criado, devem ser especificadas as dimensões, da grade (grid) e dos blocos (blocks), com a sintaxe <<<, >>>. A Figura 4 ilustra um exemplo de criação de um novo kernel. 4
5 Na linha 9 do código exemplo da Figura 4, a nova sintaxe é inserida entre o nome da função e a lista de parâmetros. Dois parâmetros devem ser passados: o primeiro diz respeito às dimensões da grade e o segundo diz respeito à dimensão dos blocos. A grade pode ser organizada de forma unidimensional e bidimensional e as threads de um bloco podem ser organizadas de forma tridimensional. No exemplo, a grade foi definida com o valor inteiro 1 e os blocos com o valor 40, ou seja, será criada uma grade contendo apenas 1 bloco e este bloco contem 40 threads, ambos organizados de forma unidimensional. Em outras palavras a dimensão da grade nada mais é que o número de blocos que serão criados, e as dimensões do bloco são o número de threads que cada bloco terá. Como só é possível a passagem de dois valores como parâmetros na sintaxe, para organização da grade e dos blocos em mais de uma dimensão, é necessário o uso de variáveis do tipo dim3 (YANO, 2010), (ROCHA, FILHO, 2010), (RIBEIRO, 2011). Figura 4: Criação de um novo kernel 2.4 Variáveis dim3, Variáveis Built-in, qualificadores de função e de variáveis Varáveis dim 3 são usadas para definição de dimensões, onde dim3 é uma estrutura já definida na linguagem CUDA, que apresenta o seguinte modelo: typedef struct { int x, y, z } dim3; onde, x representa o número de colunas, y o número de linhas e z o número de dimensões. Variáveis do tipo dim3 são comumente utilizadas para a definição de um novo kernel com mais de uma dimensão, e podem ser declaradas da seguinte forma: dim3 dimensaobloco (4,2,1); Na declaração da variável dimensaobloco são passados parâmetros atribuídos respectivamente para x, y e z. Caso não for especificado os valores de x, y e z, eles ficam com os valores padrão (1,1,1) (RIBEIRO, 2011), (NVIDIA, 2012), (IKEDA, 2011). Variáveis Built-in são variáveis pré-definidas pela linguagem e não podem ter seus valores modificados, são válidas somente em funções que executam na GPU. Elas permitem obter as dimensões da grade e dos blocos e também o índice das threads e dos blocos. Segundo NVIDIA (2012), as variáveis desse tipo são: griddim (variável do tipo 5
6 dim3 que contém as dimensões da grade); blockdim (variável do tipo dim3 que contém as dimensões do bloco); blockidx (variável do tipo uint3 que contém o índice do bloco na grade); threadidx (variável do tipo uint3 que contém o índice da thread no bloco); warpsize (variável do tipo int que contém o número de threads do warp). Conforme a estrutura do kernel ilustrado na Figura 1, a dimensão da grade é 2 linhas por 3 colunas então griddim.x = 3, griddim.y = 2. Todos os blocos apresentam as dimensões de 3 linhas por 4 colunas, então blockdim.x = 4, blockdim.y = 3. Em muitos casos é necessário para a resolução de um problema a obtenção do índice de determinado bloco ou thread, por exemplo a thread (3, 1) da grade (1, 1), os índices da thread seriam threadidx.x = 3, threadidx.y = 1, já os índices desse bloco seriam, blockid.x = 1, blockid.y = 1 (NVIDIA, 2012). Quando uma função é declarada, o programador deve especificar quem poderá chamar essa função e onde ela irá executar suas instruções. Essas permissões são denominadas de qualificadores do tipo de função. Existem três tipos de qualificadores do tipo de função: global, host e device : global : a função é chamada pelo host (CPU) mas suas instruções são executadas no device (GPU). Alguns pontos importantes são:o retorno deve ser sempre do tipo void; não suporta numero de argumentos variável; não é permitida a declaração de variáveis estáticas; não suporta recursão; quando uma função com esse qualificador for chamada, deve ser criado um novo kernel especificando as dimensões da grade e as dimensões de cada bloco. host : a função só pode ser chamada pelo host. Uma função com esse tipo de qualificador se torna uma função comum da linguagem C e suas instruções obviamente são executadas no host, e não pode ser chamada por funções que tem permissão device. device : a função é chamada e executada somente pelo device. Funções com qualificador host não podem fazer chamadas a ela. Alguns pontos importantes são: podem retornar valores, mas o endereço da função não pode ser obtido; não suporta recursão; não pode conter inicialização de variáveis estáticas em sua implementação; não suporta número variável de argumentos. Todas as funções declaradas no programa devem conter o seguinte protótipo: <tipo_de_permissão><tipo_do_retorno><nome_da_função>(lista_de_parame tros); caso o tipo de permissão não for especificado na função o compilador irá assumir que a permissão é do tipo host (IKEDA, 2011), (NVIDIA, 2012). Qualificadores do tipo de variáveis servem para especificar em qual das memórias do dispositivo a variável será alocada. Existem três qualificadores de tipos de variáveis, device, constant e shared. 6
7 device : a variável reside na memória global do dispositivo, tem o tempo de vida da aplicação e pode ser acessada por todas as threads de uma grade e pela CPU. constant : a variável reside na memória constante do dispositivo, seu tempo de vida e permissões de acesso são iguais aos do device. shared : a variável reside na memória compartilhada, pode ser acessada apenas pelas threads de um mesmo bloco, e o seu tempo de vida é o mesmo do bloco. Variáveis que não recebem esse qualificador são alocadas na memória local do dispositivo (IKEDA, 2011), (NVIDIA, 2012). 3. METODOLOGIA O presente trabalho foi desenvolvido por meio de uma revisão bibliográfica sobre as placas gráficas GPU Graphics Processing Unit, da NVIDIA e a arquitetura CUDA. Para o desenvolvimento do algoritmo, foi realizada revisão bibliográfica sobre as operações de álgebra linear com matrizes e vetores. Para o desenvolvimento foi instalado SDK Software Development Kit CUDA para Windows 64 bits, juntamente com a linguagem de programação C. A implementação foi desenvolvida e a execução paralela do algoritmo foi realizada em um computador com processador AMD Phenom(tm) II X Ghz, 2GB de memória RAM, e com uma placa gráfica Nvidia GeForce 9500 GT que possui 32 núcleos de processamento divididos em 2 multiprocessadores e 512 MB de memória. Para observar o desempenho, foram utilizadas medidas de tempo de execução do algoritmo. Como estudo de caso, apenas o algoritmo de soma de vetores é descrito, uma vez que os demais algoritmos paralelos de operações de álgebra linear encontram-se em fase de implementação. 4. RESULTADOS E DISCUSSÕES A soma de dois vetores é uma operação de álgebra linear. Esta operação requer que os dois vetores tenham o mesmo número de posições porque todas as posições do primeiro vetor serão somadas com as posições correspondentes do segundo, resultando em um terceiro vetor, do mesmo tamanho. Por exemplo, dado dois vetores e, a soma deles é feita da seguinte forma,, como pode ser observado o terceiro vetor irá conter o resultado da soma das posições correspondentes de e. A soma de dois vetores é comutativa, ou seja,. Foi implementado o algoritmo que efetua a soma de dois vetores de forma paralela, com o objetivo de validar o estudo realizado sobre CUDA e GPU. A Figura 5 ilustra parte da implementação do algoritmo. É necessária a criação de vários ponteiros, uns apontando 7
8 para a memória da CPU e outros para memória da GPU. A convenção da NVIDIA foi utilizada para identificar os tipos de ponteiros: antecedendo o nome do ponteiro colocam-se as palavras host para ponteiros na memória da CPU e device para ponteiros na memória da GPU, favorecendo a legibilidade do código. Isto pode ser observado na linhas 11 e 17. Figura 5: Implementação do algoritmo soma de vetores O algoritmo segue os seguintes passos: primeiramente é alocado espaço para os vetores na memória da CPU (host) (linhas 11, 12, 13); é alocado espaço no dispositivo para os três vetores e aqueles que serão somados são copiados da memória host para a memória do device (linhas 17 a 26); são definidos os parâmetros para a criação de um novo kernel com um cálculo proposto pela NVIDIA para criar um número de blocos, de forma a melhorar a distribuição de threads (linhas 28, 29); o kernel é criado e o processamento inicia 8
9 (linha 33); após o termino do processamento apenas o resultado da soma é copiado da memória do device para a memória do host (linha 40). Nas linhas 1 a 6 a função que realiza a soma dos vetores de forma paralela, obtém o identificador único de cada thread. Cada thread realiza a soma de duas posições equivalentes, por exemplo, se o identificador de thread for igual a 0, ela irá somar a posição 0 dos vetores, e assim sucessivamente para cada uma das n threads criadas, e como podem ser criadas mais threads do que o número total de posições dos vetores, existe um teste que evita a soma de posições inexistentes (linha 4). Para testar o desempenho do algoritmo desenvolvido, foi medido o tempo de execução do kernel soma_vetores, o ponto paralelo do código. Conforme a Figura 5, os tempos inicial e final são capturados, nas linhas 35 e 36. Os resultados obtidos foram satisfatórios para a operação da soma de vetores. Para vetores com , , e posições, o tempo no processamento de todos eles foi igual a zero milissegundos, pois foi medido somente o tempo de processamento da soma na GPU. Primeiramente, este tempo foi questionado, pois se esperava valores maiores, então para testar a validade do resultado, foram gerados vetores de tamanho , e e as medidas de tempo de execução realizadas a partir da inicialização dos dados. Os resultados obtidos neste teste estão no gráfico da Figura 6. Como a inicialização dos vetores se deu na CPU, isto influenciou no tempo de execução, fazendo com que a GPU levasse um pouco mais de tempo de processamento comparada à CPU. Conclui-se que, para problemas mais simples como a soma de vetores, a placa gráfica permite também um processamento rápido. Figura 6: Tempo de execução do algoritmo soma de vetores 5. CONCLUSÃO A partir do trabalho desenvolvido, considerou-se que os resultados foram satisfatórios, pois a GPU efetua o processamento das operações de forma rápida, 9
10 aproximando-se dos valores da CPU. Um dos grandes desafios encontrados na programação para GPU é a paralelização dos algoritmos que consiste em encontrar estratégias de implementá-los de forma que todos os núcleos de processamento executem a mesma instrução, sobre dados diferentes, já que os multiprocessadores executam suas instruções em SIMT, e tudo isso, visando a melhor utilização dos recursos e obtenção de desempenho. Pretende-se continuar o estudo da arquitetura CUDA, implementando em paralelo as demais operações de álgebra linear. REFERÊNCIAS IKEDA, Patricia Akemi. Um estudo do uso eficiente de programas em placas gráficas Dissertação. Instituto de Matemática e Estatística, Universidade de São Paulo, São Paulo NVIDIA CUDA C Programming Guide version 4.2. Disponível em ide.pdf. Acessado em Abril de PILLA, Laércio L. Análise de Desempenho da Arquitetura CUDA Utilizando os NAS Parallel Trabalho de Conclusão (Graduação em Ciência da Computação). Instituto de Informática, Universidade Federal do Rio Grande do Sul (UFRGS), Porto Alegre PINTO, Vinícius G. Ambientes de Programação Paralela Híbrida Dissertação. Programa de Pós-Graduação em Computação, Universidade Federal do Rio Grande do Sul (UFRGS), Porto Alegre, RIBEIRO, Ítalo Mendes da Silva. Paralelização em GPU da Segmentação Vascular com Extração de Centerlines por Height Ridges Dissertação (Programa de Pós-graduação em Sistemas e Computação). Departamento de Informática e Matemática Aplicada, Universidade Federal do Rio Grande do Norte (UFRN), Natal ROCHA, Kassiane de Almeida Pretti, FILHO, Luciano José Varejão Fassarella. Introdução ao CUDA utilizando métodos numéricos Trabalho de Conclusão de Curso. Centro Universitário Vila Velha, Vila Velha YANO, Luís Gustavo Abe. Avaliação e comparação de desempenho utilizando tecnologia CUDA Trabalho de Conclusão (Graduação em Ciência da Computação). Instituto de Biociências, Letras e Ciências Exatas, Universidade Estadual Paulista Júlio de Mesquita Filho, São José do Rio Preto - SP
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisAULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.
AULA4: PROCESSADORES 1. OBJETIVO Figura 1 Processadores Intel e AMD. Conhecer as funcionalidades dos processadores nos computadores trabalhando suas principais características e aplicações. 2. INTRODUÇÃO
Leia mais1.1. Organização de um Sistema Computacional
1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes
Leia maisCálculo Aproximado do número PI utilizando Programação Paralela
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Cálculo Aproximado do número PI utilizando Programação Paralela Grupo 17 Raphael Ferras Renan Pagaiane Yule Vaz SSC-0143 Programação
Leia maisO hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware
1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador
Leia maisAnálises Geração RI (representação intermediária) Código Intermediário
Front-end Análises Geração RI (representação intermediária) Código Intermediário Back-End Geração de código de máquina Sistema Operacional? Conjunto de Instruções do processador? Ambiente de Execução O
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA
Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais
Leia maisSistema de Computação
Sistema de Computação Máquinas multinível Nível 0 verdadeiro hardware da máquina, executando os programas em linguagem de máquina de nível 1 (portas lógicas); Nível 1 Composto por registrados e pela ALU
Leia maisProcessamento de Dados
Processamento de Dados Execução de Programas Os computadores não entendem nada além de comandos, dados e endereços escritos em linguagem binária, também chamada de linguagem de baixo nível. Ela utiliza
Leia maisSistema Operacional Correção - Exercício de Revisão
Prof. Kleber Rovai 1º TSI 22/03/2012 Sistema Operacional Correção - Exercício de Revisão 1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções? Não funcionaria.
Leia maisIntrodução a Informática. Prof.: Roberto Franciscatto
Introdução a Informática Prof.: Roberto Franciscatto 2.1 CONCEITO DE BIT O computador só pode identificar a informação através de sua elementar e restrita capacidade de distinguir entre dois estados: 0
Leia maisInformática I. Aula 5. http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1
Informática I Aula 5 http://www.ic.uff.br/~bianca/informatica1/ Aula 5-13/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisOrganização e Arquitetura de Computadores I. de Computadores
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)
Leia maisDisciplina: Introdução à Informática Profª Érica Barcelos
Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados
Leia maisCapacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB
Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha
Leia mais5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS. 5.1 - Os Programas de Avaliação
36 5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS 5.1 - Os Programas de Avaliação Programas de avaliação convencionais foram utilizados para análise de diversas configurações da arquitetura. Estes programas
Leia maisComparativo 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 maisA memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande
A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada
Leia maisGuilherme Pina Cardim. Relatório de Sistemas Operacionais I
Guilherme Pina Cardim Relatório de Sistemas Operacionais I Presidente Prudente - SP, Brasil 30 de junho de 2010 Guilherme Pina Cardim Relatório de Sistemas Operacionais I Pesquisa para descobrir as diferenças
Leia maisARQUITETURA DE COMPUTADORES - 1866
6.7 Operações com as Memórias: Já sabemos, conforme anteriormente citado, que é possível realizar duas operações em uma memória: Escrita (write) armazenar informações na memória; Leitura (read) recuperar
Leia maisExperimentos com a memória cache do CPU
Experimentos com a memória cache do CPU Alberto Bueno Júnior & Andre Henrique Serafim Casimiro Setembro de 2010 1 Contents 1 Introdução 3 2 Desvendando o cache 3 2.1 Para que serve o cache?.....................
Leia maisCISC RISC Introdução A CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; suporta mais instruções no entanto, com
Leia maisProcessos 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 maisTecnologia da Informação. Prof Odilon Zappe Jr
Tecnologia da Informação Prof Odilon Zappe Jr Conceitos básicos de informática O que é informática? Informática pode ser considerada como significando informação automática, ou seja, a utilização de métodos
Leia maisFACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES
FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é
Leia maisEstruturas 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 maisPlaca de vídeo em CUDA
Placa de vídeo em CUDA Matheus Costa Leone de Souza Krystian Aparacido Resumo Quando você tem um cálculo que possa ser grande demais para você realizar a mão, a primeira solução que lhe vem a cabeça é
Leia mais4 Implementação e Resultados Experimentais
4 Implementação e Resultados Experimentais Com o objetivo de fazer a criação automática de visões materializadas, ou seja, prover uma solução on-the-fly para o problema de seleção de visões materializadas,
Leia maisCurso de Eng. Informática Linguagens de Programação. C Sharp University Data Processing. (C Sharp Universidade de Processamento de Dados) Docente:
Trabalho elaborado por: Carlos Palma nº5608 Curso de Eng. Informática Linguagens de Programação C Sharp University Data Processing (C Sharp Universidade de Processamento de Dados) Docente: José Jasnau
Leia maisGUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR
Curso Engenharia Informática Ano letivo 2012-2013 Unidade Curricular Arquitectura de Computadores ECTS 6 Regime Obrigatório Ano 2º Semestre 2ºsem Horas de trabalho globais Docente (s) Luis Figueiredo Total
Leia maisBACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia
O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos
Leia maisREFORÇO DE PROGRAMAÇÃO ESTRUTURADA EM LINGUAGEM C PARA GRADUAÇÃO EM ENGENHARIA ELÉTRICA
REFORÇO DE PROGRAMAÇÃO ESTRUTURADA EM LINGUAGEM C PARA GRADUAÇÃO EM ENGENHARIA ELÉTRICA Andréa Willa Rodrigues Villarim (Voluntário) Marcelo Pereira Rufino (Bolsista) Larissa Aguiar (Bolsista) Nady Rocha
Leia maisSistemas Operacionais e Introdução à Programação. Vetores e matrizes
Sistemas Operacionais e Introdução à Programação Vetores e matrizes 1 Matrizes Cada elemento de uma matriz é referenciado indicando-se sua posição dentro da matriz. Na Matemática, matrizes são arranjos
Leia maisSistemas 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 maisGerenciamento de Memória
Gerenciamento de Memória Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Tópicos Introdução Alocação Contígua
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Leia maisAULA 5 Sistemas Operacionais
AULA 5 Sistemas Operacionais Disciplina: Introdução à Informática Professora: Gustavo Leitão Email: gustavo.leitao@ifrn.edu.br Sistemas Operacionais Conteúdo: Partições Formatação Fragmentação Gerenciamento
Leia maisSistemas Operacionais
Sistemas Operacionais Gerenciamento de Memória Norton Trevisan Roman Marcelo Morandini Jó Ueyama Apostila baseada nos trabalhos de Kalinka Castelo Branco, Antônio Carlos Sementille, Paula Prata e nas transparências
Leia maisVeja abaixo um exemplo de um endereço IP de 32 bits: 10000011 01101011 00010000 11001000
4 Camada de Rede: O papel da camada de rede é transportar pacotes de um hospedeiro remetente a um hospedeiro destinatário. Para fazê-lo, duas importantes funções da camada de rede podem ser identificadas:
Leia maisSISTEMAS 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 maisProf. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa
Prof. Yandre Maldonado - 1 PONTEIROS Prof. Yandre Maldonado e Gomes da Costa PONTEIROS Prof. Yandre Maldonado - 2 Ponteiro é uma variável que possui o endereço de outra variável; É um poderoso recurso
Leia maisNotas da Aula 17 - Fundamentos de Sistemas Operacionais
Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.
Leia maisProgramaçã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 mais3. O NIVEL DA LINGUAGEM DE MONTAGEM
3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também
Leia maisDadas a base e a altura de um triangulo, determinar sua área.
Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares
Leia maisSistemas Computacionais II Professor Frederico Sauer
Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não
Leia maisIntrodução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1
Introdução à Organização e Arquitetura de Computadores Prof. Leonardo Barreto Campos 1 Sumário Introdução; Evolução dos Computadores; Considerações da Arquitetura de von Neumann; Execução de uma instrução
Leia maisFaculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.
Faculdade de Tecnologia SENAC Goiás Disciplina: Gerenciamento de Rede de Computadores : Goiânia, 16 de novembro de 2014. Faculdade de Tecnologia SENAC Goiás Professor: Marissol Martins Alunos: Edy Laus,
Leia maisOrganização de Computadores Hardware
Organização de Computadores Hardware Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Computador Ferramenta
Leia maisEngenharia de Software
Engenharia de Software O que é a engenharia de software É um conjunto integrado de métodos e ferramentas utilizadas para especificar, projetar, implementar e manter um sistema. Método É uma prescrição
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisProcesso de Controle das Reposições da loja
Processo de Controle das Reposições da loja Getway 2015 Processo de Reposição de Mercadorias Manual Processo de Reposição de Mercadorias. O processo de reposição de mercadorias para o Profit foi definido
Leia maisO processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.
O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);
Leia maisAMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário
Leia mais10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO
10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE
Leia maisINSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.
INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P. Centro de Emprego e Formação Profissional da Guarda Curso: Técnico de Informática Sistemas (EFA-S4A)-NS Trabalho Realizado Por: Igor_Saraiva nº 7 Com
Leia maisSistemas 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 maisORGANIZAÇÃO DE COMPUTADORES MÓDULO 10
ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10 Índice 1. A Organização do Computador - Continuação...3 1.1. Memória Primária - II... 3 1.1.1. Memória cache... 3 1.2. Memória Secundária... 3 1.2.1. Hierarquias de
Leia maisEscalonamento no Linux e no Windows NT/2000/XP
Escalonamento no Linux e no Windows NT/2000/XP 1 Escalonamento no Linux Os requisitos do escalonador do Linux eram: Apresentar boa performance em programas interativos, mesmo com carga elevada; Distribuir
Leia maisCPU Unidade Central de Processamento. História e progresso
CPU Unidade Central de Processamento História e progresso O microprocessador, ou CPU, como é mais conhecido, é o cérebro do computador e é ele que executa todos os cálculos e processamentos necessários,
Leia maisSISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores
SISTEMAS OPERACIONAIS Maquinas Virtuais e Emuladores Plano de Aula Máquinas virtuais Emuladores Propriedades Benefícios Futuro Sistemas de Computadores Os sistemas de computadores são projetados com basicamente
Leia maisIntrodução aos Computadores
Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas
Leia maisO que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional
O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais Laboratório de Sistemas Operacionais Aula 1 Flávia Maristela (flavia@flaviamaristela.com) Tudo o que já vimos antes... Introdução
Leia maisHardware de Computadores
Placa Mãe Hardware de Computadores Introdução Placa-mãe, também denominada mainboard ou motherboard, é uma placa de circuito impresso eletrônico. É considerado o elemento mais importante de um computador,
Leia maisSistemas Operacionais
Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos
Leia maisEsta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi
5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem
Leia maisCAPÍ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 maisBARRAMENTO DO SISTEMA
BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade
Leia maisIFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
Leia maisOrientação a Objetos
Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.
Leia maisContil Informática. Curso Técnico em Informática Processadores Core
Contil Informática Curso Técnico em Informática Processadores Core Quais as diferenças entre os processadores Intel Core i3, i5 e i7? A tecnologia avançada na área de hardware possibilita um avanço desenfreado
Leia maisALP Algoritmos e Programação. . Linguagens para Computadores
ALP Algoritmos e Programação Iniciação aos computadores. Linguagens para Computadores. Compiladores, Interpretadores. Ambientes de Programação 1 Linguagens para Computadores. Linguagem binária: Dispositivos
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
Leia maisMEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2
MEMÓRIA CONCEITO Bit- 0 1 Essência de um sistema chamado BIESTÁVEL Ex: Lâmpada 0 apagada 1 acesa 0 e 1 únicos elementos do sistema de numeração de base 2 A que se destina a memória: Armazenamento das instruções
Leia maisLÓGICA DE PROGRAMAÇÃO
Todos direitos reservados. Proibida a reprodução, mesmo parcial, por qualquer processo mecânico, eletrônico, reprográfico, etc., sem a autorização, por escrito, do(s) autor(es) e da editora. LÓGICA DE
Leia maisLP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br
LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de
Leia maisSistemas 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 mais1. NÍVEL CONVENCIONAL DE MÁQUINA
1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0
Leia maisOrganização de Computadores
Organização de Computadores Marcelo Lobosco DCC/UFJF Avaliando e Compreendendo o Desempenho Aula 09 Agenda Avaliando e Compreendendo o Desempenho Introdução Definindo Desempenho Medindo o Desempenho Desempenho
Leia maisEngenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Leia maisSISTEMAS 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 maisUniversidade Federal de Alfenas
Universidade Federal de Alfenas Projeto e Análise de Algoritmos Aula 04 Introdução a Análise de Algoritmos humberto@bcc.unifal-mg.edu.br Última aula Fundamentos de Matemática Exercícios: Somatórios; Logaritmos
Leia maisTécnicas de Manutenção de Computadores
Técnicas de Manutenção de Computadores Professor: Luiz Claudio Ferreira de Souza Processadores É indispensável em qualquer computador, tem a função de gerenciamento, controlando todas as informações de
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 5 Estrutura de Sistemas de Computação Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisArquitetura e Organização de Computadores. Capítulo 0 - Introdução
Arquitetura e Organização de Computadores Capítulo 0 - Introdução POR QUE ESTUDAR ARQUITETURA DE COMPUTADORES? 2 https://www.cis.upenn.edu/~milom/cis501-fall12/ Entender para onde os computadores estão
Leia maisArquitetura e Programação de GPU. Leandro Zanotto RA: 001962 Anselmo Ferreira RA: 023169 Marcelo Matsumoto RA: 085973
Arquitetura e Programação de GPU Leandro Zanotto RA: 001962 Anselmo Ferreira RA: 023169 Marcelo Matsumoto RA: 085973 Agenda Primeiras Placas de Vídeo Primeira GPU Arquitetura da GPU NVIDIA Arquitetura
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Leia maisWeb site. Objetivos gerais. Introdução. http://www.inf.ufes.br/~pdcosta/ensino/2009-1-estruturas-de-dados. Profa. Patrícia Dockhorn Costa
Web site http://www.inf.ufes.br/~pdcosta/ensino/2009-1-estruturas-de-dados Estruturas de Dados Aula 1: Introdução e conceitos básicos Profa. Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br 01/03/2010
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia mais7 Processos. 7.1 Introdução
1 7 Processos 7.1 Introdução O conceito de processo é a base para a implementação de um sistema multiprogramável. O processador é projetado apenas para executar instruções, não se importando com qual programa
Leia maisIMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET
1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com
Leia maisDesenvolvimento de um Simulador de Gerenciamento de Memória
Desenvolvimento de um Simulador de Gerenciamento de Memória Ricardo Mendes do Nascimento. Ciência da Computação Universidade Regional Integrada do Alto Uruguai e das Missões (URI) Santo Ângelo RS Brasil
Leia maisProcessos. Adão de Melo Neto
Processos Adão de Melo Neto 1 EXECUTE O SEGUINTE Baixa a aula dos dias 20 MAR 15 e 08 MAI 15 e salve no computador. Feche o browser Inicialize o vmware player e inicialize a máquina virtual ubuntu Inicialize
Leia maisGerência de Memória RAM em Computadores com Mais de 4GB O sistema Windows x86 (32bits) não tem capacidade de reconhecer, fisicamente, mais que 3,X GB de RAM, a não ser que seja ativado, manualmente, o
Leia maisUnidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01
Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal
Leia maisIntrodução a Informática. Prof.: Roberto Franciscatto
Introdução a Informática Prof.: Roberto Franciscatto 3.1 EXECUÇÃO DAS INSTRUÇÕES A UCP tem duas seções: Unidade de Controle Unidade Lógica e Aritmética Um programa se caracteriza por: uma série de instruções
Leia maisArquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
Leia mais