quinta-feira, 27 de maio de 2010

Sistemas ERP

ERP (Enterprise Resource Planning) ou SIGE (Sistemas Integrados de Gestão Empresarial, no Brasil) são sistemas de informação que integram todos os dados e processos de uma organização em um único sistema. A integração pode ser vista sob a perspectiva funcional (sistemas de: finanças, contabilidade, recursos humanos, fabricação, marketing, vendas, compras, etc.) e sob a perspectiva sistêmica (sistema de processamento de transações, sistemas de informações gerenciais, sistemas de apoio a decisão, etc.).

Os ERPs em termos gerais são uma plataforma de software desenvolvida para integrar os diversos departamentos de uma empresa, possibilitando a automação e armazenamento de todas as informações de negócios.

A importância do ERP nas corporações
Entre as mudanças mais palpáveis que um sistema de ERP propicia a uma corporação, sem dúvida, está a maior confiabilidade dos dados, agora monitorados em tempo real, e a diminuição do retrabalho. Algo que é conseguido com o auxílio e o comprometimento dos funcionários, responsáveis por fazer a atualização sistemática dos dados que alimentam toda a cadeia de módulos do ERP e que, em última instância, fazem com que a empresa possa interagir. Assim, as informações trafegam pelos módulos em tempo real, ou seja, uma ordem de vendas dispara o processo de fabricação com o envio da informação para múltiplas bases, do estoque de insumos à logística do produto. Tudo realizado com dados orgânicos, integrados e não redundantes.

Para entender melhor como isto funciona, o ERP pode ser visto como um grande banco de dados com informações que interagem e se realimentam. Assim, o dado inicial sofre uma mutação de acordo com seu status, como a ordem de vendas que se transforma no produto final alocado no estoque da companhia.

Ao desfazer a complexidade do acompanhamento de todo o processo de produção, venda e faturamento, a empresa tem mais subsídios para se planejar, diminuir gastos e repensar a cadeia de produção. Um bom exemplo de como o ERP revoluciona uma companhia é que com uma melhor administração da produção, um investimento, como uma nova infra-estrutura logística, pode ser repensado ou simplesmente abandonado. Neste caso, ao controlar e entender melhor todas as etapas que levam a um produto final, a companhia pode chegar ao ponto de produzir de forma mais inteligente, rápida e melhor, o que, em outras palavras, reduz o tempo que o produto fica parado no estoque.

A tomada de decisões também ganha outra dinâmica. Imagine uma empresa que por alguma razão, talvez uma mudança nas normas de segurança, precise modificar aspectos da fabricação de um de seus produtos. Com o ERP, todas as áreas corporativas são informadas e se preparam de forma integrada para o evento, das compras à produção, passando pelo almoxarifado e chegando até mesmo à área de marketing, que pode assim ter informações para mudar algo nas campanhas publicitárias de seus produtos. E tudo realizado em muito menos tempo do que seria possível sem a presença do sistema.

De acordo com a empresa é possível direcionar ou adaptar o ERP para outros objetivos, estabelecendo prioridades que podem tanto estar na cadeia de produção quanto no apoio ao departamento de vendas como na distribuição, entre outras. Com a capacidade de integração dos módulos, é possível diagnosticar as áreas mais e menos eficientes e focar em processos que possam ter o desempenho melhorado com a ajuda do conjunto de sistemas.

Vantagens do ERP
Algumas das vantagens da implementação de um ERP em uma empresa são:
- Eliminar o uso de interfaces manuais;
- Reduzir custos;
- Otimizar o fluxo da informação e a qualidade da mesma dentro da organização (eficiência);
- Otimizar o processo de tomada de decisão;
- Eliminar a redundância de atividades;
- Reduzir os limites de tempo de resposta ao mercado;
- Reduzir as incertezas do Lead time;
- Incorporação de melhores práticas (codificadas no ERP) aos processos internos da empresa.

Desvantagens do ERP
Algumas das desvantagens da implementação de um ERP em uma empresa são:
- A utilização do ERP por si só não torna uma empresa verdadeiramente integrada;
- Altos custos que muitas vezes não comprovam a relação custo/benefício;
- Dependência do fornecedor do pacote;
- Adoção de melhores práticas aumenta o grau de imitação e padronização entre as empresas de um segmento;
- Torna os módulos dependentes uns dos outros, pois cada departamento depende das informações do módulo anterior, por exemplo. Logo, as informações têm que ser constantemente atualizadas, uma vez que as informações são em tempo real, ocasionando maior trabalho.

Uso do software
Um dos pontos fortes do sistema é a integração entre os módulos. Os monitores, as operações e a navegação dentro do sistema são de tal forma padronizadas que, à medida que o utilizador se familiariza com um módulo, aprende mais facilmente e rapidamente os demais. Os acessos às informações são realizados através de menus com utilização de senhas, permitindo que se controle quais os utilizadores que têm acesso a que tipo de informações. Além disso, os menus são customizados de forma que cada utilizador visualize e tenha acesso somente às operações que atendam aos objetivos específicos de seu interesse.

ERP comerciais
Os maiores fornecedores de sistemas ERPs são: SAP (Alemã) e Oracle(USA).

ERP livres
Existem diversos sistemas de ERP como software livre, como por exemplo, a Stoq e a OpenERP.

Modelo Cliente-Servidor

Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores. Cada instância de um cliente pode enviar requisições de dados para algum dos servidores conectados e esperar pela resposta. Por sua vez, algum dos servidores disponíveis pode aceitar tais requisições, processá-las e retornar o resultado para o cliente. Apesar do conceito ser aplicado em diversos usos e aplicações, a arquitetura é praticamente a mesma.

Muitas vezes os clientes e servidores se comunicam através de uma rede de computador com hardwares separados, mas o cliente e servidor podem residir no mesmo sistema. A máquina servidor é um host que está executando um ou mais programas de servidor que partilham os seus recursos com os clientes.

Um cliente não compartilha de seus recursos, mas solicita o conteúdo de um servidor ou função de serviço. Os clientes, portanto, iniciam sessões de comunicação com os servidores que esperam as solicitações de entrada.

