Linguagem de Programação

Linguagem de Programação

linguagem de programação(LP) é composta por uma sintaxe e semântica própria (formada por regras com letras, dígitos e símbolos dotados de significado) e um conjunto de normas restrito e tem o objetivo de dar instruções para uma máquina. Elas são linguagens que auxiliam aos programadores a escrever programas com maior facilidade e rapidez.

A sintaxe é responsável por definir como os programas podem auxiliar na resolução de conflitos dentro do computador. Além disso, executam outras funções como oferecer segurança, traduzir linguagens, trabalhar a comunicação e criar arquivos.

Sintaxe
É um conjunto de regras utilizadas para escrever um programa de computador por meio de dígitos, letras ou caracteres especiais.

Desde os primórdios da computação foram sendo desenvolvidas várias linguagens e adaptadas conforme os computadores evoluíram. Com isso, as linguagens de programação foram divididas em quatro gerações desde o início da década de 50 até os dias atuais.

Na primeira geração, a programação era feita através de linguagem de máquina e a Assembly, cujas linguagens dependiam de um hardware/software para que as tarefas pudessem ser executadas. Só devendo serem usadas quando as linguagens de alto nível não atenderem as necessidades de um usuário.

Na segunda geração, começaram a ser desenvolvidas linguagens mais modernas que fizeram sucesso no mercado e ampliaram o uso de bibliotecas de software, garantindo a programação entre vários usuários, etc. As linguagens que marcaram essa geração foram Fortran (usada por engenheiros e cientistas), Cobol (usada em aplicações comerciais), Algol (usada para suporte às estruturas de controle e tipos de dados), Basic (usada para propósitos acadêmicos), etc.

Na terceira geração, as linguagens de programação são também chamadas de linguagens estruturadas, caracterizada pela sua enorme clareza e estruturação na organização dos dados. Através delas foi possível atribuir recursos inteligentes, criar sistemas distribuídos, etc. São classificadas em:

  • linguagens de propósito geral – baseadas na linguagem Algol e podem ser utilizadas para várias aplicações, desde propósitos científicos à comerciais. Ex.: C, Pascal, Modula-2;
  • linguagens especializadas – desenvolvidas apenas para uma determinada aplicação. Ex.: linguagem Lisp, usada em engenharia de software para a manipulação de listas e símbolos; APL criada para manipulação de vetores; Forth criada para o desenvolvimento de softwares para microprocessadores, etc.
  • linguagens orientadas a objetos – com mecanismos baseados na semântica e sintática dando apoio à programação orientada a objetos. Ex.: Smalltalk, C++, Delphi, etc.

Na quarta geração, também chamadas de linguagens artificiais, houve a criação de sistemas baseados em inteligência artificial. Elas foram divididas em:

  • linguagem de consulta – criadas para a manipulação de base de dados gerenciando uma grande quantidade de informações armazenadas em arquivos;
  • linguagens geradoras de programas – são linguagens 4GL, que possibilitam a criação de programas complexos, da terceira geração e possuem um nível mais alto que as linguagens de quarta geração;
  • outras linguagens – são aquelas usadas em sistemas de suporte à decisão, modelagem de sistemas, linguagens para protótipos, etc.

Na década de 90 e nos anos 2000 surgiram linguagens populares como: Python, Java, Ruby, Javascript, PHP, Delphi, C#, etc. Dando início a uma quinta geração de linguagens de programação.

Classificação das Linguagens de Programação

As linguagens de programação são agrupadas em dois níveis: linguagem de baixo nível, linguagem de alto nível e linguagem de nível médio.

Linguagem de Baixo Nível: uma linguagem mais próxima de ser entendida pelo hardware. Ex.: Assembly, etc.

Linguagem de Alto Nível: são linguagens mais distantes do hardware. Elas são mais complexas e baseadas em uma arquitetura própria. São mais voltadas para os programadores e usuários com uma sintaxe mais aproximada de uma linguagem comum. Ex.: Java, Cobol, etc.

