Oficina de Montagem e Manutenção de C
Transcrição
Oficina de Montagem e Manutenção de C
Of Ofici icina na Montagem e Manutenção de Computadores Objetivo Ensino prático da manutenção e montagem de micro-computadores que foram captados em doações. O curso apresenta componentes hardware (placa mãe, processador, memória ram, hd, placa off boards em geral), ensina a configurar a BIOS (Sistema Básico de Entrada/Saída) e, por fim, instalação do sistema Linux. Atividades Manipulação e encaixe das placas de computadores,configuração das placas na BIOS. As aulas são teóricas e práticas. Cronograma do projeto Os encontros são realizados 2 vezes por semana com a duração de 2 horas cada, totalizando 12h de carga horária. Período: 3 semanas 1º dia : Apresentar a placa-mãe, bem com o suas caracteristicas técnicas (on/off-board; chipset, slots; portas de comunicação; diferentes modelos; fabricantes; porque não temos Hardware-Livre ainda e como seria se tivessemos). Como funciona o fluxo de energia no computador (Corrente Eletrônica; Comportamento de elétrons; Propriedades termodinâmicas dos metais encontrados no processador) 2º dia : Como funciona o processador? (Conceitos básicos de válvulas e transistor; Arquitetura eletrônica do componente; Empacotamento de dados; Frequência de processamento - Unidades de Medida; Linguagem binária - 0,1; Cooler -propriedades e utilização do mesmo). - Montagem da placa-mãe com o processador e o cooler. 3º dia : Hard Disk - H.D. e Memória R.A.M. (Gravação de 0,1 - negativo/positivo no disco magnético do H.D; Comunicação do mesmo com a placa-mãe pela porta IDE; o que são BADBLOCK's e porque aparecem; Modelos de Formatação; Particionamento; Características tecnicas como RPM e Capacidade de Armazenamento). Processamento de dados em bits; O que é R.A.M. e R.O.M.; porque usamos diferentes tipos de memória; Barramento e comportamento. 4º dia : Fonte do Computador (Voltagem Real; Voltagem de Pico; Trafo; Correntes); BIOS, o que é e como funciona?; Tecnicas de Manutenção e Reparos; Limpeza; - Simular situações onde os oficinandos devem reparar supostos erros no micro-computador e colocá-lo para funcionar. 5º dia : Instalação de um Sistema Operacional GNU/Linux; O que é Software-Livre; Configurações padrão; instalação de aplicativos básicos; Distribuição de um CD com S.O. Linux para cada oficinando. Wikistila Ctrl+C Ctrl+V (Apostila criada com dados da Wikipédia) Placa-mãe Origem: Wikipédia, a enciclopédia livre. Placa ASRock Placa-mãe, também denominada mainboard ou motherboard, é uma placa de circuito impresso, que serve como base para a instalação dos demais componentes de um computador, como o processador, memória RAM, os circuitos de apoio, as placas controladoras, os slots do barramento e o chipset. Índice • 1 Tipos de placas-mãe ◦ 1.1 AT ◦ 1.2 AT e ATX (simultaneamente) ◦ 1.3 ATX ◦ 1.4 BTX ◦ 1.5 LPX ◦ 1.6 ITX • 2 Funcionamento • 3 Componentes • • • • 4 5 6 7 ◦ 3.1 Processador ◦ 3.2 Memória RAM ◦ 3.3 BIOS ◦ 3.4 Bateria ◦ 3.5 Chipset ◦ 3.6 Slots de expansão Controladores Componentes Ver também Referências Tipos de placas-mãe AT Placa-mãe com slot ISA (destaque) AT é a sigla para (Advanced Technology). Trata-se de um tipo de placa-mãe já antiga. Seu uso foi constante de 1983 até 1996. Um dos factores que contribuíram para que o padrão AT deixasse de ser usado (e o ATX fosse criado), é o espaço interno reduzido, que com a instalação dos vários cabos do computador (flat cable, alimentação), dificultavam a circulação de ar, acarretando, em alguns casos danos permanentes à máquina devido ao super aquecimento. Isso exigia grande habilidade do técnico montador para aproveitar o espaço disponível da melhor maneira. Além disso, o conector de alimentação da fonte AT, que é ligado à placa-mãe, é composto por dois plugs semelhantes (cada um com seis pinos), que devem ser encaixados lado a lado, sendo que os fios de cor preta de cada um devem ficar localizados no meio. Caso esses conectores sejam invertidos e a fonte de alimentação seja ligada, a placa-mãe será fatalmente queimada. Com o padrão AT, é necessário desligar o computador pelo sistema operacional, aguardar um aviso de que o computador já pode ser desligado e clicar no botão "Power" presente na parte frontal do gabinete. Somente assim o equipamento é desligado. Isso se deve a uma limitação das fontes AT, que não foram projetadas para fazer uso do recurso de desligamento automático. Os modelos AT geralmente são encontrados com slots ISA, EISA, VESA nos primeiro modelos e, ISA e PCI nos mais novos AT (chamando de baby AT quando a placa-mãe apresenta um tamanho mais reduzido que os dos primeiros modelos AT). Somente um conector "soldado" na própria placa-mãe, que no caso, é o do teclado que segue o padrão DIN e o mouse utiliza a conexão serial. Posição dos slots de memória RAM e socket de CPU sempre em uma mesma região na placa-mãe, mesmo quando placas de fabricantes diferentes. Nas placas AT são comuns os slots de memória SIMM ou SDRAM, podendo vir com mais de um dos padrões na mesma placa-mãe. 10ºI AT e ATX (simultaneamente) Modelo de transição entre o AT e o ATX uma vez que as duas tecnologias são encontradas simultaneamente. Esta é uma estratégia criada pelos fabricantes para obterem maior flexibilidade comercial. ATX Conectores PS/2 ATX é a sigla para (Advanced Technology Extended). Pelo nome, é possível notar que trata-se do padrão AT aperfeiçoado. Um dos principais desenvolvedores do ATX foi a Intel. O objetivo do ATX foi de solucionar os problemas do padrão AT (citados anteriormente), o padrão apresenta uma série de melhorias em relação ao anterior. Atualmente todos os computadores novos vêm baseados neste padrão. Entre as principais características do ATX, estão: • o maior espaço interno, proporcionando uma ventilação adequada, • conectores de teclado e mouse no formato mini-DIM PS/2 (conectores menores) • conectores serial e paralelo ligados diretamente na placa-mãe, sem a necessidade de cabos, • melhor posicionamento do processador, evitando que o mesmo impeça a instalação de placas de expansão por falta de espaço. Conector de energia ATX (24 furos) Placa-mãe ATX com slot AGP (destaque) Quanto à fonte de alimentação, encontramos melhoras significativas. A começar pelo conector de energia ligado à placa-mãe. Ao contrário do padrão AT, não é possível encaixar o plug de forma invertida. Cada orifício do conector possui um formato, que dificulta o encaixe errado. A posição dos slots de memória RAM e socket de CPU variam a posição conforme o fabricante. Nestas placas serão encontrados slots de memória SDRAM, Rambus, DDR, DDR-II ou DDR-III, podendo vir com mais de um dos padrões na mesma placa-mãe. Geralmente os slots de expansão mais encontrados são os PCI, AGP, AMR/CNR e PCI-Express. As placas mais novas vêm com entrada na própria placa-mãe para padrões de disco rígido IDE, Serial ATA ou Serial ATA II. Gerenciamento de energia quando desligado o micro, suporta o uso do comando "shutdown", que permite o desligamento automático do micro sem o uso da chave de desligamento encontrada no gabinete. Se a placa mãe for alimentada por uma fonte com padrão ATX é possível ligar o computador utilizando um sinal externo como, por exemplo, uma chamada telefônica recebida pelo modem instalado. BTX Ver artigo principal: BTX BTX é um formato de placas-mãe criado pela intel e lançado em 2003 para substituir o formato ATX. O objetivo do BTX foi otimizar o desempenho do sistema e melhorar a ventilação interna. Atualmente, o desenvolvimento desse padrão está parado. LPX Formato de placas-mãe usado por alguns PCs "de marca" como por exemplo Compaq. Seu principal diferencial é não ter slots. Os slots estão localizados em uma placa a parte, também chamada "backplane", que é encaixada à placa-mãe através de um conector especial. Seu tamanho padrão é de 22 cm x 33 cm. Existe ainda um padrão menor, chamado Mini LPX, que mede 25,4 cm x 21,8 cm. Esse padrão foi criado para permitir PCs mais "finos", já que as placas de expansão em vez de ficarem perpendiculares à placa-mãe, como é o normal, ficam paralelas. Após o padrão de placas-mãe ATX ter sido lançado, uma versão do LPX baseada no ATX foi lançada, chamada NLX. Visualmente falando é fácil diferenciar uma placa-mãe LPX de uma NLX. No padrão LPX o conector para a placa de expansão (backplane) está localizado no centro da placa-mãe e este é um conector parecido com um slot (conector "fêmea"). Já no padrão NLX o conector para a placa de expansão está localizado em uma das laterais da placa, e é um contato de borda contendo 340 pinos, similar ao usado por placas de expansão (ou seja, é um conector "macho"). ITX [1] É um padrão de placa-mãe criado em 2001 pela VIA Technologies. Destinada a micros altamente integrados e compactados, com a filosofia de oferecer não o computador mais rápido do mercado, mas sim o mais barato, já que na maioria das vezes as pessoas usam um micro para poder navegar na Internet e editar textos. A intenção da placa-mãe ITX é ter tudo on-board, ou seja, vídeo, áudio, modem e rede integrados na placa-mãe. Outra diferença dessa placa-mãe está em sua fonte de alimentação. Como possui menos periféricos, reduzindo assim o consumo de energia, sua fonte de alimentação pode ser fisicamente menor, possibilitando montar um computador mais compacto. Funcionamento A placa-mãe realiza a interconexão das peças componentes do microcomputador. Assim, processador, memória, placa de vídeo, HD, teclado, mouse, etc. estão ligados diretamente à placa-mãe. Ela possui diversos componentes eletrônicos (circuitos integrados, capacitores, resistores, etc) e entradas especiais (slots) para que seja possível conectar os vários dispositivos. Componentes Arquitetura de uma placa-mãe típica. Vamos destacar os mais importantes componentes de uma placa mãe: • Processador (conectado ao soquete) • Memória RAM • Bios (memória ROM) • Bateria • Chipset (norte e sul) Conectores • Slots de expansão (PCI, ISA, AGP...) • Conector IDE • Conector SATA • Conector Mouse(br)/Rato(pt) • Conector Teclado • Conector Impressora (porta paralela) • Conector USB Processador Ver artigo principal: Processador Processador AMD-AthlonXP 1700+ O processador fica encaixado no soquete devendo observar que uma placa-mãe não aceita qualquer tipo de processador, pois é desenvolvida para modelos específicos. Cada tipo de processador tem características que o diferenciam de outros modelos, a quantidade de pinos, por exemplo, ou o barramento da ponte norte. Assim sendo, a placa-mãe deve ser desenvolvida para aceitar determinados processadores. A freqüência é um dos itens que determinam a velocidade de processamento, entretanto a quantidade de memória cache e o seu barramento é fundamental para a agilidade do processador. Memória RAM Ver artigo principal: Memória RAM DDR400 de 1GB da Kingston SDRAM As placas-mãe mais antigas trabalhavam com tecnologia conhecida com SDR SDRAM e a DDR, atualmente o padrão mais usado é o DDR2. Com relação à capacidade de instalação de memória RAM nas placas-mãe mais antigas chegavam a 32Mb ou 64Mb, entretanto hoje não é dificil achar micros com pentes de memória com 1 Gb (1024 Mb) ou 2 Gb (2048 Mb) e podendo expandir (dependendo da placa-mãe) até 8 Gb (8192 Mb). BIOS Ver artigo principal: BIOS Flash-ROM BIOS da American Megatrends 1992 BIOS (Basic Input Output System) é um tipo de chip (Flash-ROM) que contém um pequeno software (256k) responsável por controlar o uso dos dispositivos e mantém informações de data e hora. O BIOS trabalha junto com o POST, um software que testa os componentes do micro em busca de eventuais erros. Podemos alterar as configurações de hardware através do Setup, uma interface também presente na FlashROM. Bateria Bateria de Lítio CR2032 3V A bateria interna do tipo Lítio(bateria de lítio) CR2032 tem a função de manter as informações da Flash-ROM (EEPROM) armazenadas enquanto o computador está desligado (somente em placas-mãe antigas, nas atuais sua principal função é manter o relógio interno funcionando). Chipset Southbridge da placa-mãe ASUS P4P800-E Northbridge da placa-mãe ASUS P4P800-E Ver artigo principal: Chipset Chipset é um chip (ou conjunto de chips) responsável pelo controle de diversos dispositivos de entrada (input) e saída (output) como o barramento, o acesso à memória, o acesso ao HD, periféricos on-board e off-board, comunicação do processador com a memória RAM e entre outros componentes da placa-mãe. Geralmente, é dividido em southbridge e northbridge. • O northbridge faz a comunicação do processador com as memórias, através do FSB (Front side bus), e com os barramentos de alta velocidade AGP e PCI Express. Como ele faz o trabalho mais pesado, geralmente requer um dissipador de calor devido ao seu aquecimento elevado. • O southbridge geralmente é responsável pelo controle de dispositivos de entrada ou saída (I/O) como as interfaces IDE que ligam os HDs, os drives de CD-ROM, drives de DVD-ROM ao processador. Controlam também as interfaces Serial ATA. Geralmente cuidam também do controle de dispositivos on-board como o som. Slots de expansão placa de rede 100Mbit tipo PCI da NIC Foto do adaptador gráfico tipo PCI Express Gigabyte com um chpiset NVIDIA (Geforce 6200TC) Algumas tecnologias foram desenvolvidas para dar maior flexibilidade aos computadores pessoais uma vez que cada cliente pretende utiliza-lo para um fim específico. O barramento PCI ou (Peripheral Component Interconnect) é uma tecnologia para conectar diferentes periféricos na Placa-mãe. Veja maiores detalhes no artigo Peripheral Component Interconnect. As placas-mãe mais antigas dispunham de outras tecnologias leia os artigos para saber mais: barramento ISA, barramento EISA, barramento VESA. O barramento AGP ou (Accelerated Graphics Port) é uma tecnologia de grande desempenho para processamento de imagens. As placas AGP excedem um pouco em tamanho as placas PCI. A tecnologia AGP já está sendo substituída pelo barramento PCI Express. A tecnologia PCI Express conta com um recurso que permite o uso de uma ou mais conexões seriais. Veja mais no artigo PCI Express. Controladores • On-board: como o próprio nome diz, o componente on-board vem diretamente conectado aos circuitos da placa mãe, funcionando em sincronia e usando capacidade do processador e memória RAM quando se trata de vídeo, som, modem e rede. Tem como maior objetivo diminuir o preço das placas ou componentes mas, em caso de defeito o dispositivo não será recuperável, no caso de modem AMR, basta trocar a "placa" do modem AMR com defeito por outra funcionando, pois, este é colocado em um slot AMR na placa-mãe. São exemplos de circuitos on-board: vídeo, modem, som e rede. • Off-board: são os componentes ou circuitos que funcionam independentemente da placa mãe e por isso, são separados, tendo sua própria forma de trabalhar e não usando o processador, geralmente, quando vídeo, som, modem ou rede, o dipositivo é "ligado" a placa-mãe usando os slots de expansão para isso, têm um preço mais elevado que os dispositivos on-board, sendo quase que totalmente o contrário em todos os aspectos do tipo on-board, ou seja, praticamente todo o processamento é realizado pelo próprio chipset encontrado na placa do dispositivo. Componentes A placa-mãe pode variar conforme o modelo e fabricante, mas há componentes que se mantêm: • Slots • Conectores • Portas • Bios • Chipset Processador Origem: Wikipédia, a enciclopédia livre. Processador Pentium III, da Intel. Vista inferior de um Athlon XP 1800+ núcleo Palomino. O processador é um circuito integrado que realiza as funções de cálculo e tomada de decisão de um computador, por isso é considerado o cérebro do mesmo. Ele também pode ser chamado de Unidade Central de Processamento (em inglês CPU: Central Processing Unit). Nos computadores de mesa (desktop) encontra-se alocado dentro do gabinete juntamente com a placa-mãe e outros elementos de hardware. No passado, os processadores eram constituídos de elementos discretos e ocupavam grandes espaços físicos. Com o advento da microeletrônica, a válvula foi substituída pelo transistor, e este por sua vez, permitiu integração em alta escala, originando os microprocessadores. Os processadores trabalham apenas com linguagem de máquina (lógica booleana). Realizam as seguintes tarefas: - Busca e execução de instruções existentes na memória. Os programas e os dados que ficam gravados no disco (disco rígido ou disquetes), são transferidos para a memória. Uma vez estando na memória, o processador pode executar os programas e processar os dados; - Controle de todos os chips do computador. Índice • 1 Componentes ◦ 1.1 Unidade lógica e aritmética ◦ 1.2 Unidade de Controle ◦ 1.3 Registradores ◦ 1.4 Memory Management Unit • 2 Frequência de Operação • 3 Arquitetura • 4 Modelos de Computação • 5 Exemplos de processadores • 6 Processadores da atualidade • 7 Ver também Componentes O processador é composto basicamente de quatro partes: Unidade lógica e aritmética O componente principal, a Unidade lógica e aritmética (ULA) realiza todas as operações lógicas e de cálculo que serão usadas para executar uma tarefa. Unidade de Controle A Unidade de controle (UC) é responsável pela tarefa de controle das ações a serem realizadas pelo computador, comandando todos os outros componentes. Registradores Os registradores são pequenas memórias velozes que armazenam comandos ou valores que utilizados no controle e processamento de cada instrução. Os registradores mais importantes são: - Contador de Programa (PC) – Sinaliza para a próxima instrução a ser executada; - Registrador de Instrução (IR) – Registra a instrução da execução; Os outros realizam o armazenamento de resultados intermediários. Memory Management Unit A MMU (em inglês: Memory Management Unit) é um dispositivo de hardware que transforma endereços virtuais em endereços físicos e administra a memória principal do computador. Frequência de Operação O relógio do sistema (Clock) é um circuito oscilador a cristal (efeito piezoelétrico) que tem a função de sincronizar e ditar a medida de tempo de transferência de dados no computador. Esta freqüência é medida em ciclos por segundo, ou Hertz. A capacidade de processamento não está relacionada exclusivamente à frequência do relógio, mas também a outros fatores como: largura dos barramentos, quantidade de memória cachê, arquitetura do processador, tecnologia de co-processamento, tecnologia de previsão de saltos (branch prediction), tecnologia de pipeline, conjunto de instruções etc. O aumento da frequência de operação nominal do processador é denominado Overclocking. Arquitetura Existem duas principais arquiteturas usadas em processadores: • A arquitetura de Von Newmann. Esta arquitetura caracteriza-se por apresentar um barramento externo compartilhado entre dados e endereços. Embora apresente baixo custo, esta arquitetura apresenta desempenho limitado pelo gargalo do barramento. • A arquitetura de Harvard. Nesta arquitetura existem dois barramentos externos independentes (e normalmente também memórias independentes) para dados e endereços. Isto reduz de forma sensível o gargalo de barramento, que é uma das principais barreiras de desempenho, em detrimento do encarecimento do sistema como um todo. Modelos de Computação Existem dois modelos de computação usados em processadores: • CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada em processadores Intel e AMD; possui um grande conjunto de instruções (tipicamente centenas) que são armazenadas em uma pequena memória não-volátil interna ao processador. Cada posição desta memória contém as microinstruções, ou seja, os passos a serem realizados para a execução de cada instrução. Quanto mais complexa a instrução, mais microinstruções ela possuirá e mais tempo levará para ser executada. Ao conjunto de todas as microinstruções contidas no processador denominamos microcódigo. Esta técnica de computação baseada em microcódigo é denominada microprogramação. • RISC (em inglês: Reduced Instruction Set Computing, Computador com um Conjunto Reduzido de Instruções) usada em processadores PowerPC (da Apple, Motorola e IBM) e SPARC (SUN); possui um conjunto pequeno de instruções (tipicamente algumas dezenas) implementadas diretamente em hardware. Nesta técnica não é necessário realizar a leitura em uma memória e, por isso, a execução das instruções é muito rápida (normalmente um ciclo de clock por instrução). Por outro lado, as instruções são muito simples e para a realização de certas tarefas são necessárias mais instruções que no modelo CISC. Exemplos de processadores • Microprocessadores — São utilizados nos computadores pessoais, onde são chamadas de Unidade Central de Processamento (CPU), workstations e mainframes. Podem ser programados para executar as mais variadas tarefas. • Processadores Digitais de Sinal (DSP do inglês Digital Signal Processor) — são microprocessadores especializados em processamento digital de sinal usados para processar sinais de áudio, vídeo, etc., quer em tempo real quer em off-line. Estão presentes, por exemplo, em aparelhos de CD, DVD e televisores digitais. Em geral, realizam sempre uma mesma tarefas simples. • Microcontroladores — Processadores relativamente flexíveis, de relativo baixo custo, que podem ser utilizados em projetos de pequeno tamanho. Podem trazer facilidades como conversores A/D embutidos, ou um conjunto de instruções próprias para comunicação digital através de algum protocolo específico. • GPU — ou Unidade de Processamento Gráfico), é um microprocessador especializado em processar gráficos. São utilizadas em placas de vídeo para fazer computação gráfica. Processadores da atualidade Até os dias de hoje usou-se microprocessadores para atividades domésticas ou de negócios com simples núcleo. Atualmente estão sendo utilizados microprocessadores de múltiplos núcleos para melhorar a capacidade de processamento sem aumentar diretamente o clock, como vinha-se fazendo. Assim, aumentando a capacidade sem aumentar excessivamente o consumo de energia e superaquecer a CPU. Espera-se que no futuro os Sistemas Operacionais domésticos sejam compilados para trabalhar com processadores de múltiplos núcleos corretamente, realizando assim inúmeras tarefas ao mesmo tempo (como já acontece com os supercomputadores). Código de máquina Origem: Wikipédia, a enciclopédia livre. Todo computador possui um conjunto de instruções que seu processador é capaz de executar. Essas instruções, chamadas de código de máquina, são representadas por sequências de bits, normalmente limitadas pelo número de bits do registrador principal da CPU. As instruções correspondem a seqüencias muito simples de operações, como transferir um dado em memória para a CPU ou somar dois valores e são normalmente interpretadas por micro-código. Um programa em código de máquina consiste de uma sequência de números que significam uma sequência de instruções a serem executadas. É normal a representação da linguagem de máquina por meio de números (opcodes) constantes e variáveis em sistema binário ou sistema hexadecimal. Alguns computadores também têm seu opcodes representados no sistema octal. Microprocessadores tem normalmente seus códigos de operação como múltiplos de 2, 8 e 16, pois usam arquiteturas com registradores de 8,16,32,64 ou 128 bits em 2006. Porém, existem máquinas com registradores de tamanho diferente. Os programas de computador raramente são criados em linguagem de máquina, mas devem ser traduzidos (por compiladores) para serem executados diretamente pelo computador. Existe a opção, em voga atualmente, de não executá-los diretamente, mas sim por meio de um interpretador, esse sim rodando diretamente em código de máquina e previamente compilado. Visualização de programas em linguagem de máquina Estes números não podem ser vistos num editor de texto, ou, caso se tente ver aparecem apenas um texto sem significado devido à existência de caracteres de controle. Abaixo pode-se ver o que é mostrado ao se abrir um código de máquina de um PC com um editor de texto: MZÀ�$Pÿv�èŠÿ]Ë3ÀP¸�F� ë�ƒF��¸�< uè2Àëä�Àt�Bª Àu�C†à2Àùã�¬I,"t��"<\u�€<"u�¬I�öÃé�îY�Ê.Ž�t�‰�”�C�Û�Û‹ô‹ì+ërâ‹å‰.–�Œ�˜�ã�‰v ÿv��èÅ�ƒÄ�ÿvþÿvü�èüêYY‹V�‹F�ë�Rÿvþÿvü�èWíƒÄ�‹å]ËU‹ìƒìHVW‹~�‹F�‰Fþ�Àu ´�Í!´3Àé•Š�˜‹ØŠ‡Ïn Pode-se editar o código de máquina usando programas editores binários.. Com estes programas pode-se ver o código não em binário, mas em hexadecimal, como mostrado abaixo nesta captura da tela. -d 0 100 0E3D:0000 CD 20 FF 9F 00 9A F0 FE-1D F0 4F 03 F0 07 8A 03 . ........O..... 0E3D:0010 F0 07 17 03 F0 07 DF 07-01 01 01 00 02 FF FF FF ................ 0E3D:0020 FF FF FF FF FF FF FF FF-FF FF FF FF BD 0D 4C 01 ..............L. 0E3D:0030 D0 0C 14 00 18 00 3D 0E-FF FF FF FF 00 00 00 00 ......=......... 0E3D:0040 05 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 0E3D:0050 CD 21 CB 00 00 00 00 00-00 00 00 00 00 20 20 20 .!........... 0E3D:0060 20 20 20 20 20 20 20 20-00 00 00 00 00 20 20 20 ..... 0E3D:0070 20 20 20 20 20 20 20 20-00 00 00 00 00 00 00 00 ........ No exemplo acima é mostrado à esquerda o endereço da memória (segmento:offset), ao centro o código em hexadecimal e à direita como seria o texto em ASCII.. Mais eficiente do que tudo isso seria conseguir um programa dedicado para manipulação de código de máquina. Tais programas, porém, não são de uso comum, pois é muito mais adequado programar em um Linguagem Assembly. Programação em código de máquina Programar diretamente em código de máquina costuma ser exaustivamente difícil, pois requer o conhecimento dos opcodes, dos operandos e dos formatos de cada instrução. Por esse motivo, foi criada uma linguagem de programação chamada linguagem de montagem (Assembly Language), composta de códigos mnemônicos que, do ponto de vista técnico, é tão próxima do processador quanto o código de máquina, mas é humanamente mais fácil de se compreender uma vez que seus códigos são geralmente acrônimos do inglês. Por exemplo ´mov´ de mover, ´rep´ de repetição e assim por diante. Na verdade, mesmo Assembly só é usado em ocasiões onde o uso de uma linguagem de programação de alto nível é impossível ou proibitivo. Bit Origem: Wikipédia, a enciclopédia livre. Nota: Não confundir com byte Bit (simplificação para dígito binário, “BInary digiT” em inglês) é a menor unidade de medida de transmissão de dados usada na Computação e na Teoria da Informação, embora muitas pesquisas estejam sendo feitas em computação quântica com qubits. Um bit tem um único valor, 0 ou 1, ou verdadeiro ou falso, ou neste contexto quaisquer dois valores mutuamente exclusivos. A matemática binária foi descrita inicialmente por George Boole, e por este motivo é chamada de Álgebra Booleana. Embora os computadores tenham instruções (ou comandos) que possam testar e manipular bits, geralmente são idealizados para armazenar instruções em múltiplos de bits, chamados bytes. No princípio, byte tinha tamanho variável mas atualmente tem oito bits. Bytes de oito bits também são chamados de octetos. Existem também termos para referir-se a múltiplos de bits usando padrões prefixados, como kilobit (kb), megabit (Mb) e gigabit (Gb). De notar que a notação para bit utiliza um "b" minúsculo, em oposição à notação para byte que utiliza um "B" maiúsculo (kB, MB, GB). Fisicamente, o valor de um bit é, de uma maneira geral, armazenado como uma carga elétrica acima ou abaixo de um nível padrão em um único capacitor dentro de um dispositivo de memória. Mas, bits podem ser representados fisicamente por vários meios. Os meios e técnicas comumente usados são: Pela eletricidade, como já citado, por via da luz (em fibras ópticas, ou em leitores e gravadores de discos ópticos por exemplo), por via de ondas eletromagnéticas (rede wireless), ou também, por via de polarização magnética (discos rígidos). Telecomunicações ou volume de tráfego em redes de computadores são geralmente descritos em termos de bits por segundo. Por exemplo, “um modem de 56 kbps é capaz de transferir dados a 56 kilobits em um único segundo” (o que equivale a 6,8 kilobytes (kibibyte), 6,8 kB, com B maiúsculo para mostrar que estamos nos referindo a bytes e não a bits. Ethernet transfere dados a velocidades que variam de 10 megabits por segundo a 1 gigabit por segundo (de 1,19 a 119 megabytes(mebibyte) por segundo). No Sistema Internacional (SI), os prefixos kilo-, mega-, etc às vezes têm o significado modificado quando aplicados a bits e bytes (até bits toleram calculos decimais pois é pontual ou é 0 ou é 1, já bytes não pois se fala dos dados agrupados): para explicação, veja Prefixos binários. Nome bit quilobit megabit gigabit terabit petabit exabit zettabit yottabit Prefixo do Símbolo b kb Mb Gb Tb Pb Eb Zb Yb SI Múltiplos de bits Prefixo binário Múltiplo Nome Símbolo Múltiplo 100 bit b 20 103 kibibit Kib 210 6 10 mebibit Mib 220 109 gibibit Gib 230 12 10 tebibit Tib 240 1015 pebibit Pib 250 1018 exbibit Eib 260 21 10 zebibit Zib 270 1024 yobibit Yib 280 Forma mais comum de contagem de múltiplos de bits ainda é pelos prefixos da SI, pois os dados são tratados pontualmente, ou seja, ou é 0 ou é 1. Saiba Mais... Bit também é conceituado como a menor unidade de "informação" armazenável. O bit (0 ou 1)por ser um dado (fato não processado) não pode ser confundido como a menor unidade de medida da informação, pois representa apenas valores que, somente em conjunto (octeto ou byte), formarão a informação em si, que é o produto do processamento desse conjunto de dados. Cabe salientar que o bit é usado como unidade de medida sim, mas em transmissão de dados. Byte Origem: Wikipédia, a enciclopédia livre. Nota: Não confundir com bit Um byte é um dos tipos de dados Múltiplos de bytes Prefixo binário (IEC) Prefixo do SI Nome SímboloMúltiplo Nome SímboloMúltiplo byte B 20 byte B 100 kibibyte(quilobyte) KiB 210 quilobyte kB 103 20 mebibyte(megabyte)MiB 2 megabyteMB 106 gibibyte(gigabyte) GiB 230 gigabyte GB 109 40 tebibyte(terabyte) TiB 2 terabyte TB 1012 pebibyte(petabyte) PiB 250 petabyte PB 1015 exbibyte(exabyte) EiB 260 exabyte EB 1018 70 zebibyte(zettabyte) ZiB 2 zettabyte ZB 1021 yobibyte(yottabyte) YiB 280 yottabyte YB 1024 integrais em computação. É usado com frequência para especificar o tamanho ou quantidade da memória ou da capacidade de armazenamento de um computador, independentemente do tipo de dados armazenados. A codificação padronizada de byte foi definido como sendo de 8 bits. O byte de 8 bits é, por vezes, também chamado de octeto, nomeadamente no contexto de redes de computadores e telecomunicações. A uma metade de um byte, dá-se o nome de nibble ou semioctecto. Para os computadores, representar 256 números binários é suficiente. Por isso, os bytes possuem 8 bits. Basta fazer os cálculos. Como um bit representa dois valores (1 ou 0) e um byte representa 8 bits, basta fazer 2 (do bit) elevado a 8 (do byte) que é igual a 256. Note que um byte nada tem de especial, é apenas um número binário de oito algarismos. Sua importância na informática deriva apenas do fato do código ASCII haver adotado números de oito bits, além de razões meramente construtivas ou operacionais. Por exemplo: os códigos enviados a impressoras para controlar a impressão têm oito bits, os valores trocados pelos modems entre computadores também, assim como diversas outras operações elementares de intercâmbio de informações. Além disso, memórias costumam ser organizadas de tal forma que as operações de leitura e escrita são feitas com quantidades de um byte ou de um múltiplo de bytes (oito, dezesseis, trinta e dois, sessenta e quatro ou cento e vinte e oito bits – o que corresponde a um, dois, quatro, oito e dezesseis bytes, respectivamente). Segundo norma da IEC, lançada em 2000, foi definida uma nova nomenclatura para dados de base dois em substituição a nomenclatura usada erroneamente de base dez separando a confusão causada entre proporção 1:1000 ou 1:1024, veja mais em Prefixos Binários. Índice • 1 História • 2 Quantidades ◦ 2.1 Byte (B) ◦ 2.2 Quilobyte (KB) ◦ 2.3 Megabyte (MB) ◦ 2.4 Gigabyte (GB) ◦ 2.5 Terabyte (TB) ◦ 2.6 Petabyte (PB) ◦ 2.7 Exabyte (EB) ◦ 2.8 Zettabyte (ZB) ◦ 2.9 Yottabyte (YB) • 3 Ligações externas • 4 Referências História No início da computação chegou-se a utilizar 1 byte = 6 bits no código BCD pois com 6 bits (64 caracteres) era possível representar todo o alfabeto alfanumérico A-Z, 0-9 além de alguns caracteres especiais. Em terminais e impressoras Teletipo (TTY), conectados através de interfaces seriais com o computador central, também usou-se uma variante na comunicação de dados onde 1 byte = 7 bits e ainda hoje é possível configurar uma interface RS32C para operar em 7 bits de dados. A transcodificação BASE64 usada até [1][2] hoje em documentos MIME na Internet reflete a dificuldade passada de comunicação de dados em 8 bits entre diferentes computadores. A primeira codificação de 1 byte = 8 bits deve-se à IBM com a criação do código EBCDIC em 1960. A partir do sucesso os computadores IBM, padronizou-se que 1 byte = 8 bits, surgindo também o código ASCII de 8 bits em 1961. A representação dos caracteres nos computadores atuais ganharam uma nova dimensão: os padrões EBCDIC (já em desuso há um bom tempo) e ASCII estão sendo substituídos pelos códigos UNICODE UTF, UTF-16 e UTF-32 que podem demandar 1 byte, 2 bytes e até 4 bytes para representar uma letra do alfabeto afim de acomodar as escritas em línguas mundiais. Quantidades Nota: Para outros significados de kB, ver kB (desambiguação). Neste artigo exprimem-se as quantidades em prefixo binário (e não no Sistema Internacional de Unidades), que é uma forma de quantificação utilizada em Informática onde se torna mais útil utilizar potências de dois do que potências de dez. Têm o mesmo 10 nome das unidades do SI, embora sejam múltiplos de 1024 (2 ) no lugar de 1000 3 (10 ). Byte (B) 3 • 1 Byte = 8 bits (2 bits). Quilobyte (KB) 10 • 1 024 (2 ) Bytes • 8 192 Bits Megabyte (MB) • 1 024 KB 20 • 1 048 576 (2 ) Bytes • 8 388 608 Bits Gigabyte (GB) • • • • 1 1 1 8 024 048 073 589 MB 576 KB 30 741 824 (2 ) Bytes 934 592 Bits Terabyte (TB) • • • • • 1 1 1 1 8 024 048 073 099 796 GB 576 741 511 093 MB 824 KB 40 627 776 (2 ) Bytes 022 208 Bits Petabyte (PB) • • • • • • 1 1 1 1 1 9 024 048 073 099 125 007 TB 576 741 511 899 199 GB 824 627 906 254 MB 776 KB 50 842 624 (2 ) Bytes 740 992 Bits TB 824 627 906 504 036 GB 776 842 606 854 MB 624 KB 60 846 976 (2 ) Bytes 775 808 Bits TB 776 842 606 717 739 GB 624 846 411 290 MB 976 KB 70 303 424 (2 ) Bytes 427 392 Bits PB 776 842 606 717 614 917 TB 624 846 411 629 033 GB 976 303 174 397 Exabyte (EB) • • • • • • • 1 1 1 1 1 1 9 024 048 073 099 125 152 223 PB 576 741 511 899 921 372 Zettabyte (ZB) • • • • • • • • 1 1 1 1 1 1 1 9 024 048 073 099 125 152 180 444 EB 576 741 511 899 921 591 732 PB 824 627 906 504 620 965 Yottabyte (YB) • • • • • • • • • 1 1 1 1 1 1 1 1 9 024 048 073 099 125 152 180 208 671 ZB 576 741 511 899 921 591 925 406 EB 824 627 906 504 620 819 556 MB 424 KB 80 706 176 (2 ) Bytes 649 408 Bits Memória de acesso aleatório Origem: Wikipédia, a enciclopédia livre. Diferentes tipos de RAM. A partir do alto: DIP, SIPP, SIMM 30 pin, SIMM 72 pin, DIMM (168-pin), DDR DIMM (184-pin) Memória de acesso aleatório (do inglês Random Access Memory, frequentemente abreviado para RAM) é um tipo de memória que permite a leitura e a escrita, utilizada como memória primária em sistemas eletrônicos digitais. O termo acesso aleatório identifica a capacidade de acesso a qualquer posição em qualquer momento, por oposição ao acesso sequencial, imposto por alguns dispositivos de armazenamento, como fitas magnéticas. O nome não é verdadeiramente apropriado, já que outros tipos de memória (como a ROM) também permitem o acesso aleatório a seu conteúdo. O nome mais apropriado seria Memória de Leitura e Escrita. Apesar do conceito de memória de acesso aleatório ser bastante amplo, atualmente o termo é usado apenas para definir um dispositivo eletrônico que o implementa, basicamente um tipo específico de chip. Nesse caso, também fica implícito que é uma memória volátil, isto é, todo o seu conteúdo é perdido quando a alimentação da memória é desligada. Algumas memórias RAM necessitam que os seus dados sejam frequentemente refrescados (atualizados), podendo então ser designadas por DRAM (Dynamic RAM) ou RAM Dinâmica. Por oposição, aquelas que não necessitam de refrescamento são normalmente designadas por SRAM (Static RAM) ou RAM Estática. Do ponto de vista da sua forma física, uma RAM pode ser constituída por um circuito integrado DIP ou por um módulo SIMM, DIMM, SO-DIMM, etc. Para computadores pessoais elas são normalmente adquiridas em pentes de memória, que são placas de circuito impresso que já contém várias memórias já montadas e configuradas de acordo com a arquitetura usada na máquina. 10 A capacidade de uma memória é medida em Bytes, kilobytes (1 KB = 1024 ou 2 20 Bytes), megabytes (1 MB = 1024 KB ou 2 Bytes) ou gigabytes (1 GB = 1024 MB ou 30 2 Bytes). A velocidade de funcionamento de uma memória é medida em Hz ou MHz. Este valor está relacionado com a quantidade de blocos de dados que podem ser transferidos durante um segundo. Existem no entanto algumas memórias RAM que podem efetuar duas transferências de dados no mesmo ciclo de clock, duplicando a taxa de transferência de informação para a mesma frequência de trabalho. Além disso, a colocação das memórias em paralelo (propriedade da arquitetura de certos sistemas) permite multiplicar a velocidade aparente da memória. A memória principal de um computador baseado na Arquitetura de Von-Neumann é constituída por RAM. É nesta memória que são carregados os programas em execução e os respectivos dados do utilizador. Uma vez que se trata de memória volátil, os seus dados são perdidos quando o computador é desligado. Para evitar perdas de dados, é necessário salvar a informação para suporte não volátil (por ex. disco rígido), ou memória secundária. Para acelerar os acessos a memória de trabalho, utiliza-se normalmente uma memória cache. Invenção O Escritório de Patentes americano forneceu a patente 3,387,286, "Field Effect Transistor Memory", de 4 de julho de 1968, para Robert Langdon, da IBM, por uma célula DRAM de um transistor (1 bit). Ver também • • • • • • • • • • • • • SIMM DIMM SO-DIMM SDR SDRAM DDR SDRAM DDR2 DDR3 Memória ROM Memória cache Memória flash GDDR Memória bolha RAM-CMOS DIMM Origem: Wikipédia, a enciclopédia livre. Pente de memória DIMM SDRAM-DDR da Kingston DIMM - Dual Inline Memory Module, encapsulamento, é um dos tipos de memória DRAM. As memórias DIMM estão divididas basicamente em dois tipos: as SDR SDRAM e DDR SDRAM. São classificadas também de acordo com a quantidade de vias que possuem, por exemplo, a SDR SDRAM que possui 168 vias e a DDR SDRAM que possui 184 vias. Ao contrário das memórias SIMM, estes módulos possuem contatos em ambos os lados do pente, e daí lhes vem o nome (DIMM é a sigla de Dual Inline Memory Module). São módulos de 64 bits, nao necessitando mais utilizar o esquema de ligação das antigas SIMM's(Single Inline Memory Module), a paridade. São comuns módulos de 64 MB, 128 MB, 256 MB, 512 MB, 1 GB, 2GB Algumas memórias de antigamente , hoje já não são mais fabricadas , e são vendidas a preços muito baixos ! SO-DIMM Origem: Wikipédia, a enciclopédia livre. SO-DIMM de 256MB Uma memória SO-DIMM (acrônimo para small outline dual in-line memory module) é um tipo de memória de computador. As memórias SO-DIMM são uma alternativa menor às memórias DIMM, tendo aproximadamente metade de seu tamanho. Como resultado, são usadas principalmente em laptops, computadores pessoais com gabinetes pequenos, impressoras robustas de escritório e equipamentos de rede como roteadores. Sua configuração varia entre 72, 100, 144 ou 200 pinos. O pacote com 100 pinos suporta tranferência de dados de 32 bits, enquanto os pacotes de 144 e 200 suportam transferência de 64 bits. Em contraste, as memórias DIMM tradicionais possuem 168, 184 ou 240 pinos, todos suportando transferência de dados de 64 bits. SDR SDRAM Origem: Wikipédia, a enciclopédia livre. Memória SDR SDRAM Single Data Rate Sincronous Dynamic Random Access Memory ou SDR SDRAM é um equipamento ou hardware de computador destinado a funcionar como memória volátil do sistema. Ela é um memória que envia 1 dado por pulso de clock. Definição SDR SDRAM SDRAM não é um tipo de memória e sim um padrão. Existem 4 tipos de memórias com esse padrão: • SDR SDRAM: 1 dado por pulso de clock. • DDR, DDR2 e DDR3 SDRAM: 2 dados por pulso de clock. Veio para substiuir as memórias EDO que não era sincronizadas e tinham que esperar um tempo para entregar o dado pedido pelo processador, assim tornando a SDR SDRAM muito mais rápida. A memória SDR SDRAM tambem trouxe uma novidade, que em vez de um grande banco de dados unificado, ela dividiu em 2, 4 ou 8. Utilizada no Pentium I, II e III e no antigo Athlon. Obteve-se a necessidade de uma substituta, pela dificuldade de atingir clocks maiores, assim foi criada a memória DDR. Modelos Existem 3 tipos de SDR SDRAM: • PC66: Trabalha na freqüência de 66Mhz; • PC100: Trabalha na freqüência de 100Mhz; • PC133: Trabalha na freqüência de 133Mhz. DDR SDRAM Origem: Wikipédia, a enciclopédia livre. Memória DDR 1GB 400 MHz PC3200 de 184 pinos DDR SDRAM ou double-data-rate synchronous dynamic random access memory (memória de acesso aleatório dinâmica síncrona de dupla taxa de transferência ) é um tipo de circuito integrado de memória utilizado em computadores, derivada das muito conhecidas SDRAM e combinada com a técnica DDR, que consiste em transferir dois dados por pulso de clock, obtendo assim, teoricamente, o dobro de desempenho em relação a técnica tradicional de transferência de dados quando operando sob a mesma freqüência de clock. A Era DDR A DDR SDRAM foi criada para ter o dobro de desempenho em relação às memória existentes (que passaram a ser chamadas SDR SDRAM) sem aumentar o clock da memória. A memória DDR SDRAM alcança uma largura de banda maior que a da SDR SDRAM por usar tanto a borda de subida quanto a de descida do clock para transferir dados, realizando efetivamente duas transferências por ciclo de clock. Isto efetivamente quase dobra a taxa de transferência sem aumentar a freqüência do barramento externo. Desta maneira, um sistema com SDRAM tipo DDR a 100 MHz tem uma taxa de clock efetiva de 200 MHz. Com os dados sendo transferidos 8 bytes por vez, a DDR SDRAM fornece uma taxa de transferência de: [freqüência do barramento da memória] × 2 (pois é uma taxa dupla) × [número de bytes transferidos] Assim, com uma freqüência de barramento de 100 MHz, a DDR SDRAM fornece uma taxa de transferência máxima de 1600 MB/s. Não foram necessárias grandes modificações nos módulos e nem nas placas-mãe, já que a grande mudança das SDR para as DDR é a inclusão de alguns circuitos adicionais que permitem à memória executar suas operações de transferência de dados duas vezes, uma na borda ascendente e outra na descendente do ciclo de clock, além de usarem as mesmas trilhas para realizar ambas as transmissões. As memórias DDR se popularizaram devido ao bom ganho em performance sem um considerável aumento no custo. O grande problema é a demora no ciclo inicial que continua com o mesmo tempo das memórias SDRAM. Com isso, apenas nas leituras de vários setores consecutivos é que percebemos o ganho de performance e a taxa de transmissão nunca dobra realmente, variando de acordo com o aplicativo usado. Além da freqüência, podemos considerar também a taxa de latência CAS, identificada por CL2, CL3, que representam a temporização CAS de 2 pulsos e 3 pulsos respectivamente, ou seja, o tempo de acesso inicial à memória em ciclos. Por as DDR efetuarem duas operações por ciclo, surgiram os módulos CL2.5 que indicam um meio termo. A perda de eficiência de um módulo com temporização CAS de 3 pulsos para um com temporização de 2,5 pulsos estaria, teoricamente, entre 16-20 %. Porém, na prática, essa diferença tende a variar na maioria das vezes para baixo devido às demais latências envolvidas no processo de leitura e a atrasos impostos pelos demais subsistemas como a controladora de memória, por exemplo. Os modelos são especificados de acordo com a freqüência a qual o módulo opera. Por exemplo, uma DDR-400 opera numa freqüência real de 200 MHz multiplicado por 2 pela característica da dupla transferência. Essas especificações indicam a freqüência máxima para a qual seu funcionamento foi comprovado, porém você pode usar o módulo a uma freqüência mais baixa. Uma DDR-400 poderia ser usada em uma placa-mãe configurada para trabalhar a 133 MHz, contudo, nesse caso não haveria ganho de desempenho com relação a um módulo DDR-266, com exceção de pequenas diferenças relacionadas ao valor CAS ou à temporização dos dois módulos. Há também a possibilidade de aumentar a freqüência do clock para operar em taxas um pouco mais altas, o chamado overclock. Nesse caso, o módulo DDR-400 funcionaria a 215 MHz, por exemplo. Não há perigo em se fazer overclock sem aumentar a tensão da memória, porém não existe garantia de estabilidade. Geralmente módulos CL2 e CL2.5 suportam melhor os overclocks, já que o controlador tem mais margem para aumentar a temporização dos módulos para compensar o aumento na freqüência. Deve-se ter o cuidado de nivelar por baixo, ou seja, usar a freqüência suportada pelo módulo mais lento ao usar dois módulos de especificações diferentes. Por isso nem sempre é conveniente aproveitar os módulos antigos ao se fazer um upgrade, pois o novo módulo acaba sendo subutilizado. Existe um chip de identificação chamado de “SPD” (Serial Presence Detect), presente em quase todos os módulos SDRAM e DDR, responsável por armazenar os códigos de identificação do módulo, detalhes sobre a freqüência, tempos de acesso, CAS latency e outras especificações. O SPD é um pequeno chip de memória EEPROM, com apenas 128 ou 256 bytes, que pode ser localizado facilmente no módulo. Através dele, a placa-mãe pode utilizar automaticamente as configurações recomendadas para o módulo, facilitando a configuração. Porém, pode-se desativar essa configuração (by SPD) e especificar outra através do Setup. DDR SDRAM DIMMs tem 184 pinos (em contra partida dos 168 pinos da SDR SDRAM). As frequencias de clock das memorias DDR são padronizadas pelo JEDEC que é um órgão de padronização de semicondutores da Aliança da Indústrias Eletrônicas. Modelos alguns modelos de DDR SDRAM: PC1600 ou DDR200 - 200 MHz clock anunciado, 100 MHz clock real. PC2100 ou DDR266 - 266 MHz clock anunciado, 133 MHz clock real. PC2700 ou DDR333 - 333 MHz clock anunciado, 166 MHz clock real. PC3200 ou DDR400 - 400 MHz clock anunciado, 200 MHz clock real. Nome Clock dos Ciclo de Clock Dados por Nome do Taxa de padrão chips tempo real segundo módulo transferência 100 [1] DDR-200 100 MHz 10 ns 200 Milhões PC-1600 1600 MB/s MHz 133 DDR-266 133 MHz 7.5 ns 266 Milhões PC-2100 2100 MB/s MHz 150 DDR-300 150 MHz 6.67 ns 300 Milhões PC-2400 2400 MB/s MHz 166 DDR-333 166 MHz 6 ns 333 Milhões PC-2700 2700 MB/s MHz 200 DDR-400 200 MHz 5 ns 400 Milhões PC-3200 3200 MB/s MHz Dual-Channel Um dos motivos pelos quais os computadores não alcançam todo seu poder computacional é a lentidão das memórias por operarem com freqüências muito inferiores aos da CPU deixando-a ociosa enquanto espera algum dado da memória. O problema é que dificilmente as memórias alcancem um dia às mesmas freqüências de processadores. Enquanto vemos processadores operando a mais de 3 GHz, as memórias continuam com 400 MHz. Para viabilizar a comunicação de modo mais eficaz, foi criado para os processadores duas freqüências, uma interna, usada internamente para executar as instruções, e outra externa, para acessar dispositivos externos, principalmente a memória. Mesmo assim, ainda não é possível viabilizar a comunicação memória – CPU da forma mais eficiente pois os processadores operam com freqüência no barramento externo ainda acima da maioria das memórias. Uma solução para minimizar esse problema é a memória Dual-Channel. Essas memórias, ao invés de fazerem comunicação com o processador transferindo 64 bits, ou 8 bytes por vez, transferem 128 bits, ou 16 bytes por vez. Isso significa que elas transmitem o dobro de dados por transferência duplicando sua capacidade em relação às outras memórias. Assim, uma DDR-400, que opera a um clock real de 200 MHz, realiza duas transferências por ciclo, transferindo 64 bits, tem taxa de transferência máxima de 3.200 MB/s. Sendo ela Dual-Channel, os acessos a memória serão de 128 bits fazendo com que sua taxa de transferência máxima seja 6.400 MB/s. Porém, para usar essas memórias sua placa-mãe precisa estar apta a suportar essa tecnologia além de utilizar dois módulos de memória iguais e instala-las nos soquetes especificados. Normalmente as placas-mãe com suporte a essa tecnologia traz os soquetes de memória com cores. Dependendo da marca, a instalação deverá ser feita em dois soquetes da mesma cor ou em cores diferentes. É esperado que nos próximos anos a memória DDR seja substituída pela DDR-II, que apresenta clocks de freqüências mais altas porém utilizando a mesma tecnologia empregada na atual DDR. Competindo com a DDR-II teremos a Rambus XDR, Quad Data Rate (QDR) e Quad Band Memory (QBM) SDRAM. É esperado que a DDR-II se torne padrão entre as memórias RAM dos computadores num futuro próximo, levando em conta que as QDR apresentam circuitos complexos demais para terem um preço acessível, enquanto as QBM e XDR não são muito avançadas. RDRAM é uma alternativa à DDR SDRAM, porém a maioria dos fabricantes de chipset já não dão suporte a elas. Frequência de memórias Memória DDR 400MHz PC3200 de 512MB As memórias devem ser combinadas sempre com a mesma frequência, códigos e, de preferência, o mesmo fabricante para que não haja travamento (tela azul) ou congelamento de imagens ou memória virtual insuficiente; a tendência atualmente é padronizar micros com no mínimo 2 GB de memória. Obs.: Isso é um procedimento "aconselhável" mas não obrigatório pois as memórias DDR são projetadas para minimizar esse tipo de conflito. Tanto que memórias DDR 400, por exemplo, possuem as temporizações de 333 e 266 para que sejam compatíveis com placas deste tipo. DDR2 SDRAM Origem: Wikipédia, a enciclopédia livre. DRAM DDR2 512MB A DDR2 SDRAM ou DDR2, é uma evolução ao antigo padrão DDR SDRAM, conforme homologação da JEDEC. A nova tecnologia veio com a promessa de aumentar o desempenho, diminuir o consumo elétrico e o aquecimento, aumentar a densidade e minimizar a interferência eletromagnética (ruído). São esperados módulos de até 4GB de memória. Índice • 1 Nome • 2 Visão Geral ◦ 2.1 Formato e alimentação dos módulos • 3 Clocks (frequência) ◦ 3.1 On-Die-Termination ( ODT - Terminação resistiva ) ◦ 3.2 Bancos de memória ◦ 3.3 Mecanismo de busca • 4 Encapsulamento • 5 Referências • 6 Ver também Nome DDR2 SDRAM é o acrónimo de Double Data Rate 2 Syncronous Dynamic Random Acess Memory. Dual In-line Memory Module significa que os módulos fazem contatos pelos seus dois lados, em contraste aos antigos módulos SIMM (Single In-line Memory Module). Syncronous Dynamic Random Acess Memory significa que a memória possui acesso aleatório síncrono e dinâmico. O termo sincronia é utilizado para indicar que a memória e processador possuem clocks coincidentes, o que faz aumentar o desempenho em comparação com a antiga tecnologia EDO em 25%. O termo dinâmica é uma referência à estrutura dos chips, que são formados por uma matriz de capacitores que precisam ser recarregados constamente. Double Data Rate significa que o tráfego é de dois dados por pulso de clock. O número 2 simboliza o conjunto de melhorias do novo padrão. Visão Geral Formato e alimentação dos módulos Padrão Número de viasTensão de alimentação Comentários DDR2 240 1,8V DDR2 SO-DIMM200 1,8V padrão para notebooks. DDR 184 2,5V SDR 168 3,3V Nota-se que o novo padrão não é compatível com o antigo DDR, tanto em pinagem, quanto em posição dos chanfros e alimentação elétrica. Clocks (frequência) O clock real dos novos chips é a metade do clock real dos seus módulos. Exemplificando: uma memória DDR2 400 possui clock real 200Mhz, e seus chips possuem clock real de 100Mhz. Porém tanto memórias quanto chips possuem clock efetivo (nominal) de 400Mhz. Veja tabela abaixo: Nome Clock dos Ciclo de Clock Dados por Nome do Taxa de padrão chips tempo real segundos módulo transferência 200 DDR2-400 100 MHz 10 ns 400 Milhões PC2-3200 3200 MB/s MHz 266 PC2-4200 DDR2-533 133 MHz 7.5 ns 533 Milhões 4266 MB/s MHz PC2-4300 333 PC2-5300 DDR2-667 166 MHz 6 ns 667 Milhões 5333 MB/s MHz PC2-5400 400 DDR2-800 200 MHz 5 ns 800 Milhões PC2-6400 6400 MB/s MHz 533 PC2-8500 DDR2-1066266 MHz 3.75 ns 1066 Milhões 8533 MB/s MHz PC2-8600 650 DDR2-1300325 MHz 3.1 ns 1300 Milhões PC2-10400 10400 MB/s MHz Várias confusões se devem à leitura de notícias antigas e especulações anteriores ao seu lançamento, e ao fato de os chips enviarem aos buffers de saída da memória 4 dados à metade do clock real dos módulos. Porém os módulos continuam sendo DDR, o que fica bastante claro quando percebemos que as taxas de trasmissão máxima teórica se mantêm. Uma DDR e uma DDR2 possuem taxa de transmissão máxima e teórica de 3.2Gbps. Apesar dos benefícios, os ciclos adicionais de clock trazem em contrapartida latências maiores, um problema muito difícil de ser contornado, sendo um dos principais argumentos de especialistas para aguardar a transição rápida para as DDR3. Por conta desta dicotomia entre clock dos chips e dos módulos, hoje é possível construir memórias cada vez mais rápidas, devendo somar a esta vantagem outros fatores, como o ODT. On-Die-Termination ( ODT - Terminação resistiva ) Ao contrário das DDR's clássicas, nas quais a terminação resistiva se localizava na placa mãe, nas DDR2 o ODT está presente no próprio módulo, diminuindo assim a interferência eletromagnética. Esta é uma das características que permitem um desempenho maior desse modelo. Bancos de memória Os novos chips possuem mais subdivisões internas (banks, que não devem ser confundidos com outras definições de banco de memória). Agora são 4 ou 8 bancos, diferente do antigo padrão que possuía apenas 2 ou 4. A subdivisão de chips é muito importante para a utilização de uma técnica chamada Bank Interleave. Como usamos memórias dinâmicas que precisam ser recarregadas constantemente, durante o processo de recarga a memória não pode ser acessada. Ao utilizarmos esta técnica quando acessamos um banco (uma fração de chips), os outros bancos são recarregados (as outras frações dos chips), minimizando assim a possibilidade de acesso a um banco que esteja em processo de recarga. Mecanismo de busca A DDR2 possui um pre-fetch de 4 bits, o dobro da DDR clássica.. Encapsulamento DDR2 usam o encapsulamento FBGA (Fine pitch Ball Grid Array), derivado do BGA (Ball Grid Array), enquanto as DDR's utilizam, em geral, TSOP (Thin Small-Outline [1] Package). Apesar disso, a DDR2 é apontada como o novo padrão para as futuras memórias RAM, por conservar o custo benefício das antigas memórias DDR. Contudo, as novas memórias XDR da Rambus prometem muita performance. DDR3 SDRAM Origem: Wikipédia, a enciclopédia livre. Memória RAM DDR3 Memória RAM DDR3 A memória DDR3 SDRAM, Taxa Dupla de Transferência Nível Três de Memória Síncrona Dinâmica de Acesso Aleatório), também conhecida como DDR3, é um padrão para memórias RAM que está sendo desenvolvida para ser a sucessora das memórias DDR2 SDRAM. Diferenças entre as Memórias Anteriores Ela aparece com a promessa de reduzir em 40% o consumo de energia comparadas aos módulos de memórias DDR2 comercializadas atualmente, devido à sua tecnologia de fabricação de 90 nanômetros (90nm), permite baixas taxas de operação de consumo e baixas voltagens (1.5 Volt, comparado com as DDR2 que consomem 1.8V até 2.1V, ou as DDR´s comuns de 2.5V). Transístores "dual-gate" ou "portão duplo" serão usados para reduzir as taxas de consumo actuais. As DDR3 apresentam um buffer de 8 bits, onde as DDR2 usam 4 bits, e as DDR 2 bits. Teoricamente, estes módulos podem transferir dados à taxa de freqüencia efectiva de 400 a 800 MegaHertz (MHz) (para uma largura de banda de clock simples, de 800 a 1600 Mhz), comparadas com as DDR2 e suas taxas actuais de 200 a 625 MHZ (400 a 1250 MHz) ou DDR's e a sua taxa de 100 a 200 MHz (200 a 400 MHz). Actualmente, tais requisitos de largura de banda têm sido do mercado das placas de vídeo, onde vasta troca de informação entre os buffers é requerida, logo, a DDR3 pode ser uma boa escolha para os fabricantes de GPU. Protótipos foram anunciados no ano de 2005. Supostamente, a Intel afirmou seu anúncio preliminar de que espera estar preparada para oferecer suporte para as DDR3 perto do fim do ano de 2007. Já a AMD em seus planos para o futuro indica que adotará as memórias DDR3 no começo de 2008. Em Agosto de 2006, a Samsung anuncia suas memórias DDR3, na qual suas freqüencias vão de 800 a 1333 MHz. Também, promete que em 2007 chegará a uma taxa de freqüencia de 1600 MHZ, transferindo a 25.6 GB/s. Em relação à capacidade de armazenamento não houve tanto avanço, mantendo a capacidade entre os 256MB e 2GB. As memórias GDDR3, com nome similar mas com tecnologia totalmente diferente, já estão em uso há anos nas melhores placas de vídeo conhecidos da NVIDIA e ATI Technologies e são parte também do sistema de memória do Xbox 360 da Microsoft, e muitas vezes aparecem nestes casos referências incorrectas às DDR3. Memória ROM Origem: Wikipédia, a enciclopédia livre. EEPROM da Intel de 1971 A memória ROM (acrónimo para a expressão inglesa Read-Only Memory) é um tipo de memória que permite apenas a leitura, ou seja, as suas informações são gravadas pelo fabricante uma única vez e após isso não podem ser alteradas ou apagadas, somente acessadas. São memórias cujo conteúdo é gravado permanentemente. Uma memória ROM propriamente dita vem com seu conteúdo gravado durante a fabricação. Atualmente, o termo Memória ROM é usado informalmente para indicar uma gama de tipos de memória que são usadas apenas para a leitura na operação principal de dispositivos eletrônicos digitais, mas possivelmente podem ser escritas por meio de mecanismos especiais. Entre esses tipos encontramos as PROM, as EPROM, as EEPROM e as memórias flash. Ainda de forma mais ampla, e de certa forma imprópria, dispositivos de memória terciária, como CD-ROMs, DVD-ROMs, etc., também são algumas vezes citados como memória ROM. Apesar do nome memória ROM ser usado algumas vezes em contraposição com o nome memória RAM, deve ficar claro que ambos os tipos de memória são de acesso aleatório. Tipos de ROM • PROMs (Programmable Read-Only Memory) podem ser escritas com dispositivos especiais mas não podem mais ser apagadas • EPROMs (Erasable Programmable Read-Only Memory) podem ser apagadas pelo uso de radiação ultravioleta permitindo sua reutilização • EEPROMs (Electrically Erasable Programmable Read-Only Memory) podem ter seu conteúdo modificado eletricamente, mesmo quando já estiver funcionando num circuito eletrônico • Memória flash semelhantes às EEPROMs são mais rápidas e de menor custo • CD-ROM são discos ópticos que retêm os dados não permitindo sua alteração • DVD-ROM são discos ópticos, tal como os CD-ROM, mas de alta densidade. Arquitetura da ROM Com a evolução da ROM seu próprio nome perdeu sentido pois ela poder ser gravada e re-gravada, mas seu foco não é para gravação com freqüência. Vários aparelhos eletrônicos usam essa tecnologia, como leitores de DVD, placas de computador, taxímetros, celulares. Dá-se o nome de firmware para o software gravado dentro da ROM para o funcionamento destes aparelhos. O firmware de um aparelho é para ele como um sistema operacional, que além de fazer a comunicação entre o usuário e o aparelho, tem funções pré-programadas para execução quando solicitadas pelo usuário ou por um outro aparelho nele acoplado. O firmware pode ser atualizado caso seja necessário por alguma eventualidade ou erro de programação, mas para isto o aparelho deve estar funcional para poder fazer a atualização. A memória ROM também foi bastante usada em cartuchos de videogames. Atualmente emuladores de videogames utilizam "roms", que nada mais são que os softwares extraídos de um cartucho. (sem uma carcaça de plástico para poder ser manuseado). Cache Origem: Wikipédia, a enciclopédia livre. Na área da computação, cache é um dispositivo de acesso rápido, interno a um sistema, que serve de intermediário entre um operador de um processo e o dispositivo de armazenamento ao qual esse operador acede. A vantagem principal na utilização de uma cache consiste em evitar o acesso ao dispositivo de armazenamento - que pode ser demorado -, armazenando os dados em meios de acesso mais rápidos Índice • • • • • • 1 2 3 4 5 6 Nos dispositivos de armazenamento Operação Princípio da Localidade Tipos de Memória Cache Erro de MISS Cache em Níveis ◦ 6.1 Cache L1 ◦ 6.2 Cache L2 ◦ 6.3 Cache L3 ◦ 6.4 Tamanho da cache • 7 Técnicas de escrita de dados da cache ◦ 7.1 Write-Back Cache ◦ 7.2 Write-Through Cache ◦ 7.3 Write Allocate ◦ 7.4 No Write Allocate • 8 Veja também • 9 Referências Nos dispositivos de armazenamento Com os avanços tecnologicos, vários tipos de cache foram desenvolvidos. Atualmente há cache em processadores, discos-rígidos, sistemas, servidores, nas placas-mães, entre outros. Qualquer dispositivo que requeira do usuário uma solicitação/requisição a algum outro recurso, seja de rede ou local, interno ou externo a esta rede, pode requerer ou possuir de fábrica o recurso de cache. Por ser mais caro, o recurso mais rápido não pode ser usado para armazenar todas as informações. Sendo assim, usa-se a cache para armazenar apenas as informações mais frequentemente usadas. Nas unidades de disco também conhecidas como disco rígido ou Hard Drive (HD), também existem chips de cache nas placas eletrónicas que os acompanham. Como exemplo, a unidade Samsung de 160 GB tem 8 MBytes de cache. No caso da informática, a cache é útil em vários contextos: • Nos casos dos processadores, em que a cache disponibiliza alguns dados já requisitados e outros a processar; • No caso dos navegadores, em que as páginas são guardadas localmente para evitar consultas constantes à rede (especialmente úteis quando se navega por páginas estáticas); • No caso das redes de computadores , o acesso externo , ou à Internet , se dá por meio de um software que compartilha a conexão ou link , software este também chamado de proxy , que tem por função rotear as requisições a IPs externos à rede que se encontra , Nestes proxyes temos ainda um cache , que na verdade é uma enorme lista de todos os sites que foram visitados pelos usuários dos computadores desta rede, fazendo com isto a mesma função que os caches presentes nos navegadores , ou browsers, só que com a atribuição de servir a toda a rede e com isso aumentar a taxa de acerto dos proxyes , [1] minimizar o consumo do link e agilizar a navegação. • Os servidores Web, também podem dispor caches configurados pelo administrador, que variam de tamanho conforme o número de page views que o servidor tem. Operação Um cache é um bloco de memória para o armazenamento temporário de dados que possuem uma grande probabilidade de serem utilizados novamente. Uma definição mais simples de cache poderia ser: uma área de armazenamento temporária onde os dados freqüentemente acedidos são armazenados para acesso rápido. Uma cache é feita de uma fila de elementos. Cada elemento tem um dado que é a cópia exacta do dado presente em algum outro local (original). Cada elemento tem uma etiqueta que especifica a identidade do dado no local de armazenamento original, que foi copiado. Quando o cliente da cache (CPU, navegador etc.) deseja aceder a um dado que acredita estar no local de armazenamento, primeiramente ele verifica a cache. Se uma entrada for encontrada com uma etiqueta correspondente ao dado desejado, o elemento da cache é então utilizado ao invés do dado original. Essa situação é conhecida como cache hit (acerto do cache). Como exemplo, um navegador poderia verificar a sua cache local no disco para ver se tem uma cópia local dos conteúdos de uma página Web numa URL particular. Nesse exemplo, a URL é a etiqueta e o conteúdo da página é o dado desejado. A percentagem de acessos que resultam em cache hits é conhecida como a taxa de acerto (hit rate ou hit ratio) da cache. Uma situação alternativa, que ocorre quando a cache é consultada e não contém um dado com a etiqueta desejada, é conhecida como cache miss (erro do cache). O dado então é copiado do local original de armazenamento e inserido na cache, ficando pronto para o próximo acesso. Se a cache possuir capacidade de armazenamento limitada (algo comum de acontecer devido ao seu custo), e não houver mais espaço para armazenar o novo dado, algum outro elemento deve ser retirado dela para que liberte espaço para o novo elemento. A forma (heurística) utilizada para seleccionar o elemento a ser retirado é conhecida como política de troca (replacement policy). Uma política de troca muito popular é a LRU (least recently used), que significa algo como “elemento recentemente menos usado”. Quando um dado é escrito na cache, ele deve ser gravado no local de armazenamento nalgum momento. O momento da escrita é controlado pela política de escrita (write policy). Existem diferentes políticas. A política de write-through (algo como “escrita através”) funciona da seguinte forma: a cada vez que um elemento é colocado no cache, ele também é gravado no local de armazenamento original. Alternativamente, pode ser utilizada a política de write-back (escrever de volta), onde as escritas não são directamente espelhadas no armazenamento. Ao invés, o mecanismo de cache identifica quais de seus elementos foram sobrepostos (marcados como sujos) e somente essas posições são colocadas de volta nos locais de armazenamento quando o elemento for retirado do cache. Por essa razão, quando ocorre um cache miss (erro de acesso ao cache pelo fato de um elemento não existir nele) em um cache com a política writeback, são necessários dois acessos à memória: um para recuperar o dado necessário e outro para gravar o dado que foi modificado no cache. O mecanismo de write-back pode ser accionado por outras políticas também. O cliente pode primeiro realizar diversas mudanças nos dados do cache e depois solicitar ao cache para gravar os dados no dispositivo de uma única vez. Os dados disponíveis nos locais de armazenamento original podem ser modificados por outras entidades diferentes, além do próprio cache. Nesse caso, a cópia existente no cache pode se tornar inválida. Da mesma forma, quando um cliente atualiza os dados no cache, as cópias do dado que estejam presentes em outros caches se tornarão inválidas. Protocolos de comunicação entre gerentes de cache são responsáveis por manter os dados consistentes e são conhecidos por protocolos de coerência. Princípio da Localidade É a tendência de o processador ao longo de uma execução referenciar instruções e dados da memória principal localizados em endereços próximos. Tal tendência é justificada devido as estruturas de repetição e as estruturas de dados, vetores e tabelas utilizarem a memória de forma subseqüente (um dado após o outro). Assim a aplicabilidade da cache internamente ao processador fazendo o intermédio entre a memória principal e o processador de forma a adiantar as informações da memória principal para o processador. Tipos de Memória Cache Memória Cache é uma pequena quantidade de memória estática de alto desempenho, tendo por finalidade aumentar o desempenho do processador realizando uma busca antecipada na memória RAM. Erro de MISS Quando o processador necessita de um dado, e este não está presente no cache, ele terá de realizar a busca diretamente na memória RAM, utilizando wait states e reduzindo o desempenho do computador. Como provavelmente será requisitado novamente (localidade temporal) o dado que foi buscado na RAM é copiado na cache. Cache em Níveis Cache L1 Uma pequena porção de memória estática presente dentro do processador. Em alguns tipos de processador, como o Pentium 2, o L1 é dividido em dois níveis: dados e instruções (que "dizem" o que fazer com os dados). A partir do Intel 486, começou a se colocar a L1 no próprio chip [processador]. Geralmente tem entre 16KB e 512KB. O AMD Sempron 2600+ possui 64KB de cache L1. Neste aspecto a Intel fica a perder em relação à AMD, visto possuir menor memória cache nível 1 do que a sua concorrrente direta. Assim já existem processadores AMD com instruções a 128K de memória cache nível 1, como por exemplo o AMD Turion 64 ML-40. Cache L2 Possuindo o Cache L1 um tamanho reduzido e não apresentando uma solução ideal, foi desenvolvido o cache L2, que contém muito mais memória que o cache L1. Ela é mais um caminho para que a informação requisitada não tenha que ser procurada na lenta memória principal. Alguns processadores colocam essa cache fora do processador, por questões econômicas, pois uma cache grande implica num custo grande, mas há exceções, como no Pentium II, por exemplo, cujas caches L1 e L2 estão no mesmo cartucho que está o processador. É neste aspecto essencial que a Intel ganha todo o prestígio e rendimento dos seus processadores. A memória cache L2 é, sobre tudo, um dos elementos essenciais para um bom rendimento do processador mesmo que tenha um clock baixo. Um exemplo prático é o caso do Intel Xeon (para servidores) que tem apenas 1.4 GHz de clock interno e ganha de longe do atual Intel Extreme, pelo fato de possuir uma memória cache de 12Mb. Quanto mais alto é o clock do processador, mais este aquece e mais instável se torna. Os processadores Intel Celeron tem tão fraco desempenho por possuir menor memória cache L2. Um Pentium M 730 de 1.6 GHz de clock interno, 533 MHz FSB e 2 MB de cache L2, tem rendimento semelhante a um Intel Pentium 4 2.4 GHz, aquece muito menos e torna-se muito mais estável e bem mais rentável do que o Intel Celeron M 440 de 1.86 GHz de clock interno, 533 MHz FSB e 1 MB de cache L2. Cache L3 Terceiro nível de cache de memória. Inicialmente utilizado pelo AMD K6-III (por apresentar o cache L2 integrado ao seu núcleo) utilizava o cache externo presente na placa-mãe como uma memória de cache adicional. Ainda é um tipo de cache raro devido a complexidade dos processadores atuais, com suas áreas chegando a milhões de transístores por micrómetros ou picómetros de área. Ela será muito útil, é possível a necessidade futura de níveis ainda mais elevados de cache, como L4 e assim por diante. Tamanho da cache • A relação acerto/falha • Tempo de acesso a memória principal • O custo médio, por bit, da memória principal, da cache L1 e L2 • O tempo de acesso da cache L1 ou L2 • A natureza do programa a ser executado no momento Técnicas de escrita de dados da cache -Tecnicas de "Write Hit": Write-Back Cache Usando esta técnica a CPU escreve dados diretamente na cache, cabendo ao sistema a escrita posterior da informação na memória principal. Como resultado o CPU fica livre mais rapidamente para executar outras operações. Em contrapartida, a latência do controlador pode induzir problemas de consistência de dados na memória principal, em sistemas multiprocessados com memória compartilhada. Esses problemas são tratados por protocolos de consistência da cache. Exemplo: A escrita de um endereço e feita inicialmente numa linha da cache, e somente na cache. Quando mais tarde algum novo endereço necessitar desta linha da cache, estando esta já ocupada, então o endereço inicial e guardado na memoria e o novo endereço ocupa-lhe o lugar na respectiva linha da cache. Para reduzir a frequência de escrita de blocos de endereços na memoria aquando da substituição é usado um "dirty bit", este é um bit de estado, ou seja, quando o endereço é instanciado inicialmente numa linha da cache, estando essa linha vazia, o valor inicial e implicitamente '0', quando o bloco do endereço e modificado(quando ocorre uma substituição) o valor inicial passa a '1' e diz-se que o bloco do endereço esta "dirty". Vantagens: -A escrita ocorre à velocidade da cache; -Escritas múltiplas de um endereço requerem apenas uma escrita na memoria; -Consome menos largura de banda. Desvantagens: -Difícil de implementar; -Nem sempre existe consistência entre os dados existentes na cache e na memoria; -Leituras de blocos de endereços na cache podem resultar em escritas de blocos de endereços "dirty" na memoria. Write-Through Cache Quando o sistema escreve para uma zona de memória, que está sustida na cache, escreve a informação, tanto na linha específica da cache como na zona de memória ao mesmo tempo. Este tipo de caching providencia pior desempenho do que Write-Back Cache, mas é mais simples de implementar e tem a vantagem da consistência interna, porque a cache nunca está dessíncrona com a memória como acontece com a técnica Write-Back Cache. Vantagens: -Fácil de implementar; -Um "cache-miss" nunca resulta em escritas na memoria; -A memoria tem sempre a informação mais recente. Desvantagens: -A escrita é lenta; -Cada escrita necessita de um acesso à memoria; Consequentemente usa mais largura de banda da memoria. -Tecnicas de "Write Miss": Write Allocate O bloco de endereço e carregado na ocorrência de um "write miss", seguindo-se uma acção de "write hit". O "Write Allocate" é usado com frequencia em caches de "Writeback". No Write Allocate O bloco de endereço e directamente modificado na memoria, não e carregado na cache. O "No Write Allocate" é usado frequentemente em caches de "Write Through". Memória flash Origem: Wikipédia, a enciclopédia livre. Exemplo de uma memória flash utilizada em um flash drive USB (pen drive). Exemplo de uma memória flash utilizada em um flash drive USB (pen drive). Memória flash é uma memória de computador do tipo EEPROM (Electrically-Erasable Programmable Read-Only Memory), desenvolvida na década de 1980 pela Toshiba, cujos chips são semelhantes ao da Memória RAM, permitindo que múltiplos endereços sejam apagados ou escritos numa só operação. Em termos leigos, trata-se de um chip reescrevível que, ao contrário de uma memória RAM convencional, preserva o seu [1][2] conteúdo sem a necessidade de fonte de alimentação. Esta memória é comumente usada em cartões de memória, flash drives USB (pen drives), MP3 Players, dispositivos como os iPods com suporte a vídeo, PDAs, armazenamento interno de câmeras digitais e celulares. Memória flash é do tipo não volátil o que significa que não precisa de energia para manter as informações armazenadas no chip. Além disso, a memória flash oferece um tempo de acesso (embora não tão rápido como a memória volátil DRAM utilizadas para a memória principal em PCs ) e melhor resistência do que discos rigídos. Estas características explicam a popularidade de memória flash em dispositivos portáteis. Outra característica da memória flash é que quando embalado em um "cartão de memória" são extremamente duráveis, sendo capaz de resistir a uma pressão intensa, [3] variações extremas de temperatura, e até mesmo imersão em água. Uma limitação é que a memória flash tem um número finito de modificações (escrita/ exclusão).Porém este efeito é parcialmente compensado por alguns chip firmware ou drivers de arquivos de sistema de forma dinâmica e escreve contando o remapeamento [3] dos blocos, a fim de difundir as operações escritas entre os setores. Índice • 1 Vantagens • 2 Flash NAND e NOR ◦ 2.1 Flash NOR ◦ 2.2 Flash NAND ▪ 2.2.1 Tamanhos típicos dos blocos: ◦ 2.3 Principais diferenças entre NOR e NAND • • • • • • 3 4 5 6 7 8 Sistema de Arquivos Flash Padronização Taxas de Transferência Substituto para discos rígidos Referências Ver também Vantagens Cartão de memória que utiliza a tecnologia flash As maiores vantagens desse tipo de memória é sua ocupação mínima de espaço, seu baixo consumo de energia, sua alta resistência, sua durabilidade e segurança, contando com recursos como ECC (Error Correcting Code), que permite detectar erros na transmissão de dados. A tecnologia faz uso de semicondutores (solid state), sendo [2][1] assim, não tem peças, evitando problemas de causa mecânica. Também vem começando a ser chamado de disco sólido pelo grande futuro que tem pela frente, já que além de ser muito mais resistente que os discos rígidos atuais, apresenta menor consumo de energia elétrica, maiores taxas de transferência, latências e peso muito mais baixos. Chega a utilizar apenas 5% dos recursos normalmente empregados na alimentação de discos rígidos. Com tantas vantagens, a tendência futura é que os fabricantes de computadores tendem a substituir os disco rígidos por unidades flash. O que poderá ser expandida para os desktop nos próximos 5 anos, pois a sua fabricação ainda é de alto custo para as [1] empresas. Flash NAND e NOR Existem dois tipos de memórias flash, a NAND e a NOR. Dois chips de memória flash em comparação com uma moeda Flash NOR A memória flash NOR (Not OR) permite acessar os dados da memória de maneira aleatória, mas com alta velocidade. Foi a primeira a se popularizar, chegando ao mercado em 1988, seus chips possuem uma interface de endereços semelhante à da memória RAM, sendo utilizado para armazenar o BIOS das placas-mãe e também firmwares de vários dispositivos, que antes eram armazenados em memória ROM ou EPROM. Alguns dos problemas nesse tipo de memória devem-se ao seu alto custo, e ao seu alto tempo de gravação nas células. Mas embora esses problemas existam, ela é largamente utilizada até hoje em celulares, palmtops e firmware. Chegaram a ser empregues na fabricação das memórias PCMCIA e CompactFlash, mas com a introdução [4][2] do tipo NAND, desapareceram deste ramo. Flash NAND A memória flash NAND (Not AND) trabalha em alta velocidade, faz acesso seqüencial às células de memória e trata-as em conjunto, isto é, em blocos de células, em vez de [2] acessá-las de maneira individual. Essa arquitetura foi introduzida pela Toshiba em 1989. Cada bloco consiste em um determinado número de páginas. As páginas são tipicamente 512, 2048 ou 4096 bytes em tamanho. A página é associada a alguns bytes (tipicamente 12-16 bytes). Atualmetente são os tipos de memória mais usados em [4] dispositivos portáteis. Tamanhos típicos dos blocos: • 32 páginas de 512 bytes para cada tamanho de um bloco de 16 kiB • 64 páginas de 2048 bytes para cada tamanho de um bloco de 128 kiB • 64 páginas de 4096 bytes para cada tamanho de um bloco de 256 kiB • 128 páginas de 4096 bytes para cada tamanho de um bloco de 512 kiB Embora a programação seja realizada em uma página base,a exclusão dos dados só pode ser executada em um bloco base. Outra limitação do flash NAND é que um bloco de dados só pode ser escrito seqüencialmente. Número de Operações (NOPs) é o número de vezes que os setores podem ser programados. A maior parte dos dispositivos NAND saem da fábrica com alguns blocos defeituosos, que normalmente são identificados e classificados de acordo com uma determinada marcação de bloco defeituoso. Ao permitir que alguns blocos defeituosos saiam os fabricantes alcançam mais rendimentos do que seria possível, caso todos os blocos fossem bons. Isto reduz significativamente os custos da Memória flash NAND e diminui ligeiramente a capacidade de armazenamento das [3] partes. Principais diferenças entre NOR e NAND • As conexões das células individuais de memória são diferentes. • A densidade de armazenamento chips é atualmente mais elevado em memórias NAND. • O custo da NOR é muito mais elevado. • A NOR perminte acessos aleatórios, enquanto a NAND permite apenas acesso sequencial à memória. [5] • A leitura é muito mais rápida na NOR. Sistema de Arquivos Flash O conceito básico dos sistemas de arquivos flash é o seguinte: quando os dados armazenados vão ser atualizados, o sistema de arquivos faz uma cópia deles para um novo bloco de memória, remapeia os ponteiros de arquivo e depois apaga o antigo bloco quando tiver tempo. Na prática, esse sistema de arquivos é utilizado em dispositivos com memória flash embutida que não possuem controladores. Os cartões de memória e drives USB flash são incorporados de controladores e devem desempenhar correção de erros, então o uso de um ou outro sistema de arquivos flash pode não acrescentar nenhum benefício, então os dispositivos flash removíveis utilizam o sistema de arquivos FAT universal, permitindo assim a compatibilidade com câmeras, computadores, PDAs e [3] outros dispositivos portáteis com slots para cartões de memória. Padronização Um grupo chamado Open Nand Flash Interface Working Group(ONFI) desenvolveu uma interface padronizada para os chips NAND flash, tornando possível a interoperabilidade entre dispositivos NAND de diferentes fornecedores. A versão 1.0 da especificação ONFI foi liberada em Dezembro de 2006, com as seguintes especificações: • interface física normalizada(pinout) para NAND flash em TSOP-48, LGA-52 e BGA-63. • um comando padrão estabelecido para ler, escrever e apagar dados nos chips NAND. • mecanismo de auto-identificação, comparável ao Serial Presence detection(características dos SDRAM) O grupo tem apoio dos principais fabricantes de memória NAND - tais como a Intel, Micron Technology e Sony - e dos principais fabricantes de dispositivos que integram chips NAND. Alguns fornecedores, incluindo Intel, Dell e Microsoft, formaram um grupo para proporcionar um padrão de software e hardware programando interfaces para subsistemas de memória não-volátil, incluindo a flash cache, dispositivo ligado ao PCI [3] Express. Taxas de Transferência Geralmente é anunciada somente a velocidade máxima de leitura, pois os cartões de memória NAND são mais rápidos lendo do que escrevendo dados. O tempo de acesso influencia no desempenho, mas não tem tanta importância comparando com o disco rígido. Às vezes denotado em MB/s(megabytes por segundo), ou em número de “X” como 60x, 100x ou 150x. O “X” se refere à velocidade com que uma única unidade de CD entregaria os dados, 1x é o mesmo que 150 kilobytes por segundo. Por exemplo, um cartão de memória 100x vai a 150 KiB x 100 = 15000 KiB por segundo = 14,65 MiB por segundo (A velocidade exata depende da definição de Megabyte que o comerciante opta [3] por utilizar). Substituto para discos rígidos Uma extensão óbvia da memória flash seria um substituto para os discos rígidos, já que ela não possui as limitações mecânicas e latência dos mesmos. A idéia de um drive de estado sólido, ou SSD, torna-se atraente se considerarmos velocidade, ruído, consumo de energia e confiabilidade. Porém, ainda existem algumas desvantagens que devem ser consideradas. Por exemplo, o custo por gigabyte de memória flash ainda é maior do que dos discos rígidos. Outra preocupação é o fato de existir um número finito de ciclos de leitura e escrita, o que tornaria inviável de sustentar um sistema operacional. Algumas técnicas estão sendo utilizadas na tentativa de combinar as vantagens das duas tecnologias, usando a flash como uma cache de alta velocidade para arquivos do disco que são muito referenciados mas pouco modificados, tais como aplicativos e arquivos [3] executáveis do sistema operacional. Recentemente, a Intel desenvolveu um cartão de memória flash que pode ser usado como HD em laptops usados em regiões rurais e países em desenvolvimento. Essa tecnologia não serve apenas para tornar mais leves e portáteis os computadores, mas sim mais resistentes à poeira. Discos rígidos tradicionais geralmente travam quando há excesso de partículas sólidas no ar. Os computadores com memória flash não [6] apresentariam essa limitação. GDDR Origem: Wikipédia, a enciclopédia livre. GDDR (Double Data Rate Graphics) é uma memória desenvolvida especificamente para utilização em placas gráficas. == Utilização == JdR Jáder Edições! Memórias RAM também são usadas em placas de vídeo, para formar o circuito de memória de vídeo. Até muito recentemente, a memória de vídeo usava exatamente a mesma tecnologia da memória RAM que é instalada na placa-mãe. Placas de vídeo de alto desempenho, no entanto, estavam precisando de memórias mais rápidas do que as usadas convencionalmente no PC. Com isso optou-se por usar memórias com as tecnologias DDR2 e DDR3. Só que as memórias DDR2 e DDR3 usadas em placas de vídeo têm características diferentes das memórias DDR2 e DDR3 usadas no PC – especialmente a tensão de alimentação. Por este motivo é que elas são chamadas GDDR2 e GDDR3 (o “G” vem de “Gráfica”). As memórias DDR operam a 2,5V enquanto as memórias DDR2 operam a 1,8V, levando a um menor consumo elétrico e uma menor geração de calor. As memórias GDDR2 continuam operando a 2,5 V. Como rodam a clocks mais altos do que as memórias DDR, elas geram mais calor do que estas. É por este motivo que as memórias GDDR2 foram pouco usadas como memória de vídeo – somente as placas GeForce FX 5700 Ultra e GeForce FX 5800 Ultra usaram esse tipo de memória. Inclusive pouco tempo depois do lançamento da GeForce FX 5700 Ultra vários fabricantes lançaram modelos desta placa usando memórias GDDR3, possivelmente para amenizar os efeitos de calor e consumo provocados pelo uso das memórias GDDR2. Já as memórias GDDR3 podem operar a 2,0 V (no caso das memórias da Samsung) ou a 1,8 V (no caso das memórias dos outros fabricantes), resolvendo o problema do aquecimento. É por este motivo que este tipo de memória é usado pelas placas de vídeo de alto desempenho. Memórias DDR3 ainda não foram lançadas para o PC, mas provavelmente serão alimentadas com 1,5 V, diferenciando-se, assim, das memórias GDDR3. Fisicamente falando, as memórias GDDR2 e GDDR3 usam o encapsulamento BGA (Ball Grid Array), como você pode conferir nas figuras, o mesmo usado pelas memórias DDR2 usadas no PC. É impossível detectar visualmente se um chip de memória é GDDR2 ou GDDR3. A saída é ir a um site de busca ou ao site do fabricante da memória e procurar pelo número que está impresso na memória. Índice • 1 Tipos de Memória GDDR ◦ 1.1 GDDR1 ◦ 1.2 GDDR2 ◦ 1.3 GDDR3 ◦ 1.4 GDDR4 ◦ 1.5 GDDR5 • 2 Ligações externas Tipos de Memória GDDR GDDR1 Nesta primeira geração está a tensão VDD / VDDQ com 2.5/2.5 V. Com taxas de pulso de disparo de 183 a 500 Megahertz e as latências LIDAS de 3, 4 e 5 ciclos de pulso de disparo, resultando numa taxa máxima de fluxo de informação de 16 GB/s com o barramento 128-Bit. A GDDR1 trabalha como (PC) - a memória do GDR com um Prefetch dobro. GDDR2 GDDR2 representou uma etapa intermediária impopular com o avanço de GDDR, que parte de GDDR1. As características eram a tensão VDD/VDDQ de 2.5/1.8 V, taxas de pulso de disparo de 400 a 500 megahertz e latências LIDAS de 5, 6 e 7 ciclos de pulso de disparo. Assim resultando numa taxa máxima de informação de 32 GB/s com o barramento 256-Bit. JdR GDDR3 GDDR3 é fornecido com uma tensão VDD/VDDQ por 1.8/1.8 V. Com taxas de pulso de disparo de 500 a 800 megahertz e de latências LIDAS de 5 a 9 ciclos de pulso de disparo, com taxa máxima de 51.2 GB/s é possível com o barramento 256-Bit. GDDR3 trabalha como (PC) - DDR2-Speicher com um Prefetch quádruplo, ele transferirá assim 4 informações a cada dois ciclos de processamento. GDDR3 aconteceu com ATI esboçado e veio para a primeira vez com isso nVidia GeForce FX 5700 Ultra e mais tarde com o GeForce 6800 Ultra ao emprego. Com ATI a memória tornou-se para a primeira vez com aquela Radeon Blocos X800. Promova os produtos well-known, com que o uso GDDR3 encontra, são Sony Playstation 3 (TA 256 para o mapa do diagrama) e Microsoft Xbox 360 (a TA 512 é usada ao mesmo tempo pelo CCU e pelo GPU). As memórias GDDR3 geralmente estão presentes em placas de vídeo tais como GeForce 9. Se denomina assim por ser posterior aos modelos DDR2 e DDR, por poder acessar os dados armazenados em si em velocidades muito maiores que os modelos anteriores por possuir uma voltagem menor e algumas revisões perante os outros. GDDR4 A pioneira na produção das memórias GDDR4 é a Samsung em 5 de Julho 2006. Teste a amostra de Hynix esteja disponível; presumably as freqüências de pulso de disparo até 1.45 gigahertz são possíveis. Assim um flow-rate máximo da informação deve ser conseguido por até 92.8 GB/s com o emperramento 256-Bit. GDDR4 trabalha como (PC) - o DDR3-Speicher com um Prefetch eightfold. O primeiro mapa do diagrama, em que GDDR4 com uma freqüência de pulso de disparo era eigesetzt por 1GHz, é o X1950 XTX de ATI. GDDR5 A memória GDDR5 (Graphics Double Data Rate, versão 5) é um tipo de memória para a placa gráfica. Ela será o sucessor do GDDR4 e está atualmente disponível para o público em geral em algumas placas gráficas ATI da empresa (HD4800 série). BIOS Origem: Wikipédia, a enciclopédia livre. Chip de BIOS do tipo DIP (Dual In Parallel), encontrado em placas-mãe antigas Chip de BIOS do tipo PLCC (Plastic Leaded Chip Carrier), encontrado em placas-mãe modernas BIOS, em computação Basic Input/Output System (Sistema Básico de Entrada/Saída). O termo é incorretamente conhecido como Basic Integrated Operating System (Sistema Operacional Básico Integrado) ou Built In Operating System (Sistema Operacional Interno). O BIOS é o firmware (programa) executado por um computador IBM PC quando ligado, é ele que detecta e apresenta para os softwares os hardwares que o computador possui. Índice • • • • • • • 1 2 3 4 5 6 7 Origem do termo Onde se localiza Funcionamento Inicializando o Computador Recursos Actualização ou Upgrade Ver também Origem do termo O termo apareceu pela primeira vez no sistema operacional CP/M, descrevendo a parte do sistema carregada durante a inicialização, que lidava diretamente com o hardware (máquinas CP/M normalmente tinham apenas um simples boot loader na ROM). A maioria das versões do DOS tem um arquivo chamado "IBMBIO.COM" ou "IO.SYS" que são análogos ao disco CP/M BIOS. Onde se localiza O BIOS é armazenado num chip ROM (Read-Only Memory) que pode ser do tipo MaskROM e PROM nas placas-mãe produzidas até o início da década de 1990, e Flash ROM (memória flash) nas placas mais recentes. Na memória ROM da placa-mãe existem mais dois programas chamados Setup (usado para configurar alguns parâmetros do BIOS), e POST (Power On Selt Test) (uma seqüência de testes ao hardware do computador para verificar se o sistema se encontra em estado operacional). Funcionamento Entre outras funções o papel mais importante do BIOS é o carregamento do sistema operacional. Quando o computador é ligado e o microprocessador tenta executar sua primeira instrução, ele tem que obtê-la de algum lugar. Não é possível obter essa instrução do sistema operacional, pois esse se localiza no disco rígido, e o microprocessador não pode se comunicar com ele sem que algumas instruções o digam como fazê-lo. É o BIOS o responsável por fornecer essas instruções. Quando o computador é ligado, o BIOS opera na seguinte seqüência: 1. Verifica as informações armazenadas em uma minúscula memória RAM, que se localiza em um chip fabricado com tecnologia CMOS. A memória CMOS armazena informações relativas a configuração de hardware, que podem ser alteradas de acordo as mudanças do sistema. Essas informações são usadas pelo BIOS modificar ou complementar sua programação padrão, conforme necessário. 2. POST (Power-On Self-Test ou Autoteste de Partida), que são os diagnósticos e testes realizados nos componentes físicos (Disco rígido, processador, etc). Os problemas são comunicados ao usuário por uma combinação de sons (bipes) numa determinada seqüência e se possível, exibidos na tela. O manual do fabricante permite a identificação do problema descrevendo a mensagem que cada seqüência de sons representa. 3. Ativação de outros BIOS possivelmente presentes em dispositivos instalados no computador (ex. discos SCSI e placas de vídeo). 4. Descompactação para a memória principal. Os dados, armazenados numa forma compactada, são transferidos para a memória, e só aí descompactados. Isso é feito para evitar a perda de tempo na transferência dos dados. 5. Leitura dos dispositivos de armazenamento, cujos detalhes e ordem de inicialização são armazenados na CMOS. Se há um sistema operacional instalado no dispositivo, em seu primeiro sector (o Master Boot Record) estão as informações necessárias para o BIOS encontrá-la (este sector não deve exceder 512 bytes). Existem pequenos trechos de softwares chamados de Manipuladores de Interrupção que atuam como tradutores entre os componentes de hardware e o sistema operacional. Um exemplo dessa tradução é quando é pressionada uma tecla no teclado, o evento associado ao sinal é enviado para o manipulador de interrupção do teclado que é enviado a CPU que trata e envia esse evento para o sistema operacional. Os drivers de dispositivos são outros trechos de software que identificam e atuam como interface entre os componentes básicos de hardware como o teclado, mouse, disco rígido. Inicializando o Computador Ao ligar o computador, o primeiro software que você vê agindo é o do BIOS. Durante a seqüência de inicialização (boot), o BIOS faz uma grande quantidade de operações para deixar o computador pronto para o uso. Depois de verificar a configuração na CMOS e carregar os manipuladores de interrupção, o BIOS determina se a placa de vídeo está operacional. Em seguida, o BIOS verifica se trata de uma inicialização a frio (cold boot) ou de uma reinicializarão (reboot). Ela verifica as portas PS/2 ou portas USB em busca de um teclado e um mouse. Ela procura por um barramento PCI (Peripheral Component Interconnect) e, caso encontre algum, verifica todos os cartões PCI. Se o BIOS encontrar algum erro durante o POST, haverá uma notificação ao usuário em forma de bips e mensagens. Após isso aparecem detalhes sobre o sistema: • processador • unidades (drivers) de disco flexível e disco rígido • memória • versão e data do BIOS • monitor de vídeo Recursos Na época do MS-DOS o BIOS atendia praticamente a todas as chamadas de entrada e saída E/S ou I/O (Input/Output) da máquina, atualmente a conexão é feita através da instalação de drivers e é por meio desses drivers que os sistemas operacionais tem contato direto com os hardwares. Na maioria dos BIOS é possível especificar em qual ordem os dispositivos de armazenamento devem ser carregados. Desta forma é possível, por exemplo, carregar uma distribuição do sistema operacional Linux que funciona diretamente do CD antes do sistema operacional instalado no HD (especificando que o CD deve ser verificado antes do HD). Alguns BIOS também permitem a escolha entre diversos sistemas operacionais instalados, mas isto geralmente é feito com um software de terceiros (boot loader). Actualização ou Upgrade Na maioria das placas-mãe modernas o BIOS pode ser atualizado, e os fabricantes disponibilizam arquivos para essa finalidade. A atualização pode resolver problemas de funcionamento de periféricos, ou mesmo erros da versão anterior do BIOS. A atualização altera três programas que estão dentro da memória ROM (BIOS, POST, Setup) e é uma operação de risco e requer muito cuidado para não haver danos na placa-mãe. Há vários problemas que podem acontecer nas atualizações, alguns deles são: arquivos corrompidos, falta de informações para a solicitação do software correto, ou ainda a falta de energia elétrica. Se ocorrer algum problema o sistema poderá não iniciar deixando a placa-mãe muitas vezes inoperante. A atualização ou o upgrade do chip somente deve ser feito quando for realmente necessário. Os principais fabricantes deste firmware são: American Megatrends (AMI), General Software, Insyde Software, e Phoenix Technologies. Disco rígido Origem: Wikipédia, a enciclopédia livre. Disco rígido moderno aberto Disco rígido ou disco duro, no Brasil popularmente também HD ou HDD (do inglês hard disk/hard disk drive; o termo "winchester" há muito já caiu em desuso), é a parte do computador onde são armazenadas as informações, ou seja, é a "memória permanente" propriamente dita (não confundir com "memória RAM"). É caracterizado como memória física, não-volátil, que é aquela na qual as informações não são perdidas quando o computador é desligado. O disco rígido é um sistema lacrado contendo discos de metal recobertos por material magnético onde os dados são gravados através de cabeças, e revestido externamente por uma proteção metálica que é presa ao gabinete do computador por parafusos. É nele que normalmente gravamos dados (informações) e é a partir dele que lançamos e executamos nossos programas mais usados. Este sistema é necessário porque o conteúdo da memória RAM é apagado quando o computador é desligado. Desta forma, temos um meio de executar novamente programas e carregar arquivos contendo os dados da próxima vez em que o computador for ligado. O disco rígido é também chamado de memória de massa ou ainda de memória secundária. Nos sistemas operativos mais recentes, o disco rígido é também utilizado para expandir a memória RAM, através da gestão de memória virtual. Existem vários tipos de discos rígidos diferentes: IDE/ATA, Serial_ATA, SCSI, Fibre channel, SAS. Índice • • • • • • • • • 1 2 3 4 5 6 7 8 9 Como os dados são gravados e lidos Formatação do disco Exemplos de sistema de arquivos Setor de boot História do disco rígido Capacidade do disco rígido Características físicas dos discos rígidos Ver também Ligações externas Como os dados são gravados e lidos Os discos magnéticos de um disco rígido são recobertos por uma camada magnética extremamente fina. Na verdade, quanto mais fina for a camada de gravação, maior será sua sensibilidade, e conseqüentemente maior será a densidade de gravação permitida por ela. Poderemos então armazenar mais dados num disco do mesmo tamanho, criando HDs de maior capacidade. Os primeiros discos rígidos, assim como os discos usados no início da década de 80, utilizavam a mesma tecnologia de mídia magnética utilizada em disquetes, chamada coated media, que além de permitir uma baixa densidade de gravação, não é muito durável. Os discos atuais já utilizam mídia laminada (plated media); uma mídia mais densa, de qualidade muito superior, que permite a enorme capacidade de armazenamento dos discos modernos. A cabeça de leitura e gravação de um disco rígido funciona como um eletroímã semelhante aos que estudamos nas aulas de ciências do primário, sendo composta de uma bobina de fios que envolvem um núcleo de ferro. A diferença é que num disco rígido, este eletroímã é extremamente pequeno e preciso, a ponto de ser capaz de gravar trilhas medindo menos de um centésimo de milímetro. Quando estão sendo gravados dados no disco, a cabeça utiliza seu campo magnético para organizar as moléculas de óxido de ferro da superfície de gravação, fazendo com que os pólos positivos das moléculas fiquem alinhados com o pólo negativo da cabeça e, conseqüentemente, com que os pólos negativos das moléculas fiquem alinhados com o pólo positivo da cabeça. Usamos neste caso a velha lei “os opostos se atraem”. Como a cabeça de leitura e gravação do HD é um eletroímã, sua polaridade pode ser alternada constantemente. Com o disco girando continuamente, variando a polaridade da cabeça de gravação, variamos também a direção dos pólos positivos e negativos das moléculas da superfície magnética. De acordo com a direção dos pólos, temos um bit 1 ou 0 (sistema binário). Para gravar as seqüências de bits 1 e 0 que formam os dados, a polaridade da cabeça magnética é mudada alguns milhões de vezes por segundo, sempre seguindo ciclos bem determinados. Cada bit é formado no disco por uma seqüência de várias moléculas. Quanto maior for a densidade do disco, menos moléculas serão usadas para armazenar cada bit e teremos um sinal magnético mais fraco. Precisamos então de uma cabeça magnética mais precisa. Quando é preciso ler os dados gravados, a cabeça de leitura capta o campo magnético gerado pelas moléculas alinhadas. A variação entre os sinais magnéticos positivos e negativos gera uma pequena corrente elétrica que caminha através dos fios da bobina. Quando o sinal chega na placa lógica do HD, ele é interpretado como uma seqüência de bits 1 e 0. Vendo desta maneira, o processo de armazenamento de dados em discos magnéticos parece ser simples, e realmente era nos primeiros discos rígidos (como o 305 RAMAC da IBM), que eram construídos de maneira praticamente artesanal. Apesar de nos discos modernos terem sido incorporados vários aperfeiçoamentos, o processo básico continua sendo o mesmo. Formatação do disco Disco rígido instalado em um computador padrão. Para que o sistema operacional seja capaz de gravar e ler dados no disco rígido, é preciso que antes sejam criadas estruturas que permitam gravar os dados de maneira organizada, para que eles possam ser encontrados mais tarde. Este processo é chamado de formatação. Existem dois tipos de formatação, chamados de formatação física e formatação lógica. A formatação física é feita na fábrica ao final do processo de fabricação,que consiste em dividir o disco virgem em trilhas, setores , cilindros e isola os badblocks (danos no HD). Estas marcações funcionam como as faixas de uma estrada, permitindo à cabeça de leitura saber em que parte do disco está, e onde ela deve gravar dados. A formatação física é feita apenas uma vez, e não pode ser desfeita ou refeita através de software. Porém, para que este disco possa ser reconhecido e utilizado pelo sistema operacional, é necessária uma nova formatação, chamada de formatação lógica. Ao contrário da formatação física, a formatação lógica não altera a estrutura física do disco rígido, e pode ser desfeita e refeita quantas vezes for preciso, através do comando FORMAT do DOS por exemplo. O processo de formatação é quase automático, basta executar o programa formatador que é fornecido junto com o sistema operacional. Quando um disco é formatado, ele simplesmente é organizado à maneira do sistema operacional, preparado para receber dados. A esta organização damos o nome de “sistema de arquivos”. Um sistema de arquivos é um conjunto de estruturas lógicas e de rotinas que permitem ao sistema operacional controlar o acesso ao disco rígido. Diferentes sistemas operacionais usam diferentes sistemas de arquivos. O computador, no decorrer de sua utilização tem seu desempenho geral afetado, em decorrência da instalação e remoção de diversos softwares, inclusive alguns que não removem todos os arquivos e informações do seu computador, ocasionando lentidão na sua execução. O software básico (sistema operacional) pode apresentar falhas de funcionamento (travamentos), instabilidade no uso, espera no carregamento de programas e softwares diversos, ou casos extremos de corrompimento do sistema operacional (falhas na execução do próprio) em decorrência de uso ilegal ou ataques de vírus de computador. Uma formatação lógica apaga todos os dados do disco rígido, inclusive o sistema operacional. Deve-se fazer isso com conhecimento técnico, para salvar/guardar dados e informações (os backups de arquivos). O processo de formatação é longo, e as informações contidas no disco rígido serão totalmente apagadas (embora não definitivamente, ainda é possível recuperar alguns dados com softwares especiais.) Ações preventivas de manutenção de computador podem evitar que seja necessário formatar o computador. Exemplos de sistema de arquivos Os sistemas de arquivos mais conhecidos são os utilizados pelo Microsoft Windows: NTFS e FAT32 (e FAT ou FAT16). O FAT32, às vezes referenciado apenas como FAT (erradamente, FAT é usado para FAT16), é uma evolução do ainda mais antigo FAT16 introduzida a partir do MS-DOS 4.0, no Windows 95 ORS/2 foi introduzido o FAT32 (uma versão “debugada” do Windows 95, com algumas melhorias, vendida pela Microsoft apenas em conjunto com computadores novos). A partir do Windows NT foi introduzido um novo sistema de arquivos, o NTFS, que é mais avançado do que o FAT (a nível de segurança, sacrificando algum desempenho), sendo a mais notável diferença o recurso de permissões de arquivo (sistemas multi-usuário), inexistente nos sistemas FAT e essencial no ambiente empresarial (e ainda acrescento do metadata). Em resumo, versões antigas, mono-usuário, como Windows 95, 98 e ME, trabalham com FAT32 (mais antigamente, FAT16). Já versões novas, multi-usuário, como Windows XP e Windows 2000 trabalham primordialmente com o NTFS, embora o sistema FAT seja suportado e você possa criar uma partição FAT nessas versões. No mundo Linux há uma grande variedade de sistemas de arquivos, sendo alguns dos mais comuns o Ext2, Ext3 e o ReiserFS. O FAT e o NTFS também são suportados tanto para leitura quanto para escrita. No Mundo BSD, o sistema de arquivos é denominado FFS (Fast File System), derivado do antigo UFS (Unix File System), [carece de fontes?] Atualmente , encontramos um novo tipo de sistema de arquivo chamado NFS (Network File System), ao qual possibilita que "HDs Virtuais" sejam utilizadas remotamente, ou seja, um servidor disponibiliza espaço através de suas HDs físicas para que outras pessoas utilizem-nas remotamente como se a mesma estivesse disponível localmente . Um grande exemplo desse sistema encontraremos no Google ou no 4shared, com espaços disponíveis de até 5 GB (contas free). Setor de boot Quando o micro é ligado, o POST (Power-on Self Test), um pequeno programa gravado em um chip de memória ROM na placa-mãe, que tem a função de “dar a partida no micro”, tentará inicializar o sistema operacional. Independentemente de qual sistema de arquivos você esteja usando, o primeiro setor do disco rígido será reservado para armazenar informações sobre a localização do sistema operacional, que permitem ao BIOS “achá-lo” e iniciar seu carregamento. No setor de boot é registrado aonde o sistema operacional está instalado, com qual sistema de arquivos o disco foi formatado e quais arquivos devem ser lidos para inicializar o micro. Um setor é a menor divisão física do disco, e possui 99% das vezes 512 Bytes(nos CD-ROMs e derivados é de 2048 Bytes). Um cluster (também chamado de agrupamento) é a menor parte reconhecida pelo sistema operacional, e pode ser formado por vários setores. Um arquivo com um número de bytes maior que o tamanho do cluster, ao ser gravado no disco, é distribuído em vários clusters. Porém um cluster não pode pertencer a mais de um arquivo. Um único setor de 512 Bytes pode parecer pouco, mas é suficiente para armazenar o registro de boot devido ao seu pequeno tamanho. O setor de boot também é conhecido como “trilha MBR”, “trilha 0”, etc. Como dito, no disco rígido existe um setor chamado Trilha 0, geralmente (só em 99.999% das vezes) está gravado o (MBR) (Master Boot Record), que significa “Registro de Inicialização Mestre”, um estilo de formatação, onde é encontrada informações tipo: como está dividido o disco(no sentido lógico), a ID de cada tabela de partição do disco, qual que dará o boot etc... O MBR é lido pelo BIOS, que interpreta a informação e em seguida ocorre o chamado “bootstrap”, “Levantar-se pelo cadaço”, lê as informações de como funciona o sistema de arquivos e efetua o carregamento do Sistema Operacional. O MBR e a ID da tabela de partição ocupam apenas um setor de uma trilha, o restante dos setores desta trilha não são ocupados, permanecendo vazios, servindo como área de proteção do MBR. É nesta mesma área que alguns vírus (Vírus de Boot) se alojam. Disquetes, Zip-disks e CD-ROMs não possuem MBR, no entanto possuem tabela de partição, no caso do CD-ROMs e seu descendentes(DVD-ROM, HDDVD-ROM, BD-ROM...) possuem tabela própria, podendo ser CDFS(Compact Disc File System) ou UDF (Universal Disc Format) ou, para maior compatibilidade, os dois; já os cartões de Memória Flash e Pen-Drives possuem tabela de partição e podem ter até mesmo MBR, dependendo de como formatados. SETOR DE BOOT E MBR NÃO SÃO A MESMA COISA O MBR situa-se no primeiro setor da primeira trilha do primeiro prato do HD (setor um, trilha zero, face zero, prato zero). O MBR é constituído pelo Bootstrap e pela Tabela de Partição. O Bootstrap é o responsável por analisar a Tabela de Partição em busca da partição ativa. Em seguida ele carrega na memória o Setor de Boot da partição. Esta é a função do Bootstrap. A Tabela de Partição contém informações sobre as partições existentes no disco. Informações como o tamanho da partição; em qual trilha/setor/cilindro ela começa e termina; o sistema de arquivos da partição; se é a partição ativa... ao todo são dez campos. Quatro campos para cada partição possível (por isso só se pode ter 4 partições primárias, e por isso também que foi-se criada a partição estendida...), e dez campos para identificar cada partição existente. Quando acaba o POST, a instrução INT 19 do BIOS lê o MBR e o carrega na memória, e é executado o Bootstrap. O Bootstrap vasculha a Tabela de Partição em busca da partição ativa, e em seguida carrega na memória o Setor de Boot dela. A função do Setor de Boot é a de carregar na memória os arquivos de inicialização do SO. O Setor de Boot fica situado no primeiro setor da partição ativa. História do disco rígido Um antigo disco rígido IBM Sem dúvida, o disco rígido foi um dos componentes que mais evoluíram na história da computação. O primeiro disco rígido foi construído pela IBM em 1957, e era formado por nada menos que 50 discos de 24 polegadas de diâmetro, com uma capacidade total de 5 megabytes, incrível para a época. Este primeiro disco rígido foi chamado de 305 RAMAC (Random Access Method of Accounting and Control). Em 1973 a IBM lançou o modelo 3340 "Winchester", com dois pratos de 30 megabytes e tempo de acesso de 30 milissegundos. Assim criou-se o termo 30/30 Winchester (uma referência à espingarda Winchester 30/30), termo muito usado antigamente para designar HDs de qualquer espécie. Ainda no início da década de 1980, os discos rígidos eram muito caros e modelos de 10 megabytes custavam quase 2.000 dólares americanos, enquanto hoje compramos modelos de 160 gigabytes por menos de 100 dólares. Ainda no começo dos anos 80, a mesma IBM fez uso de uma versão pack de discos de 80 mb, usado nos sistemas IBM Virtual Machine. Capacidade do disco rígido A capacidade de um disco rígido atualmente disponível no mercado para uso doméstico/ comercial varia de 10 a 1500 GB, assim como aqueles disponíveis para empresas, de até 1.5 TB. O HD evoluiu muito. O mais antigo possuía 5 MB (aproximadamente 4 disquetes de 3 1/2 HD), sendo aumentada para 30 MB, em seguida para 500 MB (20 anos atrás), e 10 anos mais tarde, HDs de 1 a 3 GB. Em seguida lançou-se um HD de 10 GB e posteriormente um de 15 GB. Posteriormente, foi lançado no mercado um de 20 GB, até os atuais HDs de 60GB a 1TB. As empresas usam maiores ainda: variam de 40 GB até 1.5 TB, mas a Seagate informou que em 2010 irá lançar um HD de 200 TB (sendo 50 TB [carece de fontes?] por polegada quadrada, contra 70 GB dos atuais HDs) . No entanto, as indústrias consideram 1 GB = 1000 * 1000 * 1000 bytes, pois no Sistema Internacional 3 de Unidades(SI), que trabalha com potências de dez, o prefixo giga quer dizer * 1000 9 ou * 10 , enquanto os sistemas operacionais consideram 1 GB = 1024 * 1024 * 1024 bytes, já que os computadores trabalham com potências de dois e 1024 é a potência de dois mais próxima de mil. Isto causa uma certa disparidade entre o tamanho informado na compra do HD e o tamanho considerado pelo Sistema Operacional, conforme mostrado na tabela abaixo. Além disso, outro fator que pode deixar a capacidade do disco menor do que o anunciado é a formatação de baixo nível (formatação física) com que o disco sai de fábrica. Informado na CompraConsiderado pelo Sistema 10 GB 9,31 GB 15 GB 13,97 GB 20 GB 18,63 GB 30 GB 27,94 GB 40 GB 37,25 GB 80 GB 74,53 GB 120 GB 111,76 GB 160 GB 149,01 GB 200 GB 186,26 GB 250 GB 232,83 GB 300 GB 279,40 GB 500 GB 465,66 GB 750 GB 698,49 GB 1 TB 931,32 GB 1.5 TB 1.396,98 GB Todos os valores acimas são aproximações Toda a vez que um HD é formatado, uma pequena quantidade de espaço é marcada como utilizada. Características físicas dos discos rígidos Tem como características não serem voláteis, ou seja, trata-se de uma memória que ao ser desligada suas informações não são perdidas. Seus discos lacrados possuem discos de metal magnetizado onde os dados são gravados. Sistema operativo Origem: Wikipédia, a enciclopédia livre. Ubuntu (português europeu) (português brasileiro) Um sistema operativo ou sistema operacional é um programa ou um conjunto de programas cuja função é servir de interface entre um computador e o usuário. Segundo alguns autores (Silberschatz et al, 2005; Stallings, 2004; Tanenbaum, 1999), existem dois modos distintos de conceituar um sistema operacional: • pela perspectiva do usuário ou programador (visão top-down): é uma abstração do hardware, fazendo o papel de intermediário entre o aplicativo (programa) e os componentes físicos do computador (hardware); ou • numa visão bottom-up, de baixo para cima: é um gerenciador de recursos, i.e., controla quais aplicações (processos) podem ser executadas, quando, que recursos (memória, disco, periféricos) podem ser utilizados. A sigla usual para designar esta classe de programas é SO (em português) ou OS (do inglês Operating System). Índice • 1 História • 2 Visão geral • 3 Funcionamento ◦ 3.1 Gerenciamento de processos ◦ 3.2 Gerenciamento de memória ◦ 3.3 Sistema de arquivos • 4 Classificações • 5 Referências • 6 Ver também História Na primeira geração de computadores (aproximadamente 1945-1955), que eram basicamente construídos com válvulas e painéis, os sistemas operacionais "não existiam". Os programadores, que também eram os operadores, controlavam o computador por meio de chaves, fios e luzes de aviso. Na geração seguinte (aproximadamente 1955-1965), foram criados os sistemas em lote (batch systems), que permitiram melhor uso dos recursos computacionais. A base do sistema operacional era um programa monitor, usado para enfileirar tarefas (jobs). O usuário foi afastado do computador; cada programa era escrito em cartões perfurados, que por sua vez eram carregados, juntamente com o respectivo compilador (normalmente Fortran ou Cobol), por um operador, que por sua vez usava uma linguagem de controle chamada JCL (job control language). Esta página ou secção foi marcada para revisão, devido a inconsistências e dados de confiabilidade duvidosa. Se tem algum conhecimento sobre o tema, por favor verifique e melhore a consistência e o rigor deste artigo. Considere utilizar {{revisão-sobre}} para associar este artigo com um WikiProjeto. No início da computação os primeiros sistemas operacionais eram únicos, pois cada mainframe vendido necessitava de um sistema operacional específico. Esse problema era resultado de arquiteturas diferentes e da linguagem de máquina utilizada. Após essa fase, iniciou-se a pesquisa de sistemas operacionais que automatizassem a troca de tarefas (jobs), pois os sistemas eram monousuários e tinham cartões perfurados como entrada (eliminando, assim, o trabalho de pessoas que eram contratadas apenas para trocar os cartões perfurados). Um dos primeiros sistemas operacionais de propósito geral foi o CTSS, desenvolvido no MIT. Após o CTSS, o MIT, os laboratórios Bell da AT&T e a General Eletric desenvolveram o Multics, cujo objetivo era suportar centenas de usuários. Apesar do fracasso comercial, o Multics serviu como base para o estudo e desenvolvimento de sistemas operacionais. Um dos desenvolvedores do Multics, que trabalhava para a Bell, Ken Thompson, começou a reescrever o Multics num conceito menos ambicioso, criando o Unics (em 1969), que mais tarde passou a chamar-se Unix. Os sistemas operacionais eram geralmente programandos em assembly, até mesmo o Unix em seu início. Então, Dennis Ritchie (também da Bell) criou a linguagem C a partir da linguagem B, que havia sido criada por Thompson. Finalmente, Thompson e Ritchie reescreveram o Unix em C. O Unix criou um ecossistema de versões, onde destacam-se: System V e derivados (HPUX, AIX); família BSD (FreeBSD, NetBSD, OpenBSD, etc.), Linux e até o Mac OS X (que deriva do Mach e FreeBSD). Na década de 1970, quando começaram a aparecer os computadores pessoais, houve a necessidade de um sistema operacional de utilização mais fácil. Em 1980, William (Bill) Gates e seu colega de faculdade, Paul Allen, fundadores da Microsoft, compram o sistema QDOS ("Quick and Dirty Operating System") de Tim Paterson por $50.000, batizam-no de DOS (Disk Operating System) e vendem licenças à IBM. O DOS vendeu muitas cópias, como o sistema operacional padrão para os computadores pessoais desenvolvidos pela IBM. IBM e Microsoft fariam, ainda, uma parceria para o desenvolvimento de um sistema operacional multitarefa chamado OS/2. Após o fim da breve parceria a IBM seguiu sozinha no desenvolvimento do OS/2. No começo da década de 1990, um estudante de computação finlandês postou um comentário numa lista de discussão da Usenet dizendo que estava desenvolvendo um kernel de sistema operacional e perguntou se alguém gostaria de auxiliá-lo na tarefa. Este estudante chamava-se Linus Torvalds e o primeiro passo em direção ao tão conhecido Linux foi dado naquele momento. Visão geral Um sistema operativo pode ser visto como um programa de grande complexidade que é responsável por todo o funcionamento de uma máquina desde o software a todo hardware instalado na máquina. Todos os processos de um computador estão por de trás de uma programação complexa que comanda todas a funções que um utilizador impõe à máquina. Existem vários sistemas operativos; entre eles, os mais utilizados no dia a dia, normalmente utilizados em computadores domésticos, são o Windows, Linux, OS/2 e Mac OS X. Um computador com o sistema operativo instalado poderá não dar acesso a todo o seu conteúdo dependendo do utilizador. Com um sistema operativo, podemos estabelecer permissões a vários utilizadores que trabalham com este. Existem dois tipos de contas que podem ser criadas num sistema operativo, as contas de Administrador e as contas limitadas. A conta Administrador é uma conta que oferece todo o acesso à máquina, desde a gestão de pastas, ficheiros e software de trabalho ou entretenimento ao controlo de todo o seu Hardware instalado. A conta Limitada é uma conta que não tem permissões para aceder a algumas pastas ou instalar software que seja instalado na raiz do sistema ou então que tenha ligação com algum Hardware que altere o seu funcionamento normal ou personalizado pelo Administrador. Para que este tipo de conta possa ter acesso a outros conteúdos do disco ou de software, o administrador poderá personalizar a conta oferecendo permissões a algumas funções do sistema como também poderá retirar acessos a certas áreas do sistema. O sistema operativo funciona com a iniciação de processos que este irá precisar para funcionar correctamente. Esses processos poderão ser ficheiros que necessitam de ser frequentemente actualizados, ou ficheiros que processam dados úteis para o sistema. Poderemos ter acesso a vários processos do sistema operativo a partir do gestor de tarefas, onde se encontram todos os processos que estão em funcionamento desde o arranque do sistema operativo até a sua utilização actual. Pode-se também visualizar a utilização da memória por cada processo, no caso de o sistema operativo começar a mostrar erros ou falhas de acesso a programas tornando-se lento, pode-se verificar no gestor de tarefas qual dos processos estará bloqueado ou com elevado número de processamento que está a afectar o funcionamento normal da memória. Funcionamento Um sistema operacional possui as seguintes funções: 1. gerenciamento de processos; 2. gerenciamento de memória; 3. sistema de arquivos; 4. entrada e saída de dados. Gerenciamento de processos O sistema operacional multitarefa é preparado para dar ao usuário a ilusão que o número de processos em execução simultânea no computador é maior que o número de processadores instalados. Cada processo recebe uma fatia do tempo e a alternância entre vários processos é tão rápida que o usuário pensa que sua execução é simultânea. São utilizados algoritmos para determinar qual processo será executado em determinado momento e por quanto tempo. Os processos podem comunicar-se, isto é conhecido como IPC (Inter-Process Communication). Os mecanismos geralmente utilizados são: • sinais, • pipes, • named pipes, • memória compartilhada, • soquetes (sockets), • semáforos, • trocas de mensagens. O sistema operacional, normalmente, deve possibilitar o multiprocessamento (SMP ou NUMA). Neste caso, processos diferentes e threads podem ser executados em diferentes processadores. Para essa tarefa, ele deve ser reentrante e interrompível, o que significa que pode ser interrompido no meio da execução de uma tarefa. Gerenciamento de memória O sistema operacional tem acesso completo à memória do sistema e deve permitir que os processos dos usuários tenham acesso seguro à memória quando o requisitam. Vários sistemas operacionais usam memória virtual, que possui 3 funções básicas: 1. assegurar que cada processo tenha seu próprio espaço de endereçamento, começando em zero, para evitar ou resolver o problema de relocação (Tanenbaum, 1999); 2. prover proteção da memória para impedir que um processo utilize um endereço de memória que não lhe pertença; 3. possibilitar que uma aplicação utilize mais memória do que a fisicamente existente. Sistema de arquivos A memória principal do computador é volátil, e seu tamanho é limitado pelo custo do hardware. Assim, os usuários necessitam de algum método para armazenar e recuperar informações de modo permanente. Um arquivo é um conjunto de bytes, normalmente armazenado em um dispositivo periférico não volátil (p.ex., disco), que pode ser lido e gravado por um ou mais processos. O sistema de arquivos é a estrutura que permite o gerenciamento de arquivos -criação, destruição, leitura, gravação, controle de acesso, etc. Classificações Em relação ao seu projeto (arquitetura), segundo Tanenbaum (1999): • Kernel monolítico ou monobloco: o kernel consiste em um único processo executando numa memória protegida (espaço do kernel) executando as principais funções. Ex.: OS/2, Windows, Linux, FreeBSD. • Microkernel ou modelo cliente-servidor: o kernel consiste de funções mínimas (comunicação e gerenciamento de processos), e outras funções, como sistemas de arquivos e gerenciamento de memória, são executadas no espaço do usuário como serviços; as aplicações (programas) são os clientes. Ex.: GNU Hurd, Mach. • Sistema em camadas: funções do kernel irão executar em camadas distintas, de acordo com seu nível de privilégio. Ex.: Multics. • Monitor de máquinas virtuais: fornece uma abstração do hardware para vários sistemas operacionais. Ex.: VM/370, VMware, Xen. Quanto à capacidade de processamento, pode-se usar a seguinte classificação: • Monotarefa: pode-se executar apenas um processo de cada vez Ex.: DOS. • Multitarefa: além do próprio SO, vários processos de utilizador (tarefas) estão carregados em memória, sendo que um pode estar ocupando o processador e outros ficam enfileirados, aguardando a sua vez. O compartilhamento de tempo no processador é distribuído de modo que o usuário tenha a impressão que vários processos estão sendo executados simultaneamente. Ex: OS/2, Windows, Linux, FreeBSD e o Mac OS X. • Multiprocessamento: o SO distribui as tarefas entre dois ou mais processadores. • Multiprogramação: o SO divide o tempo de processamento entre vários processos mantendo o processador sempre ocupado. Wikipedia:GNU Free Documentation License Origem: Wikipédia, a enciclopédia livre.