Descrição
A característica de cliente-servidor, descreve a relação de programas em um aplicativo. O componente de servidor fornece uma função ou serviço a um ou muitos clientes, que iniciam os pedidos de serviços.

Funções como a troca de e-mail, acesso à internet e acessar banco de dados, são construídos com base no modelo cliente-servidor. Por exemplo, um navegador da web é um programa cliente em execução no computador de um usuário que pode acessar informações armazenadas em um servidor web na Internet. Usuários de serviços bancários acessando do seu computador usam um cliente navegador da Web para enviar uma solicitação para um servidor web em um banco. Esse programa pode, por sua vez encaminhar o pedido para o seu próprio programa de banco de dados do cliente que envia uma solicitação para um servidor de banco de dados em outro computador do banco para recuperar as informações da conta. O saldo é devolvido ao cliente de banco de dados do banco, que por sua vez, serve-lhe de volta ao cliente navegador exibindo os resultados para o usuário.

O modelo cliente-servidor, se tornou uma das idéias centrais de computação de rede. Muitos aplicativos de negócios a serem escrito hoje utilizam o modelo cliente-servidor. Em marketing, o termo tem sido utilizado para distinguir a computação distribuída por pequenas dispersas computadores da "computação" monolítica centralizada de computadores mainframe.

Cada instância de software do cliente pode enviar requisições de dados a um ou mais servidores ligados. Por sua vez, os servidores podem aceitar esses pedidos, processá-los e retornar as informações solicitadas para o cliente. Embora este conceito possa ser aplicado para uma variedade de razões para diversos tipos de aplicações, a arquitetura permanece fundamentalmente a mesma.

Características do Cliente
- Sempre inicia pedidos de servidores;
- Espera por respostas;
- Recebe respostas;
- Normalmente, se conecta a um pequeno número de servidores de uma só vez;
- Normalmente, interage diretamente com os usuários finais através de qualquer interface com o usuário , como interface gráfica do usuário.

Características do Servidor
- Sempre esperar por um pedido de um dos clientes;
- Serve os clientes pedidos, em seguida, responde com os dados solicitados aos clientes;
- Um servidor pode se comunicar com outros servidores, a fim de atender uma solicitação do cliente.

Vantagens
-Na maioria dos casos, a arquitetura cliente-servidor permite que os papéis e responsabilidades de um sistema de computação para ser distribuído entre vários computadores independentes que são conhecidos por si só através de uma rede. Isso cria uma vantagem adicional para essa arquitetura: maior facilidade de manutenção. Por exemplo, é possível substituir, reparar, atualizar ou mesmo realocar um servidor de seus clientes, enquanto continuam a ser a consciência e não afetado por essa mudança;
- Todos os dados são armazenados nos servidores, que geralmente possuem controles de segurança muito maior do que a maioria dos clientes. Servidores podem controlar melhor o acesso e recursos, para garantir que apenas os clientes com as permissões adequadas podem acessar e alterar dados;
- Desde o armazenamento de dados é centralizada, as atualizações dos dados são muito mais fáceis de administrar, em comparação com o paradigma P2P, onde uma arquitetura P2P, atualizações de dados podem precisar ser distribuída e aplicada a cada ponto na rede, que é o time-consuming é passível de erro, como pode haver milhares ou mesmo milhões de pares;
- Muitas tecnologias avançadas de cliente-servidor já estão disponíveis, que foram projetadas para garantir a segurança, facilidade de interface do usuário e facilidade de uso;
- Funciona com vários clientes diferentes de capacidades diferentes.

Desvantagens
- Redes de tráfego de bloqueio é um dos problemas relacionados com o modelo cliente-servidor. Como o número de solicitações simultâneas de cliente para um determinado servidor, o servidor pode ficar sobrecarregado;
- O paradigma cliente-servidor não tem a robustez de uma rede P2P. Sob cliente-servidor, se um servidor crítico falhar, os pedidos dos clientes não podem ser cumpridos. Em redes P2P, os recursos são normalmente distribuídos entre vários nós. Mesmo se um ou mais nós partem e abandonam baixar um arquivo, por exemplo, os nós restantes ainda deve ter os dados necessários para completar o download.

Protocolos de transporte e aplicações de rede
Os protocolos do nível de transporte fornecem serviços que garantem uma transferência confiável de dados e aplicativos entre computadores (ou outros equipamentos) remotos. Os programas na camada de aplicação usam os protocolos de transporte para contactar outras aplicações. Para isso, a aplicação interage com o software do protocolo antes de ser feito o contacto. A aplicação que aguarda a conexão informa ao software do protocolo local que está pronta a aceitar mensagem. A aplicação que estabelece a conexão usa os protocolos de transporte e rede para contactar o sistema que aguarda. As mensagens entre as duas aplicações são trocadas através da conexão resultante.

Existem duas formas para que se estabeleça uma ligação cliente-servidor: enquanto uma delas é orientada à conexão, a outra não é. O TCP, por exemplo, é um protocolo de transporte orientado à conexão em que o cliente estabelece uma conexão com o servidor e ambos trocam múltiplas mensagens de tamanhos variados, sendo a aplicação do cliente quem termina a sessão. Já o protocolo UDP não é orientado à conexão, nele o cliente constrói uma mensagem e a envia num pacote UDP para o servidor, que responde sem estabelecer uma conexão permanente com o cliente.

Rede de Computadores

Uma rede de computadores consiste de 2 ou mais computadores e outros dispositivos conectados entre si de modo a poderem compartilhar seus serviços, que podem ser: dados, impressoras, mensagens (e-mails), etc.
A Internet é um amplo sistema de comunicação que conecta muitas redes de computadores. Existem várias formas e recursos de vários equipamentos que podem ser interligados e compartilhados, mediante meios de acesso, protocolos e requisitos de segurança.



Classificação

Segundo a Arquitetura de Rede:
- Arcnet
- Ethernet
- Token ring
- FDDI
- ISDN
- Frame Relay
- ATM
- X25
- DSL