Linguagem de Nível Médio: são linguagens ao mesmo tempo mais próximas do hardware e complexas utilizando recursos de alto nível. Ex.: C++.

Processamento de Linguagens na Execução de Programas

Os computadores atuais são capazes apenas de interpretar programas com linguagens de máquina. Além disso, são econômicos, rápidos e possuem flexibilidade para a construção de linguagens de alto nível. Como os computadores possuem linguagem diferente das linguagens de alto nível é necessário haver uma implementação baseada na interpretação e tradução.

interpretador é um programa feito com base em sequências repetidas como obter o comando, verificar quais ações devem ser feitas e executá-las.

Já os tradutores (compiladores, linkers, carregador e montador), traduzem programas com linguagem de alto nível para versões correspondentes a linguagem de máquina, antes de sua execução.

Outras Linguagens de Programação

Linguagem de máquina

O computador é formado por um conjunto de circuitos controlados por meio de programas com uma linguagem antiga que é baseado no sistema binário de numeração que representam dados e operações. Essa representação é chamada de linguagem de máquina. Essa linguagem é específica para cada computador.

Essa linguagem possui códigos que representam as palavras binárias que variam de 8 a 64 bits. Assim como o sistema decimalpossui dez símbolos utilizados por nós para representar todos os números do nosso universo (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), o sistema binário é um sistema de numeração de base 2 que o computador utiliza para representar seus dados. Ele usa apenas dois símbolos: o zero (“0”) e o um (“1”), para mapear todas os caracteres numéricos que os programas de computador precisam.

Na tabela abaixo mostramos os símbolos binários convertidos para símbolos decimais:

BinárioDecimal
00
011
0102
0113
1004
1015
1106
1117
10008
10019
101010

Linguagem Hexadecimal

A linguagem hexadecimal era utilizada para simplificar a linguagem de máquina. Ela é uma sequência de bits composta por números hexadecimais. A leitura e programação dessa linguagem ainda é impossível de ser feita.

Linguagem Assembly

É uma linguagem de baixo nível formada por mnemônicos (palavras abreviadas). Ela vem acompanhada com os processadores de cada máquina.

Cobol

COmmon Business Oriented Language (COBOL) é uma linguagem de programação utilizada na construção de aplicações comerciais que trabalha com uma grande quantidade de dados. Ela foi desenvolvidade em 1959 pelo grupo Comitê CODASYL com representantes da área acadêmica e fabricantes de computador, a fim de criar programas relacionados a área comercial com compiladores para a linguagem.

C

A criação da linguagem C está relacionada a origem do sistema operacional Unix. No desenvolvimento desse sistema era preciso a criação de uma linguagem de alto nível para a realização da programação. Assim, pesquisadores do Bell Labs, criaram uma linguagem e a nomearam de ‘linguagem B’, sendo depois chamada de linguagem C, após isso foi criado um compilador portátil que permitiria que o Unix pudesse ser levado facilmente para outras plataformas.

C++

É uma evolução da linguagem C e pode ser utilizada para diversas finalidades. Ela foi desenvolvida por Bjarne Stroustrup em laboratórios da AT&T Bell, na década de 1980.

Java

Java é uma linguagem de programação de alto nível criada após a década de 1990 pela Sun Microsystems, com a finalidade de executar um mesmo programa que roda em várias plataformas. Ela é uma linguagem parcialmente compilada e interpretada. O compilador transforma o programa fonte Java para um arquivo-objeto (bytecodes), estes por sua vez devem ser executados por interpretadores Java, criados para cada plataforma de computador.

Os bytecodes podem ser do tipo de acesso total à memória, esses são conhecidos como aplicações Java. Já o segundo tipo de bytecodes possui restrições com relação ao acesso à memória, ao sistema de arquivos e o console. Estes últimos são conhecidos como Java Applets.

