Apost. Concbas



Baixar 353.6 Kb.
Página4/7
Encontro12.09.2019
Tamanho353.6 Kb.
1   2   3   4   5   6   7

2.5 Interfaces e protocolos


A comunicação entre partes de um computador ou entre computadores está baseada em interfaces e protocolos.
Interface

Interface é a parte física da comunicação, ou seja, aquela parte do hardware necessária à conexão entre as partes de um sistema, como impressora e microcomputador, ou entre dois sistemas (dois microcomputadores, por exemplo).

Um componente que funcione como interface possibilita a transmissão de dados (representados internamente por bits) entre os elementos conectados do sistema. O modo de transmissão dos bits pode ser serial ou paralelo. Com uma interface serial os dados são enviados bit a bit, em série, em seqüência. Com uma interface paralela, os dados são enviados byte a byte (1 byte = 8 bits). Para que as duas partes de um sistema possam comunicar-se, elas têm que enviar e receber dados segundo o mesmo padrão, seja ele serial ou paralelo.

Tipos mais utilizados de interface:

a) serial: RS-232C (essa designação é um padrão, uma especificação técnica que descreve características da interface) e Elo de Corrente (current loop);

b) paralela: Centronics.

A transmissão de dados via interface paralela é mais fácil e rápida que via interface serial, mas a velocidade de transmissão dos dados é muito elevada, o que pode interferir no desempenho do processador, e o tipo de cabo usado é caro e sujeito a interferências em distâncias superiores a dois metros. A transmissão via interface serial é mais lenta, mas em compensação é mais barata, mais simples, e a qualidade da transmissão não sofre em função do comprimento do cabo usado.
Protocolo

Um protocolo é um conjunto de regras que deve ser obedecido para iniciar, manter e terminar uma comunicação. Os protocolos são implementados pelo software que garante a comunicação.

Algumas funções dos protocolos são:

• sincronizar a transmissão dos dados;

• realizar testes para estabelecer a comunicação.

Ex.: verificar se a impressora está "ligada e livre" antes de iniciar a transmissão;

• detectar erros.

Assim, por exemplo, para conectar-se uma impressora a um microcomputador, necessita-se de uma interface paralela ou serial. E uma vez que os dois equipamentos estejam conectados, necessita-se de um protocolo para que a comunicação efetivamente aconteça.


3 SOFTWARE


Podemos classificar o software quanto à finalidade de seu desenvolvimento em básico e aplicativo e quanto às leis e regras que regem seu uso, redistribuição e modificação, em software livre e proprietário.

3.1 Software básico


É o conjunto de softwares que permite ao usuário criar, depurar e modificar as aplicações criadas por ele:

• sistema operacional;

• interface gráfica;

• linguagens de programação;

• utilitários.

3.1.1 Sistema operacional (SO)


Para realizar o controle do computador como um todo, foram desenvolvidos programas supervisores que se encarregam das funções repetitivas, e por vezes bastante complexas, envolvidas em sua operação. Esses programas são denominamos Sistemas Operacionais.

Diferentes modelos de UCP ou famílias de computadores normalmente diferem quanto ao sistema operacional utilizado.

Para micros, os sistemas operacionais mais difundidos são:

MS-DOS, Windows 95, Windows 98, WindowsME, Linux: para os PC compatíveis;

SYSTEM 8, MacOs X: para as máquinas Apple;

UNIX, Linux: para os sistemas multiusuário.


Algumas siglas:

OS Operating System (ou Sistema Operacional) Ex.: OS/2 da IBM;

DOS Disk Operating System (ou Sistema Operacional em disco);

MS-DOS DOS da Microsoft;

SYSTEM X versão X (7, 8 etc.) do sistema operacional da Apple.

3.1.1.1 Funções de um sistema operacional


• Gerência de memória;

• Gerência de processador;

• Gerência de arquivos;

• Gerência de dispositivos de E/S



3.1.1.2 Tipos de sistemas operacionais