Segundo a extensão geográfica:
- SAN (Storage Area Network)
- LAN (Local Area Network)
- PAN (Personal Area Network)
- MAN (Metropolitan Area Network)
- WAN (Wide Area Network)
- RAN (Regional Area Network)
- CAN (Campus Area Network)

Segundo a topologia:
- Rede em anel (Ring)
- Rede em barramento (Bus)
- Rede em estrela (Star)
- Rede em malha (Mesh)
- Rede em ponto-a-ponto

Segundo o meio de transmissão:
1- Rede por cabo
- Rede de Cabo coaxial
- Rede de Cabo de fibra óptica
- Rede de Cabo de par trançado

2- Rede sem fios
- Rede por infravermelhos
- Rede por microondas
- Rede por rádio


Hardware de Rede
- Elementos de Cablagem:
1- Cabo coaxial
2- Cabo de fibra óptica
3- Cabo de par trançado
4- Repetidor
5- Transceptor
- Estação de trabalho
- Placa de rede
- Concentrador (hub)
- Comutador (switch)
- Roteador (router)
- Modem
- Porta de Ligação (gateway)
- Ponte (bridge)
- Servidor

Modelo OSI
- Nível físico
- Nível de enlace de dados
1- Ethernet
2- PPP
- Nível de Rede
1- IP
2- IPX
- Nível de transporte
1- TCP
2- UDP
- Nível de sessão
1- NetBIOS
2- IPX
3- Appletalk
- Nível de apresentação
- Nível de aplicação
1- SMTP
2- FTP
3- Telnet
4- SSH
5- IRC
6- HTTP
7- POP3
8- VFRAD

Normas
- IEEE 802
- X.25

Técnicas de transmissão
- Banda larga
- Banda base

Modelagem de rede de computadores segundo Tanenbaum
Uma rede pode ser definida por seu tamanho, topologia, meio físico e protocolo utilizado.

- PAN (Personal Area Network, ou rede pessoal). Uma PAN é uma rede de computadores usada para comunicação entre dispositivos de computador (incluindo telefones e assistentes pessoais digitais) perto de uma pessoa.
- LAN (Local Area Network, ou Rede Local). É uma rede onde seu tamanho se limita a apenas uma pequena região física.
- VAN (Vertical Area Network, ou rede de vertical). Uma VAN é usualmente utilizada em redes prediais, vista a necessidade de uma distribuição vertical dos pontos de rede.
- CAN (Campus Area Network, ou rede campus). Uma rede que abrange uma área mais ampla, onde pode-se conter vários prédios dentro de um espaço contínuos ligados em rede.
- MAN (Metropolitan Area Network, ou rede metropolitana). A MAN é uma rede onde temos, por exemplo, uma rede farmácia, em uma cidade, onde todas acessam uma base de dados comum.
- WAN (Wide Area Network, ou rede de longa distância). Uma WAN integra equipamentos em diversas localizações geográficas, envolvendo diversos países e continentes como a Internet.
- SAN (Storage Area Network, ou Rede de armazenamento). Uma SAN serve de conexão de dispositivos de armazenamento remoto de computador para os servidores de forma a que os dispositivos aparecem como locais ligados ao sistema operacional.


Meio físico
O meio mais utilizado hoje é o Ethernet. O padrão Ethernet vem subdividido em: Coax/10base2, UTP (Unshielded Twisted Pair - Par Trançado Não Blindado)/10BaseT e UTP/100baseT e Gigabit ethernet.
Também pode ser conectado por Fibra óptica, um fino filamento contínuo de vidro com uma cobertura de proteção que pode ser usada para conectar longas distâncias.
E ainda há as redes sem fios, que se subdividem em diversas tecnologias: Wi-fi, bluetooth, wimax e outras.

Protocolo
Hoje, o protocolo mais usado é o TCP/IP, versão IPv4 , e espera-se que passemos a utilizar o IPv6.

Tecnologia Dual Channel

A memória é um dos componentes que tem maior influência no desempenho do computador. Ela é responsável por armazenar os dados temporariamente enquanto o processador calcula e realiza as tarefas ordenadas pelo usuário. O grande problema das memórias consiste na baixa velocidade em que elas trabalham, fator que limita muito o processador, que deve esperar pela transferência de dados.

Na maioria das vezes, as memórias apenas tinham sua frequência (clock) e algumas temporizações alteradas, contudo, nem sempre isso influenciava muito no desempenho. Pensando nisso, o mercado de hardware teve que encontrar outra solução: colocar as memórias para trabalhar em conjunto.

A velocidade aumenta quando utilizamos memórias aos pares
Ao perceber que os computadores estavam ficando um pouco lentos e que somente aumentar a frequência não seria suficiente, a solução foi alterar o controlador de memória das placas-mãe, ou até mesmo, dos processadores. As memórias precisam trabalhar em “duplas” para poder utilizar a tecnologia Dual Channel (duplo canal), ou seja, é necessário instalar dois pentes de memória na placa-mãe.

Um conceito técnico
Dual Channel é o recurso que permite ao chipset ou ao processador efetuar uma comunicação com dois canais de memória simultaneamente. As memórias trabalham simultaneamente e fornecem o dobro da largura de dados do barramento. O comum das memórias DDR é trabalhar com 64 bits, mas com o recurso Dual Channel, este valor “dobra” e fica em 128 bits.

O que preciso para habilitar a tecnologia Dual Channel?
Como já citado, a tecnologia de duplo canal só funciona quando se utiliza memórias aos pares. Portanto, você precisará comprar dois módulos de memória, ou quatro. Vale frisar que para ativar o recurso é necessário memórias com frequências, tamanho e temporizações idênticas, de preferência até da mesma marca (assim você evita muitos problemas). Ou seja, para habilitar 4 GB de memória em Dual Channel, você deverá comprar dois módulos de 2 GB ou então, quatro módulos de 1 GB.