O que é Applet?
Um applet é um pequeno programa que não conseguem danificar um sistema em execução. Eles podem realizar animações interativas, cálculos rápidos ou outras tarefas simples sem ter que encaminhar uma requisição do usuário novamente para o servidor para realizá-los. Outra variação da linguagem Java é o JavaScript.

JavaScript

JavaScript é considerada uma linguagem interpretada ou linguagem script produzida pela Netscape, em 1995. É usada principalmente no desenvolvimento de Web Sites para fazer coisas como:

  • mudar automaticamente a data da página web;
  • mostrar uma outra página em uma janela pop-up;
  • mudar uma imagem ou texto quando o mouse passa por cima, etc.

O código JavaScript pode ser incluído dento da página HTML e interpretado pelo web browser automaticamente. Além disso, também pode rodar em um servidor Microsoft Active Server Pages (ASPs) antes que a página seja mandada para quem a requisitou. Qualquer browser hoje suporta JavaScript.

Fortran

IBM Mathematical FORmula TRANslating system (FORTRAN) é considerada a primeira linguagem de alto nível, criada por Backus e introduzida no mercado em 1958. Inicialmente era utilizada para a realização de operações científicas e atualmente ela é utilizada para qualquer tipo de cálculos numéricos.

Pascal

Linguagem desenvolvida com base no Algol, criada por Niklaus Wirth para o computador CDC 6600, na década de 60, com o objetivo de realizar programações elementares. Foi criada para dar suporte à educação, mas dela originaram-se diversas linguagens.

Além dessa, existem outras linguagens de programação, como as linguagens procedurais Ada, Modula-2 e 3; linguagens funcionais como Prolog, Lisp, Scheme; linguagens orientadas a objetos como Simula, Smalltalk, Objective-c, Eiffel, CLOS; linguagens para aplicações específicas para banco de dados como as linguagens Clipper e SQL; linguagens para simulação como Matlab; linguagens scripts como Tcl/tk e Perl; linguagens para formatar textos como TeX/LaTeX, HTML, dentre outras.

Fonte : http://www.okconcursos.com.br/apostilas/apostila-gratis/130-informatica-para-concursos/1689-linguagem-de-programacao#.XIbAl1NKgWo

Hardware e Software: Conceitos Básicos

Hardware e Software: Conceitos Básicos

Para quem deseja realizar uma prova de concursos públicos, é necessário ter conhecimentos básicos sobre os conceitos de informática. Além disso, essas informações auxiliam em situações do dia a dia quando há problemas com o computador. Desse modo, o computador é dividido em: hardware e software.

Hardware são as partes concretas de uma máquina, como o gabinete, o teclado, o mouse, a impressora, o disco rígido, a memória, entre outros itens utilizados na fabricação de um computador ou equipamentos eletrônicos. Esses elementos se comunicam com os demais através do barramento, um dos componentes da placa-mãe.

O profissional responsável por essa área, dentro da ciência da computação é o arquiteto de computadores. O computador é qualquer dispositivo eletrônico que pode armazenar, manipular e enviar dados processados de volta ao usuário.

Componentes do Computador

Gabinete (Sistema Central)

É uma caixa de metal com elementos de plástico que pode ser vertical ou horizontal responsável por armazenar a CPU, o disco rígido, o driver de CD/DVD, saídas para a impressora, caixas de som, etc. Um dos principais elementos que ela armazena é a fonte de alimentação que converte a corrente alternada para contínua com o objetivo de alimentar os componentes do computador. Por isso, ela deve ser conectada à placa-mãe, ao cooler, aos drives e ao HD. O gabinete do computador pode ser em forma de:

  • Desktop: é o gabinete que fica na horizontal (geralmente se coloca o monitor em cima dele);
  • Torre: é o gabinete que fica na posição vertical, que pode ser Mini TowerMid Tower ou Full Tower, com 3, 4 e acima 4 baias (espaço que são inseridos os drivers) respectivamente;

Processador

processador é chamado de CPU (unidade central de processamento) e está acoplado à placa-mãe. Ele é um pequeno chip que faz todo o controle das operações que serão realizadas pelo computador. Quanto melhor o processador, maior agilidade as tarefas serão realizadas.