Os sistemas operacionais são classificados considerando-se a interação dos usuários com seus programas, o número de programas em execução simultânea e o tempo de resposta exigido.
a) Sistema Operacional Batch
Os programas dos usuários são submetidos em lotes seqüenciais para execução através de dispositivos de E/S. O usuário não tem nenhuma interação com o seu programa durante a execução, somente recebe uma listagem com os resultados. O tempo de resposta pode variar de poucos minutos até várias horas.

b) Sistema Operacional Monosuário-Monotarefa


Voltado ao usuário que interage com a máquina através do vídeo/teclado, surgiu com os microcomputadores. Um único usuário pode estar utilizando a máquina e é permitida a execução de uma única tarefa de cada vez, deste usuário.

Ex.: DOS


c) Sistema Operacional Monousuário-Multitarefa
Onde um único usuário pode estar utilizando a máquina, mas mais de uma tarefa pode estar sendo executada, pois há um gerenciamento mais eficiente dos recursos de máquina.

EX.: Windows 95, Windows 98, WindowsME, OS/2

d) Sistema Operacional Multiusuário-Multitarefa
Em um sistema multiusuário, fatias de tempo do processador são utilizadas pelos diversos usuários do sistema, em um processo chamado timesharing.

Os usuários têm a sensação de ter o computador a sua disposição, mas na verdade suas tarefas são executadas serialmente.

Ex.: UNIX, LINUX

e) Sistema Operacional de rede


Ex.: Windows NT, Windows 2000

f) Sistema Operacional de Tempo Real


Caracteriza-se por ser, em grande parte, dependente da aplicação. O computador está ligado a processos externos dos quais recebe realimentação. Os sinais recebidos comandam as ações do S.O. O resultado das computações pode ser usado para direcionar o processo físico (ver Figura 5). Esses sistemas são projetados para uma aplicação específica. Ex.: monitoracão de pacientes, controle de elevadores, controle de tráfego.




Figura 5 - Esquema de funcionamento de um S.O. de tempo real

3.1.1.3 Tendências em SO


As versões mais recentes dos SOs comerciais são tipicamente ambientes operacionais que integram:

• interface gráfica;

• facilidades para atendimento a redes;

• facilidades de comunicação com outros SOs.




c.3.1.2 Interface Gráfica


Programa que transforma as ordens e os comandos de um sistema operacional, ou de outro tipo de software, em palavras e símbolos gráficos mais fáceis de serem entendidos pelo usuário

Ex.: Windows (anterior ao Windows 95, para o MS-DOS).

Elementos típicos de interfaces gráficas:

• janelas;

• ícones (símbolos gráficos);

• menus (pop-up, pull-down);

• caixas de diálogo.

Dispositivos apontadores:

mouse;

• canetas eletrônicas;

• dedo (em telas sensíveis ao toque).

3.1.3 Linguagens de programação


Uma linguagem de programação é um conjunto de convenções e regras que especificam como instruir o computador a executar determinadas tarefas.

O meio mais eficaz de comunicação entre pessoas é a linguagem (língua ou idioma). Na programação de computadores, uma linguagem de programação serve como meio de comunicação entre o indivíduo que deseja resolver um determinado problema e o computador escolhido para ajudá-lo na solução. A linguagem de programação deve fazer a ligação entre o pensamento humano (muitas vezes de natureza não estruturada) e a precisão requerida para o processamento pela máquina.

O desenvolvimento de um programa será mais fácil se a linguagem de programação a ser usada estiver próxima do problema a ser resolvido.
3.1.3.1.Gerações de linguagens

Cronologicamente podemos classificar as linguagens de programação em cinco gerações:


1ª geração: linguagens em nível de máquina;

2ª geração: linguagens de montagem (Assembly);

3ª geração: linguagens orientadas ao usuário;

4ª geração: linguagens orientadas à aplicação;

5ª geração: linguagens de conhecimento.

1ª Geração: Linguagens em nível de máquina

Os primeiros computadores eram programados em linguagem de máquina em notação binária. A instrução 0010 0001 0110 1100, quando executada, realiza a soma (código de operação 0010) do dado armazenado no registrador 0001, com o dado armazenado na posição de memória 108 (0110 1100).

Como um programa em linguagem de máquina nada mais é que uma seqüência de zeros e uns, a programação de um algoritmo complexo em tal tipo de linguagem é trabalhosa, cansativa e fortemente sujeita a erros.