Além das memórias, é preciso atentar para o modelo da sua placa-mãe. O chipset (nas placas-mãe para processadores Intel) é o responsável por trabalhar com a tecnologia Dual Channel, e caso ele não suporte este recurso, nem adianta você investir em vários módulos de memória. Usuários que utilizavam processadores Intel, devem consultar o manual da placa-mãe para saber se o chipset suporta o Dual Channel. Já quem possui um processador AMD, pode se despreocupar, porque os processadores com soquete 939, 940, AM2 e AM2+ são totalmente compatíveis com a tecnologia, independendo da placa-mãe e do chipset.

Como habilitar o Dual Channel?
Tudo depende muito da configuração do seu computador. Antes de habilitar, é necessário verificar se a memória já não está operando em Dual Channel. Para verificar é simples, basta baixar um programa, como o CPU-Z (ou outro de sua preferência), e observar se na especificação das memórias, consta o termo “Dual Channel”.

Se a sua memória ainda não está trabalhando em Dual Channel, é simples de solucionar o problema. Habilitar o modo de operação Dual Channel depende apenas da maneira com que você instalou os módulos de memória. O grande problema consiste no seguinte: grande parte dos fabricantes não utiliza o padrão para ajudar o usuário, mas para a felicidade da nação, nos manuais das placas-mãe, sempre vêm descrito em quais soquetes você deve conectar os módulos, para que o Dual Channel seja ativado.

Placas-mãe com somente dois espaços para memória RAM não possuem segredos, apenas instale o par de memórias nos dois slots. Já as placas-mãe mais robustas trazem quatro slots de memória, fator que confunde muito o usuário. Além disso, as fabricantes adotam cores para “facilitar” a instalação das memórias.

Diferença entre bit e byte

Os computadores "entendem" impulsos elétricos, positivos ou negativos, que são representados por 1 ou 0, respectivamente. A cada impulso elétrico, damos o nome de bit (BInary digiT). Um conjunto de 8 bits reunidos como uma única unidade forma um byte.

Nos computadores, representar 256 números binários é suficiente para que possamos lidar a contento com eles. Por isso, os bytes possuem 8 bits. É só fazer os cálculos: como um bit representa dois tipos de valores (1 ou 0) e um byte representa 8 bits, basta fazer 2 (do bit) elevado a 8 (do byte) que é igual a 256.

Os bytes representam todas as letras (maiúsculas e minúsculas), sinais de pontuação, acentos, caracteres especiais e até informações que não podemos ver, mas que servem para comandar o computador e que podem inclusive ser enviados pelo teclado ou por outro dispositivo de entrada de dados e instruções.

Para que isso aconteça, os computadores utilizam uma tabela que combina números binários com símbolos: a tabela ASCII (American Standard Code for Information Interchange). Nesta tabela, cada byte representa um caractere ou um sinal.

A partir daí, foram criados vários termos para facilitar a compreensão humana da capacidade de armazenamento, processamento e manipulação de dados nos computadores. No que se refere aos bits e bytes, tem-se as seguintes medidas:

1 Byte = 8 bits
1 kilobyte (KB ou Kbytes) = 1024 bytes
1 megabyte (MB ou Mbytes) = 1024 kilobytes
1 gigabyte (GB ou Gbytes) = 1024 megabytes
1 terabyte (TB ou Tbytes) = 1024 gigabytes
1 petabyte (PB ou Pbytes) = 1024 terabytes
1 exabyte (EB ou Ebytes) = 1024 petabytes
1 zettabyte (ou Zbytes) = 1024 exabytes
1 yottabyte (ou Ybytes) = 1024 zettabytes

É também através dos bytes que se determina o comprimento da palavra de um computador, ou seja, a quantidade de bits que ele utiliza na composição das instruções internas, como por exemplo:

8 bits - palavra de 1 byte
16 bits - palavra de 2 bytes
32 bits - palavra de 4 bytes
64 bits - palavra de 8 bytes

Na transmissão de dados entre computadores, geralmente usa-se medições relacionadas a bits e não a bytes. Assim, há também os seguintes termos:

1 kilobit (Kb ou Kbit) = 1024 bits
1 megabit (Mb ou Mbit) = 1024 Kilobits
1 gigabit (Gb ou Gbit) = 1024 Megabits
1 terabit (Ou Tbit) = 1024 Megabits

E assim por diante. Você já deve ter percebido que, quando a medição é baseada em bytes, a letra 'b' da sigla é maiúscula (como em GB). Quando a medição é feita em bits, o 'b' da sigla fica em minúsculo (como em Gb).

Como já dito, a utilização de medições em bits é comum para indicar o volume de dados em transmissões. Geralmente, indica-se a quantidade de bits transmitidos por segundo. Assim, quando queremos dizer que um determinado dispositivo é capaz de enviar, por exemplo, 54 megabits por segundo, usa-se a expressão 54 Mbps (54 Megabits per second - 54 megabits por segundo):

1 Kbps = 1 kilobit por segundo
1 Mbps = 1 megabit por segundo
1 Gbps = 1 gigabit por segundo
E assim por diante.

Kibibit, kibibyte e afins
Se você adquirir, por exemplo, um HD de 500 GB, vai perceber que o sistema operacional do computador mostrará uma capacidade menor que essa em relação ao dispositivo. Isso porque os sistemas operacionais, de modo geral, consideram 1 kilobyte como sendo equivalente a 1024 bytes, e assim se segue com megabytes, gigabytes, terabytes e etc, tal como explicado anteriormente. No entanto, para os fabricantes de discos rígidos, 1 kilobyte corresponde a 1000 bytes, e assim por diante. Afinal, o que é correto, 1000 bytes ou 1024 bytes? Há organizações que defendem tanto um quanto o outro.

Uma possível solução para esse impasse estaria nas terminologias e abreviações que a International Electrotechnical Commission (IEC) criou para indicar as medições baseadas em 1024 bytes, que são as seguintes:

1 kibibyte (ou KiB) = 1024 bytes
1 mebibyte (ou MiB) = 1024 kibibytes
1 gibibyte (ou GiB) = 1024 mebibytes
1 tebibyte (ou TiB) = 1024 gibibytes
1 pebibyte (ou PiB) = 1024 tebibytes
1 exbibyte (ou EiB) = 1024 pebibytes
1 zebibyte (ou ZiB) = 1024 exbibytes
1 yobibyte (ou YiB) = 1024 zebibytes