O processador é composto pelo cooler, um sistema capaz de controlar a sua temperatura padrão. Se houver essa regulação, maior vida útil terá o chip e isso irá variar de acordo com o fabricante. Todo processador é formado por um conjunto de pinos(contatos) que servem para serem conectados em determinado tipo de placa-mãe. Os fabricantes mais conhecidos deste componente são Intel e AMD. Exemplo de processadores: Intel Core 2 DuoIntel Core i7AMD Athlon X2, AMD Phenom II, entre outros.

Memórias

Memória RAM (Random Access Memory ou Memória de Acesso Randômico)

É uma memória volátil e rápida para acesso pelo processador, porém muito mais cara. A CPU a utiliza para armazenar temporariamente os dados dos programas que estão rodando no computador. Esta memória somente fica ativa enquanto o computador estiver ligado e os conteúdos devem ser salvos, pois quando ele for desligado, tudo o que estiver armazenado nesta memória perde-se. Ela tem uma capacidade de armazenamento que varia entre 256Mb (megabytes) a 1Gb (gigabytes). A memória RAM pode ser dividida em:

memória estática (SRAM – Static Random- Access Memory), rápidas, caras e armazenam poucos dados, cerca de 1048 kilobytes (1 megabyte), geralmente são utilizadas como cache;

memória dinâmica (DRAM – Dynamic Random-Access Memory), possuem um preço acessível e armazenam grande quantidade de dados, mas são mais lentas se comparadas as estáticas, com capacidade de 4 megabytes a 32 megabytes. Existe ainda um tipo de memória recente, chamada de MRAM (Magnetoresistive Random-Access Memory), memória que utiliza células magnéticas, consumindo pouca energia, são rápidas e armazenam dados por mais tempo, até mesmo se não houver energia elétrica. Um dos problemas desse tipo de memória é que elas são caras e armazenam poucos dados.

Memória ROM (Read-Only Memory ou Memória Somente de Leitura)

Memória responsável pelo armazenamento permanente dos dados, Esses dados não podem ser apagados ou alterados, apenas se forem utilizados procedimentos específicos. Quando a energia acaba ou o computador é desligado os dados não se perdem, sendo uma memória não volátil. Existem vários tipos de memória ROM, como: memória flash, cd-rom, dvd-rom e outros relacionados, EPROM (Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), etc.

Memória Externas

Existem uma infinidade de tipos e capacidades de armazenamento. Alguns exemplos: Pen-drives, CDs, DVDs, HDs, disquetes, fitas, SDs etc. São dispositivos que geralmente utilizam portas USB ou encaixes para conexão ao computador, não fazem parte do computador propriamente dito, mas podem ser facilmente instalados e removidos. A taxa de transferência dos dados também varia de modelo, mas geralmente são bastante rápidos.

Memória Cache

memória cache é um tipo de memória de acesso randômico mais rápida que armazena os dados mais utilizados pelo processador. Para processar dados, ele verifica primeiramente na memória cache se esses dados estão armazenados lá, se os encontra (proveniente de leituras anteriores desses mesmos dados) não necessita obtê-los de outra memória mais lenta (memória RAM).

Sem a memória cache o desempenho da máquina ficaria mais lento e limitado à memória RAM. Existem dois tipos atualmente:

  • Cache de nível 1 (cache L1) – localizada no mesmo chip do processador;
  • Cache nível 2 (cache L2) – localizada geralmente em um chip RAM separado, tem um valor mais popular, porém um pouco mais lenta que a primeira.

A memória cache também é uma área especial chamada “cache de disco” que contém os dados mais recentes lidos do HD. Ela deve ser aprimorada a medida que são desenvolvidos novos processadores.

Disco Rígido (HD – Hard Disk)