2ª geração: Linguagens de Montagem (Assembly)

A segunda geração de linguagens de programação compreende as linguagens simbólicas de montagem, projetadas para minimizar as dificuldades da programação em notação binária. Códigos de operação e endereços binários foram substituídos por mnemônicos. Assim, a instrução de máquina do exemplo acima evoluiu para:


ADD R1, TOTAL

onde R1 representa o registrador 1 e TOTAL é o nome atribuído ao endereço de memória 108.


O processamento de um programa em linguagem de montagem requer sua tradução para linguagem de máquina, anterior à execução. As linguagens de 1ª e 2ª geração são consideradas linguagens de baixo nível. Uma instrução de baixo nível equivale a uma instrução em linguagem de máquina.
3ª geração: Linguagens Orientadas ao Usuário

As linguagens de 3ª geração surgiram na década de 60. Algumas delas orientadas à solução de problemas científicos, tais como FORTRAN, Pascal e ALGOL; outras, tal como COBOL, usadas para aplicações comerciais. Linguagens tais como PL/I e Ada contêm facilidades tanto para computação científica quanto para computação comercial.

Programa em Basic:
10 INPUT A,B,C

20 LET SOMA = A+B+C

30 LET MEDIA = SOMA/3

40 PRINT MEDIA

50 PRINT "DESEJA CONTINUAR (S/N)?"

60 INPUT RESPOSTA

70 IF RESPOSTA = "S"THEN 10

80 END
4ª geração: Linguagens Orientadas à Aplicação

As linguagens de 3ª geração foram projetadas para profissionais em processamento de dados e não para usuários finais. A depuração de programas escritos numa linguagem de 3ª geração consome tempo, e a modificação de sistemas complexos é relativamente difícil. As linguagens de 4ª geração foram criadas em resposta a estes problemas.

Os principais objetivos das linguagens de 4ª geração são:

• apressar o processo de desenvolvimento de aplicações;

• facilitar e reduzir o custo de manutenção de aplicações;

• minimizar problemas de depuração (localização e correção de erros);

• gerar código sem erros a partir de requisitos de expressões de alto nível;

• tornar fácil o uso de linguagens, tal que, usuários finais possam resolver seus problemas computacionais sem intermediários.

Exemplos de linguagens de 4ª geração são:

LOTUS 1-2-3, SQL, SUPERCALC, VISICALC, DATATRIEVE, FRAMEWORK, etc.
Comando em dBase III Plus:

LIST ALL NOME, ENDERECO, TELEFONE

FOR CIDADE = "PORTO ALEGRE"

Significado: lê todos os registros que compõem um arquivo e, para cada registro lido, seleciona aqueles que contiverem no campo CIDADE a expressão PORTO ALEGRE.

Mostra os registros selecionados na tela.
5ª geração: Linguagens de Conhecimento

O termo 5ª geração refere-se, especialmente, a sistemas que usam mecanismos da área de inteligência artificial (IA), ou seja, sistemas especialistas, processadores de língua natural e sistemas com bases de conhecimento.

Um sistema de 5ª geração armazena conhecimento complexo de modo que a máquina pode obter inferências a partir da informação codificada.

As linguagens de conhecimento implementadas para atuar nessas áreas são chamadas de linguagens de 5ª geração.

Ex.: PROLOG, LISP.

3.1.3.2 Níveis de linguagem


Conforme uma maior ou menor proximidade com a linguagem de máquina, classificam-se as linguagens (ver Figura 6) em:

• linguagens de baixo nível: primeira e segunda geração;

• linguagens de alto nível: terceira geração em diante.

As linguagens de alto nível apresentam inúmeras vantagens sobre as linguagens de baixo nível: são de mais fácil aprendizado; oferecem variedade de estruturas de controle para gerir o fluxo do processamento; apresentam facilidades para descrição modular de tarefas; e são relativamente independentes de máquina.

A relativa independência de máquina das linguagens de alto nível permite a portabilidade dos programas. Isto é, os programas podem ser executados em computadores de fabricantes distintos com pequenas modificações, mesmo que esses computadores tenham arquiteturas internas e conjuntos de instruções de máquina diferentes.