Os mesmo prefixos dos nomes acima são empregados também nas medições baseadas em bits: kibibit, mebibit, gibibit, tebibit e assim por diante.

O sistema de medidas elaborado pela IEC é tido como o correto, deixando os prefixos quilo, mega, giga, tera, peta, exa, zetta e yotta (que são oriundos do Sistema Internacional de Unidades) representando 1000 bytes e seus múltiplos (isto é, potências de 10). Assim, as denominações da IEC equivalem às representações de 1024 bytes e seus múltiplos (potências de 2). Em resumo, essas medições ficam assim:

1 Kilobyte = 1000 bytes 1 kibibyte = 1024 bytes
1 Megabyte = 1000 kilobytes 1 mebibyte = 1024 kibibytes
1 Gigabyte = 1000 megabytes 1 gibibyte = 1024 mebibytes
1 Terabyte = 1000 gigabytes 1 tebibyte = 1024 gibibytes
1 Petabyte = 1000 terabytes 1 pebibyte = 1024 tebibytes
1 Exabyte = 1000 petabytes 1 exbibyte = 1024 pebibytes
1 Zettabyte = 1000 exabytes 1 zebibyte = 1024 exbibytes
1 Yottabyte = 1000 zettabytes 1 yobibyte = 1024 zebibytes

Processo de Inicialização do Computador (Boot)

Boot é o termo em inglês para o processo de iniciação do computador que carrega o sistema operacional quando a máquina é ligada.

Dispositivos de iniciação do BIOS
Um dispositivo de iniciação é qualquer dispositivo que deve ser iniciado antes da carga do sistema operacional. Isto inclui os dispositivos de entrada como o teclado, dispositivos de saída como o Monitor e os dispositivos de armazenamento como pen drive, disco rígido, CD-ROM, etc.

Um caso especial de dispositivo de iniciação são os que podem carregar o sistema operacional (Em antigas máquinas PC, o drive de disquete e o disco rígido).

Em uma BIOS moderna, o usuário pode selecionar vários dispositivos para fazer a iniciação, por exemplo, Disco Rígido, SCSI, Cdrom, Zip drive, ou USB (USB-FDD, USB-ZIP, USB-CDROM, USB-HDD).

Por exemplo, podemos instalar o Microsoft Windows no primeiro disco rígido e o Linux no segundo. Alterando os parâmetros da BIOS, podemos modificar qual sistema operacional a carregar.


Primeiro estágio do sistema de iniciação
Muitos computadores podem executar apenas códigos existentes na memória de trabalho (ROM ou RAM); os sistemas operacionais modernos são normalmente armazenados em disco rígido, CD-ROM ou outros dispositivos de armazenamento. Logo que o computador é ligado, ele não tem um sistema operacional na memória. O hardware do computador não pode fazer as ações do sistema operacional, como carregar um programa do disco; assim um aparente insolúvel paradoxo é criado: para carregar o sistema operacional na memória, precisamos de um sistema operacional já carregado.

A solução para o paradoxo está na utilização de um pequeno e especial programa, chamado sistema de iniciação, boot loader ou bootstrap. Este programa não tem a completa funcionalidade de um sistema operacional, mas é especialmente construído para que seja capaz de carregar um outro programa para permitir a iniciação do sistema operacional. Freqüentemente, boot loaders de múltiplos estágios são usados, neste caso vários pequenos programas se complementam em seqüência, até que o último deles carregue o sistema operacional.

Os primeiros computadores programáveis tinham chaves no painel frontal para permitir ao operador colocar o sistema de iniciação na memória antes de iniciar a CPU. Este poderia então ler o sistema operacional de um meio de armazenamento externo como uma fita de papel.

Nos computadores modernos o processo de iniciação começa com a execução pela CPU de um programa contido na memória ROM (o BIOS do IBM PC) em um endereço predefinido (a CPU é programada para executar este programa depois de um reset automaticamente). Este programa contém funcionalidades rudimentares para procurar por dispositivos que podem conter um sistema operacional e que são, portanto, passíveis de participar de um boot. Definido o dispositivo é carregado um pequeno programa de uma seção especial deste.


Segundo estágio do sistema de iniciação
O pequeno programa normalmente não é o sistema operacional, mas apenas um segundo estágio do sistema de inicialização, assim como o Lilo ou o Grub. Ele será então capaz de carregar o sistema operacional apropriado e finalmente transferir a execução para ele. O sistema irá inicializar, e deve carregar drivers de dispositivos (device drivers) e outros programas que são necessários para a operação normal de um sistema operacional.

O processo de inicialização é considerado completo quando o computador está pronto para ser operado pelo usuário. Computadores pessoais modernos tipicamente levam cerca de um minuto para executar o processo de inicialização (deste tempo, cerca de 15 segundos são devidos a cada chamada do processo de inicialização, e o restante para carregar o sistema operacional). No entanto, sistemas mais complexos como servidores podem levar vários minutos para terminar o processo de inicialização e carregar todos os serviços. Para garantir maior disponibilidade, estes iniciam certos serviços preferencialmente antes de outros.

Muitos sistemas embutidos, ou embedded systems, podem iniciar instantaneamente - por exemplo, esperar um minuto para uma televisão ligar é inaceitável. Assim, estes sistemas têm seu sistema operacional inteiro na ROM ou na memória flash, podendo executá-lo diretamente.

Sequência de iniciação no PC
Ao iniciar o processo de iniciação, a CPU do computador pessoal executa a instrução localizada no registrador de memória FFFFFFFF0h do BIOS. Este registrador de memória corresponde a última posição de memória da BIOS. Ele contém uma instrução que faz com que a execução seja desviada para o local no BIOS onde começa o programa inicial.

Este programa executa um auto-teste (POST), que é um teste para verificar o funcionamento de diversos dispositivos no computador. Então, o BIOS busca em uma lista de dispositivos pré-configurados até encontrar um que pode ser o dispositivo de iniciação. Se não encontra este dispositivo, um erro é apresentado e o processo de iniciação termina. Se o dispositivo de iniciação é encontrado, o BIOS carrega e executa o MBR (Registro mestre de iniciação).