É um tipo de disco de grande capacidade para armazenamento de dados permanentes ou até que sejam removidos do computador. Ela é mais lenta para acesso, porém muito mais barata. Nela se rmazenam todos os dados e programas que devem permanecer no computador, mesmo estando ele desligado. Sua capacidade de armazenamento geralmente varia de 80Gb a 250Gb (gigabytes). Para seu correto funcionamento é necessário que hajam interfaces de controle, como IDE (Integrated Drive Electronics), SATA (Serial ATA) e SCSI (Small Computer System Interface).

Placa Mãe (Motherboard)

Placa central que se destina a conexão com todas as outras placas e componentes do computador. Ela é chamada de ‘espinha dorsal’. Assim, ela possui diferentes conectores e é nela que o processador é instalado, num suporte chamado de ‘socket‘. Já o HD é conectado por meio das portas IDE ou SATA e a placa de vídeo em slots chamados de PCI-Express 16x ou AGP 8x. Já as placas de rede, som, entre outras, podem ser encaixadas nos slots PCI ou em entradas PCI Express.

Além disso, existem outros elementos que são conectados à placa-mãe. As placas-mãe possuem um software de controle localizado em um chip que armazena todas as informações do hardware relativas à data e hora do computador. Esse programa é chamado de BIOS (Basic Input Output System – Sistema Básico de Entrada e Saída). Ele é responsável, principalmente, por carregar o sistema operacional para a memória RAM e executar o programa POST (programa que executa testes básicos de hardware).

Saiba Mais 
Barramento: também chamado de bus são suportes responsáveis por fazer a intercomunicação entre a placa-mãe e os demais componentes.

Placa de Vídeo

É um dispositivo responsável por garantir o aparecimento das imagens em seu monitor de vídeo. As placas mais conhecidas são as da marca AMD e NVIDIA, que fabricam o chip gráfico (GPU – Graphics Processing Unit, um tipo de processador que gera gráficos principalmente imagens 3D). Existem placas de vídeo no mercado que já vem embutidas em placas-mães, são conhecidas como onboard.

O custos dessas integradas é bem menor, mas é aconselhável que seja utilizado apenas em computadores que executem atividades básicas, pois podem atrapalhar no seu desempenho.

Dispositivos de Entrada e Saída do Computador

Drive de disquete: dispositivos de entrada e saída de de dados. Atualmente, os drivers de disquete são caros e estão em desuso. O disquete é um tipo de envoltório que armazena o disco magnético, onde são gravadas as informações. Ele tem capacidade de até 1,44 MB de armazenamento.

Drive de CD/DVD-ROM: dispositivos de entrada e saída de de dados capaz de ler e gravar CDs e DVDs-ROM. Antigamente havia apenas os leitores de CDs. Podem ser do tipo CD-ROM (apenas leitor de CDs); CD-RW(funciona como leitor e gravador de CD-R e CD-RW); CD-RW/DVD (leitor e gravador de CD e leitor de DVD); DVD-RW (leitor e gravador de CDs e DVDs). Estão surgindo no mercado computadores que suportem a leitura de Blu-Ray.

Monitor de Vídeo: dispositivo de saída que envia ao usuário as informações impressas na tela. Antigamente haviam os monitores CRT (Cathode Ray Rude), hoje existem os monitores de LCD (Liquid Crystal Display). As telas podem ser mais largas (widescreen) e o tamanho pode variar de 17” a 23′.’

Teclado/Mouse: são dois dispositivos típicos de entrada, porque permitem que você insira dados/informações no computador. O primeiro, auxilia na digitação e sua combinação de teclas podem facilitar em jogos e outros aplicativos. Já o segundo, é representado por um cursor na tela do computador para você ‘clicar’ em lugares específicos.

Existem os mouses ópticos, que movimentam o cursor por meio de um laser e o mouses com esfera que utilizam uma pequena esfera para realizar o movimento do cursor. Eles se conectam ao computador por meio da porta PS/2 encontrada na parte de trás do gabinete, mas também há aqueles que utilizam o conectador por meio de portas USB, que servem para conectar outros dispositivos de entrada e saída, como pendrives, câmeras digitais, scanners, impressoras, etc. Existem placas-mães que permitem a conexão através das entradas FireWire, utilizada para a transmissão de informações de HDs Externos ou filmadores digitais, por exemplo.