Em um item, porém, as linguagens de alto nível perdem para aquelas de baixo nível: pelas facilidades de acesso a elementos internos da máquina, os programas escritos em linguagens de baixo nível tendem a ser mais eficientes que seus correspondentes escritos em linguagens de alto nível.





Figura 6 - Níveis de linguagem e tradutores


3.1.3.3 Tradutores de linguagens de programação

Programas escritos em linguagens de baixo ou alto nível precisam ser traduzidos automaticamente para programas equivalentes em linguagem de máquina.


Tradutor, no contexto de linguagens de programação, é um programa que recebe como entrada um programa escrito em uma linguagem de programação (dita linguagem fonte) e produz como resultado as instruções deste programa traduzidas para linguagem de máquina (chamada linguagem objeto).
Se a linguagem do programa fonte é uma linguagem de montagem (Assembly), o tradutor é chamado de Montador (Assembler). Os tradutores que traduzem os programas escritos em linguagem de alto nível (3ª geração em diante) são os compiladores e os interpretadores (ver Figura 7).
Um compilador, enquando traduz um programa escrito em linguagem de alto nível, produz um programa em linguagem objeto (linguagem executável, ou seja, linguagem de máquina), que uma vez gerado pode ser executado uma ou mais vezes no futuro. Assim, uma vez compilado um programa, enquanto o código fonte do programa não for alterado, ele poderá ser executado sucessivas vezes, sem necessidade de nova compilação.
Um interpretrador traduz um programa escrito em linguagem fonte, instrução a instrução, enquanto ele vai sendo executado. Assim, cada vez que um programa interpretado tiver que ser reexecutado, todo o processo de interpretação deverá ser refeito, independentemente de ter havido ou não modificações no código fonte do programa desde sua última execução.
Por não exigirem conversão para linguagem de máquina em tempo de execução, os programas objeto compilados tendem a ser executados mais rapidamente que seus correspondentes interpretados. Por outro lado com a interpretação, os programas podem ser simultaneamente desenvolvidos e testados Pode-se interpretar programas incompletos (ou apenas trechos de programas), mas dificilmente consegue-se compilar um programa não concluído. Por isso, de um modo geral, havendo a possibilidade de utilizar-se tanto a compilação quanto a interpretação, a interpretação é interessante durante a fase de desenvolvimento dos programas/sistemas e a compilação torna-se mais vantajosa quando os códigos fonte já se encontram estabilizados.

Figura 7 - Os processos de compilação e interpretação



3.1.4 Utilitários


Softwares de apoio à solução de problemas de disco, memória, etc. Compactadores e descompactadores de arquivos. Programas anti-virus.

Ex.: Norton Utilities, PC Tools, VirusScan, F-Prot, WinZip.



Virus: programas capazes de se instalar de forma clandestina nos sistemas. Podem adotar procedimentos perturbadores (fazer uma bolinha pular na tela) ou declaradamente destrutivos (apagar informações) e são capazes de se autoreproduzir.



Compartilhe com seus amigos:
1   2   3   4   5   6   7


©aneste.org 2020
enviar mensagem

    Página principal
Universidade federal
Prefeitura municipal
santa catarina
universidade federal
terapia intensiva
Excelentíssimo senhor
minas gerais
união acórdãos
Universidade estadual
prefeitura municipal
pregão presencial
reunião ordinária
educaçÃo universidade
público federal
outras providências
ensino superior
ensino fundamental
federal rural
Palavras chave
Colégio pedro
ministério público
senhor doutor
Dispõe sobre
Serviço público
Ministério público
língua portuguesa
Relatório técnico
conselho nacional
técnico científico
Concurso público
educaçÃo física
pregão eletrônico
consentimento informado
recursos humanos
ensino médio
concurso público
Curriculum vitae
Atividade física
sujeito passivo
ciências biológicas
científico período
Sociedade brasileira
desenvolvimento rural
catarina centro
física adaptada
Conselho nacional
espírito santo
direitos humanos
Memorial descritivo
conselho municipal
campina grande