Em muitos casos, o MBR verifica a tabela de partições em busca de uma partição ativa. Se uma partição ativa é encontrada, o MBR carrega e executa o setor de iniciação da partição. O setor de iniciação é específico do sistema operacional, entretanto em muitos sistemas sua principal função é carregar e executar o núcleo.

segunda-feira, 24 de maio de 2010

Sistema de 32 e 64 bits

A diferença básica entre um sistema de 32 bits e um de 64 bits é o valor máximo de instruções que eles podem trabalhar.

Uma operação de 32 bits consegue manipular até 4.294.967.296 dados de instruções por vez, ou (2^32), enquanto uma operação de 64 bits consegue manipular até 18.446.744.073.709.600.000, ou (2^64). Viram a diferença?
Então, um programa que executa muitos cálculos matemáticos, será executado mais rápido, se estiver em uma plataforma de 64 bits.

Os programas de uma plataforma de 64 bits são feitos de forma diferenciada, porque não adianta ter o processador de 64 bits e o programa em 32 bits, pois é desperdício de recurso.
Alguns processadores de 64 bits conseguem processar operações em 32 bits, mas nem todos. Os de 32 bits não conseguem processar operações em 64bits.

Alguns programas não precisam ser de 64 bits, como por exemplo, o notepad, então não executará cálculo maior que 32 bits, desta forma, não faz diferença se a plataforma é de 32 ou 64 bits.

Os sistemas operacionais em 32 bits não executam operações em 64 bits, porque mesmo que o processador possua tal tecnologia, o kernel do sistema não saberá interpretar as instruções. Portanto, mesmo que não se utilize programas de 64 bits, como por exemplo, um navegador Web é bom ter um sistema de 64 bits, porque querendo ou não, o kernel do sistema operacional executará instruções e cálculos que podem passar dos 32 bits e você pode ganhar um pouco em relação ao desempenho.

Para notar a real diferença, seria necessário que fossem postos dois computadores, lado a lado, com configuração similar e executando os mesmos programas, um em 32 bits e o outro em 64 bits.

Hardware X Software

O computador é formado, basicamente, por dois segmentos distintos, mas que trabalham em regime de estreita relação: o Hardware e o Software.

Hardware
É a parte física do computador, ou seja, tudo aquilo que podemos tocar. São exemplos de Hardware: gabinete, monitor, teclado, mouse, memórias, processadores, gabinetes, disco rígido, impressora, scanner, caixa de som, microfone, webcam, entre outros. Também são chamados de periféricos.
O termo "hardware" não se refere apenas aos computadores pessoais, mas também aos equipamentos embarcados em produtos que necessitam de processamento computacional, como os dispositivos encontrados em equipamentos hospitalares, automóveis, aparelhos celulares, dentre outros.

Software
É a parte lógica, ou seja, o que não se pode tocar. É o conjunto de instruções e dados que é processado pelos circuitos eletrônicos do hardware.

Resumindo: Hardware é o que o usuário chuta e Software, o que ele xinga!!!

Conheçendo os componentes do computador

Processador
O processador é o "cérebro" do computador. É responsável pelos cálculos, execução de tarefas e processamento de dados.
A Unidade Lógica Aritmética (ULA) é a unidade central do processador.
Existem atualmente processadores com mais de um núcleo. Mas existe uma diferença básica nesse conceito de mais de um núcleo, a tecnologia Hyper-Threading.
Ela simula em um único processador físico dois processadores lógicos. Cada processador lógico recebe seu próprio controlador de interrupção programável (APIC) e conjunto de registradores. Os outros recursos do processador físico, como por exemplo cache de memória, unidade de execução, unidade lógica e aritmética, unidade de ponto flutuante e barramentos, são compartilhados entre os processadores lógicos. Em termos de software, significa que o sistema operacional pode enviar tarefas para os processadores lógicos como se estivesse enviando para processadores físicos em um sistema de multiprocessamento.

Cooler
Todo processador deve ter um cooler. Essa peça é a responsável por manter a temperatura em níveis aceitáveis. Mas ele não é o "ventilador" e sim o conjunto formado por esse ventilador (FAN) e o dissipador. Quanto menor for a temperatura, melhor o processador trabalhará. A temperatura sugerida para cada processador muda de acordo com o fabricante, com o mecanismo e com o desempenho. Existem diversos modelos e tecnologias.

Placa-mãe
Essa peça também pode ser interpretada como a "espinha dorsal" do computador, afinal é ela quem interliga todos os dispositivos do equipamento. Elas podem ser On-board (com outras placas já acopladas a ela ou Off-board, onde você encaixa todas as outras nela - o que é muito melhor, porque além de ficar mais rápido, você pode configurar cada detalhe na montagem do micro). Para isso, a placa-mãe (ou motherboard) possui vários tipos de conectores. O processador é instalado em seu socket, o HD é ligado nas portas IDE ou SATA, a placa de vídeo pode ser conectada nos slots AGP, PCI ou PCI-Express e as outras placas (placa de som, placa de rede, etc.) podem ser encaixadas nos slots PCI. Ainda há o conector da fonte, os encaixes das memórias, enfim.
Todas as placas-mãe possuem BIOS (Basic Input Output System). Trata-se de um pequeno software de controle, armazenado em um chip de memória ROM, que guarda configurações do hardware e informações referentes à data e hora. Para manter as configurações da BIOS, uma bateria de níquel-cádmio ou lítio é usada. Dessa forma, mesmo com o computador desligado, é possível manter o relógio do sistema ativo, assim como as configurações de hardware.
Um detalhe que tenho que citar é em relação ao chipset da placa-mãe, que é um conjunto de circuitos eletrônicos responsáveis pelas suas características de funcionamento e pelo seu desempenho. O chipset controla o tráfego de informações dentro de uma placa-mãe e conseqüentemente, dentro do computador. Assim, ao escolhermos uma placa-mãe, a primeira coisa que devemos verificar é seu chipset. Se uma placa tem um bom chipset, provavelmente, será uma boa placa-mãe.