Saiba Mais
Portas USB (Universal Serial Bus): são entradas ou conexões encontradas no computador para a inserção de periféricos que utilizam-se dessa interface (pendrives, cabos para impressora, mouses, teclados, câmeras digitais, MP3 Player, etc.). 

Software

Os softwares são programas inseridos dentro hardware que realizam diversas tarefas. Ela é a parte lógica do computador e são compostos por comandos e declarações de dados. Quando ocorre a interpretação dos dados, ele realiza as funções das quais foi projetado. Um processador de texto é um software, assim como um jogo de computador. Eles podem ser desenvolvidos para pessoas particulares personalizados ou para o mercado geral, genéricos ou comerciais.

Considere a seguinte situação: um pianista é o hardware e sua partitura musical é o software. Se você remover uma nota e colocá-la em outro lugar na partitura, sairá uma música diferente.

Tipos de Softwares

Software Básico: são programas utilizados para o funcionamento do sistema. Ele é capaz de gerar um ambiente de interação entre máquina e usuário. Ex.: sistema operacional, linguagens de programação, compiladores, etc.

Sistema Operacional
É o software mais importante do computador. Ele é instalado em uma área especial dentro do disco rígido e é carregado (para a memória RAM) toda vez que o computador é ligado. É ele que controla todos os recursos do computador. Ex.: Unix, Linux, Debian, Windows, etc. Conheça mais sobre Sistema Operacional lendo o artigo “Noções de Sistema Operacional: Windows e Linux

Software Aplicativos: são programas utilizados pelos usuários para auxiliar nas tarefas realizadas no dia a dia. Ex.: editores de texto, navegadores, planilhas eletrônicas, programas gráficos, etc.

Softwares Utilitários: são programas que permitem ao usuário realizarem tarefas adicionais àquelas oferecidas pelo o sistema operacional. Ex.: Winzip, antivírus, desfragmentação de unidades de discos, vírus, etc.

Fonte: http://www.okconcursos.com.br/apostilas/apostila-gratis/130-informatica-para-concursos/1687-hardware-e-software-conceitos-basicos#.XIa_p1NKgWo

O quê são Redes? Noções Básicas

O quê são Redes? Noções Básicas

Provavelmente, alguém na sua organização ainda tenha já ouviu pessoas dizer “Não temos email hoje–a rede está fora do ar” ou “não temos Internet hoje – o roteador não está funcionando”. Independentemente das necessidades de sua organização, as pessoas  podem estar se perguntando, “o que exatamente é uma rede?”

Em termos mais simples, uma rede consiste em dois ou mais computadores que estão conectados para compartilhar informações. Todas as redes, não importa quão complexas sejam, baseiam se neste principio simples. Embora isto possa parecer como uma idéia basica, o conceito foi uma grande conquista na área das comunicações.

O que constitui uma rede?

Uma rede normalmente inclui quatro elementos (além dos computadores próprios):

Protocolo: um conjunto de regras de comunicação para certificar-se de que todos falam o mesmo idioma.

Placas de Rede (NICs): cartões que são inseridos na placa mãe de computadores e permite-lhes enviar e receber mensagens de outros computadores

Cabo: o meio para efetuar a conexão de todos os computadores entre si na rede.

Hub: hardware utilizado para executar o controle de tráfego

Nota: Redes sem fio, obviamente, não usam cabos e placas de rede não são necessárias para pequenas redes que usam portas paralela ou serial. Algumas redes usam switches, em vez de hubs, para controlar a rede. (Mas as noções básicas ainda se aplicam).

Como funciona a uma rede?

Como um computador enviar informações para outro? É muito simples. O diagrama abaixo mostra uma rede simples:

Se o computador A quer enviar um arquivo para o computador B, a seguinte seqüência ocorreria:

1. Base de um protocolo que ambos os computadores usam, o NIC no computador A traduz o arquivo (que consiste em dados binários) pulsos eletricos. 
2. Os pulsos de eletricos passam para o cabo com um mínimo (esperamos), de resistência. 
3. O hub aceita os pulsos eléctricos e os distribui a todos os outros cabos. 
4. O NIC do computador de B interpreta os pulsos e decide se a mensagem é para ele ou não. Neste caso, é, portanto o NIC do computador B traduz os pulsos binários que compõem o arquivo.

Parece fácil. No entanto, se algo de inesperado acontecer ao longo do caminho, sua organização terá um problema, não uma rede. Portanto, se o computador A envia a mensagem para a rede usando o protocolo NetBEUI,  da Microsoft, mas o computador B só entende o protocolo TCP/IP, ele não vai entender a mensagem, não importa quantas vezes computador A a enviar. O computador B pode também não receber a mensagem se o cabo está obtendo interferência de luzes fluorescentes, ou se a placa de rede não estiver ativa, por exemplo.

Classificação de rede

Como flocos de neve, duas redes nunca são similares. Assim, por razões de discussão, vale a pena classificá-las por algumas características gerais. Uma determinada rede pode ser caracterizada pelas seguintes caracteristicas:

Tamanho: o tamanho geográfico da rede.

Segurança e acesso: quem pode acessar a rede e como o acesso é controlado.

Protocolo: as regras de comunicação em uso (por exemplo: TCP/IP, NetBEUI ou AppleTalk).

Hardware: os tipos de links físicos e hardware que se conectam à rede.

Extensão (LANs e WANs): sobre tamanho, redes são geralmente classificadas em duas categorias, redes locais (LAN) e redes de  área extensa (WANs).

Uma rede local principalmente é definida pela geografia e é normalmente alojada em um edifício ou em um campus. Uma rede de longa distância ou extensa, por outro lado, é uma rede que une muitos LANs juntos usando tecnologias de rede, mas este tema pode ser aprofundado em outros artigos. Visto que redes locais são normalmente mais utilizadas, elas são classificadas em dois tipos principais:

Peer-to-peer: uma rede peer-to-peer não possui qualquer servidores dedicados ou hierarquia entre os computadores. Todos os computadores na rede de lidar com segurança e administração por si próprios. Os usuários devem tomar as decisões sobre quem obtém acesso e para que finalidade. Para obter mais informações, consulte o artigo sobre redes peer-to-peer.

Cliente-servidor: uma rede de cliente-servidor funciona da mesma forma como uma rede peer-to-peer exceto que haja pelo menos um computador que se dedica como um servidor. O servidor armazena pastas para o compartilhamento, controla o acesso à impressora e geralmente atua como o controlador da rede. Para obter mais informações, consulte o artigo sobre redes cliente-servidor.

Protocolo

Tal como acima referido, o protocolo de uma rede é o conjunto de diretrizes ou regras para a comunicação entre computadores. A comunicação entre dois computadores com diferentes protocolos não será possível. Enquanto muitos computadores têm a capacidade de interpretar múltiplos protocolos, é importante compreender os diferentes protocolos disponíveis antes de decidir sobre qual é o mais apropriado para sua rede.

Hardware

Enquanto algumas pessoas com visão teórica afirmam que o hardware envolvido em uma rede não é extremamente importante, eles provavelmente nunca efetivamente configuraram uma rede. O Hardware é importante. Embora em teoria, cada concentrador ou comutador deve enviar e receber sinais perfeitamente, nem sempre este é o caso. E o problema é que se sua organização perguntar para dois administradores de rede que hub eles recomendam, provavelmente receberá duas respostas totalmente diferentes, mas totalmente convincentes. Da escolha do cabo (fibra ótica, coaxial ou cobre), ate a escolha de um servidor, sua organização deverá ser criteriosa para encontrar o hardware mais adequado para as próprias necessidades.

Fonte: https://www.techsoupbrasil.org.br/node/1916