Memória RAM
RAM significa Random Access Memory (memória de acesso randômico). É volátil, ou seja, os dados se perdem quando o computador é desligado ou reiniciado.
Algumas pessoas fazem uma analogia errada sobre as memórias. Elas não guardam os seus arquivos (fotos, textos, músicas, etc.). O responsável por essa tarefa é o Hard Disk (HD). Os módulos de memória permitem que o seu computador trabalhe com as informações enquanto a máquina está ligada. O processador busca as informações do HD e coloca na memória para que possa trabalhar com elas de forma mais rápida.
Existem vários tipos de memória RAM. Cada um tem uma forma de encapsulamento e tecnologia. Temos por exemplo as DIMM, DDR, DDR2, entre outras.

Disco Rígido
O Disco Rígido, cujo nome em inglês é Hard Disk (HD), serve para armazenar dados permanentemente. Também podem ser chamados de "Winchester", porém esta é uma antiga denominação. Fisicamente, os HDs são constituídos por discos. Estes são divididos em trilhas e estas são formadas por setores. Um agrupamento de setores em relação a outros discos é chamado de cilindros. Os HDs podem armazenar até centenas de terabytes. A velocidade de acesso às informações dos discos depende da velocidade em que estes giram. Os padrões mais comuns são de 5.400 rpm (rotações por minuto), 7.200 rpm e 10.000 rpm. Para serem usados pelo computador, os HDs precisam de uma interface de controle. As existentes são a IDE (Intergrated Drive Electronics), SCSI (Small Computer System Interface) e SATA (Serial ATA).
Existem novos HDs baseados na tecnologia de memória Flash NAND, chamados de SSD (Solid State Disk) ou disco de estado sólido. Eles apresentam um consumo de energia de apenas cinco por cento dos discos rígidos atuais, pesam menos da metade de um HD do mesmo tamanho e como não possuem partes móveis, não apresentam ruído e aquecem muito pouco. Além disso, são mais rápidos, pois apresentam taxas de leitura de 57 MB por segundo e taxas de escrita de 32 MB por segundo. Isto é cerca de cento e cinquenta por cento mais rápido do que os melhores HDs disponíveis.

Placa de vídeo
Outra placa importante em um computador. Cabe a ela gerar tudo o que vai aparecer no monitor, como imagens de jogos, de aplicações e etc. Hoje, tem-se uma imensa variedade de placas, porém, as marcas mais conhecidas desse segmento são a ATI e a nVidia. Na verdade, ambas produzem o chip gráfico (uma espécie de processador responsável pela geração de imagens, principalmente em aplicações 3D). Quem produz as placas são outras empresas, como MSI, Powercolor, Gigabyte, Asus, etc.
É possível encontrar no mercado placas-mãe que possuem placas de vídeo onboard, isto é, o vídeo já vem integrado junto à motherboard. Isso permite economia de gastos, porém afeta o desempenho do computador, já que o processador passa a fazer o trabalho que é executado pelo chip gráfico em placas normais. As placas de vídeo antigas usavam o slot PCI. As atuais usam o slot AGP, que já está perdendo espaço para o slot PCI Express (PCI-E).

Driver de CD /DVD
O drive de CD-ROM é, basicamente, o dispositivo que lê CDs. Apesar de ainda ser muito utilizado, o CD-ROM, aos poucos, começa a perder espaço para o DVD e para outras tecnologias de armazenamento. A seguir, uma lista dos diferentes tipos de drives de CD-ROM existentes:
CD-ROM: Mencionado acima, serve apenas para ler CD;
CD-RW (gravador): Serve para ler e gravar CD-Rs e CD-RWs;
CD-RW + DVD (combo): Serve como leitor de CD-ROM e de DVD, além de gravador de CDs;
DVD-RW (gravador): É um dos mais completos, pois lê e gravas CDs, assim como lê e grava DVDs.

Placas adicionais
Neste grupo estão as placas que adicionam funcionalidades ao computador, como por exemplo: placas de som, placas de rede, modem, etc. As placas atuais são encaixáveis em slots PCI e, brevemente, nos slots PCI Express.

Monitor
Semelhante a uma TV, é responsável por transmitir informações visuais a você. A tecnologia mais usada nos monitores é o LCD (Liquid Crystal Display), que estão se tornando o padrão. Os monitores CRT, mais antigos, apresentavam uma tela com certo encurvamento, porém, já existem modelos CRT com tela plana que proporcionam maior conforto visual. Os monitores mais comuns encontrados no mercado, oferecem telas nos tamanhos de 14", 15", 17" e 19" (lê-se o símbolo " como polegadas). Hoje em dia, é muito mais vantajoso ter um monitor com pelo menos 17", uma vez que a diferença de preços em relação a modelos menores é pequena.

Gabinete
O gabinete é uma caixa metálica, vertical ou horizontal, que guarda todos os componentes do computador (placas, HD, processador, etc). Cada vez mais surgem modelos que possuem algum tipo de arte, que adicionam cores, luzes e outros elementos chamativos ao gabinete. Normalmente, são os próprios usuários que fazem esses enfeites no computador. É o chamado casemod.
No gabinete, fica localizada também a fonte de alimentação, caixa metálica fechada e independente, aparafusada no gabinete, que serve para converter corrente alternada em corrente contínua para alimentar os componentes do computador. Assim, a placa-mãe, os drives, o HD entre outros, devem ser ligados à fonte. As placas conectadas nos slots da placa-mãe, recebem energia por ela, de modo que dificilmente precisam de um alimentador exclusivo. Gabinetes, fontes e placas-mãe precisam ser de um mesmo padrão, do contrário, acaba sendo praticamente impossível conectá-los. Os padrões em uso atualmente são o AT (descontinuado, mas ainda utilizado) e o ATX (mais difundido - oferece maior amplitude, favorece a circulação do ar e simplifica a conexão dos periféricos com suas respectivas interfaces. Os gabinetes verticais podem ser encontrados em 3 tipos básicos:
Mini Tower: pequeno, possui apenas 3 baias;
Mid Tower: médio, possui 4 baias
Full Tower: grande, com mais de 4 baias.
As baias são aquelas "gavetinhas", localizadas na parte frontal do gabinete. Nos espaços das baias é que drives de CD, DVD e outros são encaixados. Nos gabinetes, ainda é possível encontrar os seguintes itens:
Botão TURBO (apenas em gabinetes antigos);
Botão RESET (para reiniciar o micro);
Botão ou chave para ligar o computador (POWER);
LED de POWER ON (sinaliza que o micro está ligado);
LED indicador de modo turbo (apenas em gabinetes antigos);
LED indicador de acesso ao disco rígido (indica que o disco rígido está sendo acessado);
Display digital para indicação de clock (apenas em gabinetes antigos).

Periféricos gerais
Falta ainda citar o teclado, o mouse e as caixas de som.
Obviamente, o teclado serve para a digitação, porém, ele também pode ser usado em jogos e em combinações de teclas para acesso rápido a determinados aplicativos. Existem, inclusive, teclados que fogem ao padrão convencional e adicionam recursos extras no acesso à aplicações multimídia.
O mouse, dispositivo que serve para guiar uma seta (cursor) na tela do computador, também é item essencial. Existem, basicamente, dois tipos de mouse: o de "bolinha", que usa uma esfera para movimentar o cursor e o mouse óptico (padrão), que faz a movimentação da seta através de laser, dando, inclusive, mais precisão ao movimento.
Por fim, há a questão das caixas de som. Com o lançamento de jogos cada vez mais realistas e o aumento no uso do computador para aplicações multimídia, vale a pena adquirir caixas de som de qualidade, que fazem uso de 5 ou mais canais de áudio. Com o auxílio de tecnologias como a Surround 3D, é possível obter som de alta qualidade em filmes, jogos ou na execução de músicas. Para aproveitar esses recursos, além das caixas de som, é necessário que a placa de som ofereça tais funcionalidades. Felizmente, quase todos os modelos atuais oferecem essas vantagens.

O que é compudator?

"Computador é uma máquina que executa operações matemáticas e/ou lógicas, em símbolos numéricos, alfanuméricos ou outras formas de informação, e produz resultados compreensíveis pelo homem ou por outras máquinas." (in Collier's Encyclopedia)

Contudo, esta definição não é suficientemente específica, pois nela, pode ser englobado o homem ou uma simples máquina de tricotar. A definição seguinte apresenta outra característica: as instruções.

"Computador é um conjunto de dispositivos eletrônicos, capaz de aceitar dados e instruções, executá-las para processar os dados e apresentar os resultados. (in Academic Press Dictionary of Science Technology)

No entanto, esta definição ou esquema não distingue por exemplo, uma máquina de tricotar eletrônica ou uma calculadora de um computador. Mas será que existe alguma característica capaz de distinguir inequivocamente uma máquina de tricotar ou uma calculadora de um computador? Aparentemente não.
As diferenças não se colocam ao nível conceitual, mas sim no grau (ou intensidade) que cada máquina se coloca nos princípios descritos. Por exemplo, na máquina de tricotar o fio será o dado de entrada, e o objeto tricotado será o resultado. Pelo meio do caminho, ficou o equipamento, mais ou menos complexo e programável, que executa instruções mais ou menos lógicas e complexas. O mesmo se passa com a calculadora, que parecendo que está mais próxima em termos conceituais do termo computador, por ser mais básica que um máquina de tricotar, nos princípios e regras utilizadas.

No início, os computadores eram usados, principalmente para cálculos simples, como adição, subtração, multiplicação, divisão e outras operações muito simples. Hoje em dia, as suas utilizações são infinitas e fundamentais em praticamente todas as áreas da sociedade.
O termo computador generalizou-se e hoje em dia, corresponde a algo de mais complicado e com maiores capacidades de cálculo e de interação com o exterior, do que tais máquinas calculadoras. Contudo, as máquinas que há 10 anos chamávamos de computadores, estão já ultrapassadas em capacidade e performance, por máquinas que hoje em dias chamamos de calculadoras. Quer-se com isso demonstrar que a utilização dos termos computador ou calculadora, associados a uma máquina que efetua cálculos, depende do seu momento de utilização ou da confrontação de características entre eles.

Com a evolução, máquinas que executavam estes cálculos simples tornaram-se comuns e banais, o que deu origem ao termo calculadoras e que genéricamente se distinguem dos computadores, devido ao modo fixo como operam. O termo computador, está hoje em dia associado a máquinas que operam de modo diferente a necessidade e indicações recebidas do exterior, pelo que o computador é um sistema, cujas tarefas diferem ao longo do tempo, em função das necessidades e requisitos de utilização, alterando o componente de software.

domingo, 23 de maio de 2010

OS 15 mandamentos da informática

01 - Não terás vida pessoal, familiar ou sentimental.
02 - Tua sanidade mental será posta em cheque antes que completes cinco anos de trabalho.
03 - Terás gastrite, se tiveres sorte. Se for como os demais, terás úlcera.
04 - A pressa será teu único amigo e as suas refeições principais serão as pizzas, McDonalds e China in Box.
05 - Teus cabelos ficarão brancos antes do resto da população. Se te sobrarem cabelos.
06 - Não terás feriados, fins de semana ou qualquer outro tipo de folga.
07 - Dormir será considerado período de folga, logo, não dormirá e não raro, resolverá problemas de trabalho neste período.
08 - Não aceitarás correções de bugs com evolução do produto.
09 - Happy hours serão excelentes oportunidades de ter algum tipo de contato com outras pessoas na mesma condição.
10 - A máquina de café será tua melhor colega de trabalho, mas a cafeína não te fará mais efeito.
11 - Trabalho será teu assunto preferido. Talvez o único.
12 - As pessoas serão divididas em dois tipos: as que entendem de informática e as que não entendem. E verás graça nisso.
13 - Exibirás olheiras como troféus de guerra.
14 - Terás consciência para perceber que não é possível ter pleno domínio de tudo.
15 - Farás o possível para que a informática seja investimento e não custo.

E inexplicavelmente, gostará de tudo isso!