Noções Básicas sobre Sistemas Computacionais

Propaganda
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
1.1 - CONCEITUAÇÃO
A INFORMAÇÃO E O PROCESSAMENTO DA INFORMAÇÃO
O que é informação?
Informação é qualquer idéia ou fato que tenha sido registrado ou transmitido de
alguma forma, ou seja, é o elemento a ser tratado e é definida como tudo aquilo que permite
adquirir qualquer tipo de conhecimento e, portanto, existirá informação sempre que se der a
conhecer algo que até então se desconhecia.
Um jornal, por exemplo, está repleto de informações. A informação, porém, não
precisa ser guardada apenas na forma de letras impressas sobre papel. A música que está
gravada num disco também é informação, assim como tudo o que uma pessoa consegue
guardar em sua memória.
A teoria da informação
Quem fez pela primeira vez uma análise mais rigorosa da transmissão da
informação foi Claude Shannon, criador da Teoria da Informação.
De acordo com Shannon, sempre que uma informação é transmitida estão
envolvidos os seguintes elementos:
-
o transmissor, que é a parte que envia a informação;
o sinal, que é a forma de transmissão da informação;
o canal, que é o meio utilizado para enviar o sinal;
a mensagem, que é o conteúdo da informação;
o ruído, que é o que chega ao receptor além do que foi intencionalmente enviado;
o receptor, que é a parte que recebe a informação.
Assim, quando uma pessoa está falando, ela (transmissor) emite ondas sonoras
(sinal) através do ar (canal). Nessas ondas vão as frases (mensagem) que chegam ao
ouvinte (receptor). O ouvinte pode entender exatamente o que o falante quer dizer, mas
pode compreender algo diferente ou além da mensagem (o ruído).
O processamento de dados
O termo processamento de dados (ou de informações) engloba qualquer trabalho de
manipulação de dados que tenha como finalidade obter resultados previamente
estabelecidos, ou seja, este consiste em uma série de atividades ordenadamente realizadas,
com o objetivo de produzir um arranjo determinado de informações a partir de outras
obtidas inicialmente.
Esse grupo de atividades envolve a transmissão, o armazenamento, a recuperação, a
comparação e a combinação de informações.
A manipulação das informações coletadas no início da atividade chama-se
processamento; as informações iniciais são usualmente denominadas dados.
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
2
Os termos dado e informação podem ser tratados como sinônimos ou como termos
distintos; dado pode ser definido como a matéria-prima originalmente obtida de uma ou
mais fontes (etapa de coleta) e informação, como o resultado do processamento, isto é, o
dado processado ou "acabado".
A figura 1.1 mostra o esquema básico de um processamento de dados (manual ou
automático), que resulta em um produto acabado: a informação.
Figura 1.1 - Etapas básicas de um processamento de dados.
Informação subentende dados organizados (segundo uma orientação específica)
para o atendimento ou emprego de uma pessoa ou grupo que os recebe.
Ao procurarmos na lista telefônica o número de um assinante, estamos realizando
um trabalho de recuperação deste dado. Estamos, portanto, processando dados.
Ao efetuar uma operação matemática estamos manipulando dados com a finalidade
de obter um resultado específico, o que também é um processamento de dados.
ALGORITMOS E PROGRAMAS
Qualquer processamento de dados requer a execução de uma série de etapas, que
podem ser realizadas de forma manual ou automática por um computador. Tais etapas,
elaboradas e executadas passo a passo, constituem o que se chama programa. Cada um dos
passos mencionados é uma diferente instrução, ou ordem de comando, dada ao hardware,
objetivando a realização de uma determinada ação (uma operação aritmética, uma
transferência de informação, etc.). O programa é o conjunto de instruções.
Consideremos que se deseja, por exemplo, somar 100 números e imprimir o
resultado, conforme mostrado na figura 1.2.
Figura 1.2 - Algoritmo para soma de 100 números.
Uma pessoa é capaz de executar a soma, cujo algoritmo é apresentado na figura 1.2,
através de variações sobre as etapas indicadas, mas um computador, sendo uma máquina,
requer instruções precisas e completas sobre cada passo que deva executar.
O grupo de passos relacionado na figura constitui um algoritmo: conjunto de etapas
finitas, ordenadamente definidas, com o propósito de obter solução para um determinado
problema. O termo "finitas" significa a necessidade de um requisito qualquer que
estabeleça o final da execução do algoritmo; no exemplo dado, podemos observar, na etapa
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
3
5, que a execução das etapas de 2 a 4 se repete enquanto N<100. Esta é, pois, a cláusula de
parada.
A figura 1.3 mostra um esquema da execução manual do programa gerado pelo
algoritmo da figura 1.2, observando-se nele as etapas básicas.
As etapas de um algoritmo são as instruções que deverão ser executadas por uma
máquina (quando falamos de computadores); o conjunto de instruções constitui o que
chamamos de programa. Um programa de computador é a formalização de um algoritmo
em linguagem inteligível pelo computador.
Figura 1.3 - Fases de processamento de um programa.
Assim como o operador deve ter entendido os sete passos do programa apresentado
na figura 1.2, um computador precisa entender cada instrução, de modo a executar
corretamente a operação que se pretende. O operador entendia português, sua linguagem de
comunicação com outras pessoas; os computadores têm uma linguagem própria - a
linguagem binária. Nesta, os caracteres inteligíveis não são A, B, +, =, 0, 3, etc., mas
apenas zero (0) e um (1). Todo dado coletado pelos computadores, as instruções por ele
executadas, bem como os resultados de um processamento são sempre constituídos de
conjuntos ordenados de zeros e uns.
1.2 - ORGANIZAÇÃO BÁSICA DE UM SISTEMA DE COMPUTAÇÃO
Na descrição de sistemas de computação, é feita, freqüentemente, a distinção entre
arquitetura e organização de computador.
Arquitetura de computador refere-se àquelas especificações de um sistema visível para um
programador de linguagem de máquina, (aquelas especificações que tem um impacto direto
na execução lógica de um programa).
Exemplos: O conjunto de instruções, o número de bits usados para representar vários tipos
de dados (números, caracteres), mecanismos de entrada/saída e técnicas para memória de
endereçamento.
Organização de computador refere-se às unidades operacionais e suas interconexões que
realizam as especificações da arquitetura.
Exemplos: Os detalhes de hardware transparentes para o programador, tais como os sinais
de controle, interfaces entre o computador e os periféricos e a tecnologia de memória
utilizada.
Em cada nível, o projetista está relacionado com a estrutura e a função:
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
•
•
4
Estrutura - A forma com que os componentes estão interrelacionados.
Função - A operação de cada componente individual como parte da estrutura.
Em termos gerais, existem somente quatro funções básicas (figura 1.4) que um
computador pode desempenhar:
•
•
•
•
Processamento de dados;
Armazenamento de dados;
Movimento de dados;
Controle.
Figura 1.4 - Funções desempenhadas por um computador.
Nota: Ciclos de Busca e de Execução de uma instrução
Do ponto de vista mais simples, o processamento da instrução (ciclo de instrução)
consiste em dois passos: a busca de instrução é uma operação comum para cada instrução, e
consiste em leitura de uma instrução de uma localização em memória. A execução de
instrução pode envolver várias operações e pode depender da natureza da instrução.
Um ciclo de instrução inclui os seguintes subciclos:
- de busca: Ler a próxima instrução de memória na UCP.
- de execução: Interpretar o código de operação e executar a operação indicada.
- de interrupção: Se interrupções estão habilitadas e uma interrupção ocorreu, salvar o
estado de processo atual e cumpra-se a interrupção.
Este ciclo se repete indefinidamente até que o sistema seja desligado, ou ocorra
algum tipo de erro, ou seja encontrada uma instrução de parada.
COMPONENTES DE UM COMPUTADOR
Virtualmente todos projetos de computadores contemporâneos estão baseados na
arquitetura de Von Neumann, a qual tem três conceitos chave:
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
5
1. Dados e instruções são armazenadas em um única memória de leitura e escrita.
2. Os conteúdos desta memória são endereçáveis por localização, sem levar em
conta o tipo de dados contido lá.
3. Execução de uma instrução para a próxima ocorre num modo seqüencial (a
menos que explicitamente modificado).
Um ponto muito importante é sabermos como é uma descrição bem simples e
possível de um computador. O computador (figura 1.5) é uma entidade que interage de
algum modo com o ambiente externo (dispositivos periféricos ou linhas de comunicação).
Figura 1.5 - Descrição sucinta de um computador.
O sistema de computação é composto por três (3) componentes principais:
- Hardware: corresponde à parte física do sistema de computação (figura 1.6). É o
computador propriamente dito. Possui 2 componentes:
. Sistema central: composto pela Unidade Central de Processamento (ou
processador), Memória Principal e as suas interconexões;
. Periféricos: podem ser de Entrada, Saída e/ou Armazenamento e as suas
interconexões.
Figura 1.6 - Parte física de um sistema de computação.
- Software: corresponde à parte lógica do sistema de computação. São os programas (ou
conjunto de instruções), organizados em um ou mais arquivos, que manda o computador
executar tarefas que solucionam determinados problemas.
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
6
- Peopleware: são os usuários, as pessoas que trabalham com o computador. Podem ser
digitadores, programadores, analistas, ou simplesmente usuários do computador.
HARDWARE
Organização do Processador (UCP)
A UCP (figura 1.7) é a parte principal do computador responsável pelo
processamento e execução de programas armazenados na memória principal. Sua função
consiste em coordenar, controlar e realizar todas as operações (execução de instruções) do
sistema.
Suas partes principais são as seguintes (figura 1.8):
- a unidade aritmética e lógica (UAL): realiza o cálculo real ou o processamento de dados
(realiza as operações aritméticas e lógicas).
- a unidade de controle (UC): controla o movimento de dados e instruções dentro e fora da
UCP e controla a operação da UAL, de forma adequada e sincronizada.
- os registradores: memória interna mínima e que consiste num conjunto de localizações de
armazenamento.
- barramento interno da UCP: é o caminho necessário para transferir dados entre os vários
registradores e a UAL.
Figura 1.7 - A UCP com o barramento do sistema.
Em resumo, as atividades realizadas pela UCP podem ser divididas em duas grandes
categorias funcionais:
• função processamento - encarrega de realizar as atividades relacionadas com a efetiva
execução de uma operação, ou seja, processar; e
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
7
• função controle - exercida pelos componentes da UCP que se encarregam das atividades
de busca, interpretação e controle da execução das instruções, bem como do controle da
ação dos demais componentes do sistema de computação (memória, entrada/saída, etc).
Figura 1.8 - Estrutura interna da UCP.
a) Organização dos Registradores
Os registradores na UCP tem duas funções:
- Registradores visíveis ao usuário: Estes permitem ou habilitam a máquina ou
programador de linguagem Assembly a minimizar referências de memória principal
aperfeiçoando uso de registradores.
Estes podem se caracterizar nas seguintes categorias: de aplicação geral, de dados,
de endereço e de códigos de condição.
- Registradores de controle e de estado: Estes são usados pela unidade de controle para
controlar a operação da UCP e por privilégio, programas do sistema operacional para
controlar a execução de programas. Quatro registradores são essenciais a execução de
instrução: contador de programa (CP), registrador de instrução (RI), registrador de
endereço de memória (REM) e o registrador de dados da memória (RDM).
b) Organização da Unidade Aritmética e Lógica
Em termos muito gerais, a UAL (figura 1.9) é interconectada com o resto da UCP.
Os dados são apresentados a UAL através de registradores, e os resultados de uma operação
são armazenados também em registradores. A UAL também fixará flags como o resultado
de uma operação. A unidade de controle fornece sinais que controlam a operação da UAL e
o movimento dos dados dentro e fora da UAL.
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
8
Figura 1.9 - Entradas e saídas da UAL.
c) Organização da Unidade de Controle
A unidade de controle (figura 1.10) é aquela porção da UCP que, emite sinais de
controle externos à UCP para causar a troca de dados com a memória e os periféricos. A
unidade de controle também emite sinais de controle internos à UCP para mover dados
entre registradores, fazer com que a UAL execute uma função especificada e para regular
outras operações internas.
Entrada à unidade de controle consiste no registrador de instrução, flags e sinais de
controle de fontes externas (por exemplo, sinais de interrupção).
É visto que a responsabilidade básica da unidade de controle é causar uma sucessão
de operações elementares, chamada microoperação, a ocorrerem durante o curso de um
ciclo de instrução.
Há duas maneiras, utilizadas no projeto e funcionamento de uma UC, que
caracterizam conceitos diferentes de controle:
- controle programado diretamente no hardware (“hardwired control”); e
- controle por microprogramação.
A diferença básica entre os dois tipos está no processo de controle da realização do
ciclo de instrução. No primeiro caso, cada etapa é realizada segundo uma lógica préestabelecida, implementada fisicamente no hardware da área de controle. No caso de
controle microprogramado, a interpretação e as conseqüentes etapas do ciclo de instrução
são realizadas passo a passo por um programa, denominado microprograma.
Figura 1.10 - Modelo da Unidade de Controle .
d) Organização do barramento interno da UCP
É uma rede de linhas de comunicação que conecta os elementos internos de uma
UCP e também direciona-se para os conectores externos que ligam a UCP aos outros
elementos de um sistema de computação. Os três tipos de barramentos da UCP são:
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
9
- um barramento de controle: que consiste numa linha que sente sinais de entrada e outra
linha que gera sinais de controle a partir da UCP (linha bidirecional);
- um barramento de endereço: uma linha unidirecional da UCP que controla a localização
de dados em endereços de memória;
- um barramento de dados: uma linha de transferência bidirecional que tanto lê como
escreve dados na memória.
Organização da Memória Principal
A memória principal (ou memória primária) tem por finalidade o armazenamento
de instruções e dados de programas que serão ou estão sendo executados pela UCP. É
considerada como uma memória de trabalho para a UCP, sendo organizada em células com
tamanho fixo e igual, cada uma identificada por um número denominado endereço.
A MP pode ser acessada através de duas operações:
a) leitura: ler da memória - significa requisitar à MP o conteúdo de uma determinada célula.
O sentido de operação dá-se da MP para a UCP.
b) escrita: escrever na memória - significa escrever uma informação em uma célula da MP.
O sentido da operação dá-se da UCP para a MP.
Classificam-se em dois grupos:
. RAM (Memória de Acesso Aleatório) - dinâmica ou estática - esta memória volátil retém
as instruções e dados de programas que estão sendo executados, tornando o tempo de
leitura e escrita extremamente rápidos.
. ROM ou ROM padrão - é a memória somente de leitura, pois as informações são gravadas
no momento da fabricação e não mais serão alteradas. Contém basicamente informações
necessárias para o funcionamento do computador, como rotinas que verificam se os meios
físicos estão aptos para o funcionamento. Outras versões de ROMs são disponíveis PROM, EPROM, EEPROM ou EAPROM e memória flash - as quais podem ser
programadas, no mínimo, uma vez; são todas memórias não voláteis.
A memória cache é uma memória (RAM estática) volátil de alta velocidade,
localizada entre a UCP e a memória principal, usada com a finalidade de acelerar o
processamento do subsistema UCP/MP, funcionando como um buffer da memória
principal.
Toda vez que a UCP faz referência a um dado armazenado na memória principal,
ela “olha” antes na memória cache. Se a UCP encontrar o dado na cache, não há
necessidade do acesso à memória principal (cache hit); do contrário o acesso é obrigatório
(cache miss ou cache fault).
Apesar de ser uma memória de acesso rápido (tempo de acesso é muito menor em
relação à memória principal), seu uso é limitado em função do alto custo.
A memória cache existe apenas nas placas de microcomputadores com UCP’s mais
rápidas, a partir do 386DX de 25 MHz.
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
10
As memórias secundárias (auxiliares ou de massa) são um tipo de memória não
volátil de grande capacidade de armazenamento, usada para guardar informações
(instruções e dados de programas) que não serão imediatamente usadas pela UCP.
Como exemplos de memórias secundárias tem-se as fitas magnéticas, discos (fixos e
removíveis), disquetes, winchesters, tambores magnéticos, CD-ROM, e outros.
Organização da Entrada/Saída (E/S)
Um subsistema de entrada/saída (E/S) deve, em conjunto, ser capaz de realizar duas
funções:
· receber ou enviar informações ao meio exterior;
· converter as informações em uma forma inteligível para a máquina ou para o
programador.
a) Interfaces de E/S
Também conhecido como controladoras de E/S, unidade processadora de
periféricos, adaptador de periférico e canal de E/S.
O interface (figura 1.11) é um conjunto de circuitos (hardware) e programas
(software) que interligam um ou mais dispositivos de E/S e o subsistema UCP/MP para
controlar e efetivar transferência de bits entre estes elementos.
Figura 1.11 - Exemplos de configuração UCP/MP e um interface.
O interface tem duas funções principais (figura 1.12):
- Interface a UCP e a memória pelo barramento do sistema: Combinar as velocidades entre
os dispositivos que operam em velocidades diferentes.
- Interface a um ou mais dispositivos periféricos através de vínculos de dados: converter
dados de um formato em outro.
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
11
Figura 1.12 - Exemplo de comunicação direta UCP/MP e periféricos, indicando-se
as diferentes características de transmissão de cada um.
Em geral, o interface é responsável pelas seguintes tarefas: controle e sincronização,
comunicação com a UCP, comunicação com o dispositivo, armazenamento temporário de
dados e detecção de erros.
Há duas maneiras básicas de se realizar transmissão/recepção de dados entre os
periféricos/interfaces e o subsistema UCP/MP bem como entre dispositivos interconectados
entre si, local ou remotamente:
1) a informação pode ser transmitida/recebida, bit a bit, um em seguida ao outro em uma
única linha - isto caracteriza a transmissão serial (figura 1.13), que pode ser assíncrona ou
síncrona (impressoras e terminais, teclado, mouse, modems); e
Figura 1.13 - Exemplo de transmissão serial.
2) a informação pode ser transmitida/recebida simultaneamente em grupos de bits em
múltiplas linhas - isto caracteriza a transmissão paralela (figura 1.14) - periféricos de alta
velocidade (fitas e discos magnéticos).
Figura 1.14 - Exemplo de transmissão paralela.
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
12
A escolha de um desses tipos para interligar a E/S ao subsistema UCP/MP depende
de vários fatores, tais como: tipo e natureza do periférico, custo de implementação e
velocidade de transmissão desejada.
b) Dispositivos externos
Operações de E/S são realizadas por uma ampla classificação de dispositivos
externos que fornecem um significado de troca de dados entre o ambiente externo e o
computador.
Os diversos tipos de dispositivos que podem ser conectados em um computador são
classificados em três categorias:
1) os que transmitem/recebem informações inteligíveis para o ser humano - são adequados
para estabelecimento de comunicação com o usuário. É o caso das impressoras,
monitores de vídeo, plotters, multimídia, etc.
2) os que transmitem/recebem informações inteligíveis apenas para a máquina - são
adequados para comunicação máquina a máquina ou internamente a uma máquina. É o
caso dos teclados, mouses, scanners, discos magnéticos, fitas magnéticas, discos óticos,
sensores e atuadores em aplicação robótica;
3) os que transmitem/recebem de/para outros dispositivos remotamente instalados, tais
como os modems e regeneradores digitais.
c) Métodos de realização de operações de E/S
Há três métodos distintos de efetuar operações de E/S, isto é, de a UCP ler e
escrever dados em um periférico específico: E/S por programa (memória compartilhada e
E/S isolada), E/S com o emprego de interrupção e Acesso Direto à Memória.
Organização de Interconexão de Sistema ou barramento do sistema
O barramento de um sistema de computação (figura 1.15) é o elemento responsável
pela interligação dos demais componentes (UCP, memória, E/S), conduzindo de modo
sincronizado o fluxo de informações de uns para os outros, de acordo com uma
programação de atividades previamente definida na unidade de controle.
Em qualquer barramento as linhas podem ser classificadas em três grupos
funcionais:
- As linhas de dados fornecem um caminho para os dados (as instruções e os valores
numéricos ou alfabéticos) se moverem entre os módulos do sistema.
- As linhas de endereço são usadas para designar a fonte ou destino dos dados
(valores que indicam a localização dos dados) no barramento de dados. Estas linhas são
usadas geralmente para endereço de portas de E/S.
- As linhas de controle são usadas para controlar o acesso para e o uso das linhas de
dados e de endereço. Exemplos de alguns dos sinais de controle: de leitura, de escrita, de
interrupção, de sincronização, entre outros).
Embora exista uma variedade de implementações de barramentos diferentes, há
alguns parâmetros básicos ou elementos de projeto que servem para classificar e diferenciar
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
13
barramentos. Os elementos-chave são: tipos de barramento (multiplexado ou dedicado),
métodos de arbitragem (centralizado ou distribuído), temporização (assíncrona ou
síncrona), largura do barramento (de dados e de endereço), tipo de transferência de dados
(transferências de escrita (mestre para escravo), de leitura (escravo para mestre), de leitura
modificada para escrita, de leitura após a escrita e por blocos) e tratamento de interrupções.
No mercado existem diversos barramentos, entre os mais conhecidos temos: o
UNIBUS da DEC, o MCA da IBM, o ISA da IBM (o mais usado e difundido), o EISA, o
SBI da DEC.
Figura 1.15 - Barramento do sistema.
SOFTWARE
O conceito de software refere-se a todos os elementos de programação de um
sistema de computação, isto é, todos os programas, sejam de aplicação ou básicos do
sistema, contrastando com a parte física e visível do sistema - o hardware.
Podem ser classificados em softwares básicos ou softwares aplicativos.
Softwares básicos
São os programas que definem o padrão do equipamento, sendo necessários para o
funcionamento do computador.
Os tipos de software básico são: sistema operacional, ambiente operacional,
linguagens de programação, tradutores e utilitários.
a) Sistema operacional
O sistema operacional (figura 1.16) é a interface básica entre usuário e o
computador, pois é um gerenciador de recursos, alocando o hardware, o software e os
dados. Em resumo, é um sistema (programa de controle mestre) que controla e coordena
todas as operações básicas do sistema de computação.
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
14
Figura 1.16 - Funções do sistema operacional.
Existem diferentes sistemas operacionais. Os mais conhecidos são o MS-DOS (para
PC compatíveis), MUMPS, System 7, Unix, etc.
Os sistemas operacionais são compostos por duas (2) partes no que diz respeito a
localização física na memória do computador.
Uma parte está gravada em chip de memória ROM onde estão as rotinas mais
fundamentais de coordenação e tradução de fluxos de dados de fontes não similares
(unidades de disco ou disk drives, os co-processadores que são chips de processamento que
trabalha paralelamente à unidade central, mas com operações diferentes), como: acionar e
ler a unidade de disco, colocar mensagens no monitor, verificar se o teclado está
funcionando, etc.; sendo que a quantidade de rotinas gravadas na memória ROM depende
de cada fabricante.
A outra parte do sistema operacional será carregada na memória RAM do sistema
normalmente em duas (2) etapas:
- A 1ª. é totalmente transferida para a RAM quando o sistema é ligado;
- A 2ª. é carregada na memória à medida que é solicitada.
Os sistemas operacionais são, às vezes, chamados de firmware, por serem
programas que podem ser fornecidos pelo fabricante do equipamento. No caso de PC´s,
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
15
podem vir gravados na memória ROM ou na EEPROM. O padrão é virem em disquetes ou
já gravados no winchester.
Os programas que compõem o sistema operacional são, na maioria dos casos,
escritos em linguagem de programação de baixo nível.
Os sistemas operacionais podem ser classificados de acordo com suas características
de funcionamento em: sistema monousuário, sistema multiusuário, sistema monotarefa e
sistema multitarefa.
b) Ambiente operacional
São ambientes que adicionam recursos ao sistema operacional para permitir uma
interface gráfica com o usuário, ou seja, é um sistema operacional com recursos gráficos.
Exemplo: Windows 95.
c) Linguagens de programação
É um conjunto de símbolos (vocabulário) e regras (gramática) que especificam
como transmitir informações entre usuários e computador.
As linguagens de programação estão divididas em: linguagem de máquina,
linguagem de baixo nível e linguagem de alto nível.
A linguagem de máquina é baseada em código binário, em 0s e 1s. É utilizada
diretamente pelo computador.
Exemplo:
Linguagem de máquina
0010 0001 1110
0010 0010 1111
0001 0001 0010
0011 0001 1111
Significado
carrega no registrador 1 o conteúdo da posição de memória 14
carrega no registrador 2 o conteúdo da posição de memória 15
soma o conteúdo do registrador 1 com o conteúdo do registrador
2 e coloca no registrador 1
armazena o conteúdo do registrador 1 na posição de memória 15
A linguagem de baixo nível é uma simplificação da linguagem de máquina. Faz uso
de códigos mnemônicos para expressar as instruções. Exemplo: Assembly.
Exemplo:
Linguagem de máquina
Linguagem de baixo nível
0010 0001 1110
0010 0010 1111
0001 0001 0010
0011 0001 1111
LOAD R1, val1
LOAD R2, val2
ADD R1, R2
STORE R1, val2
A linguagem de alto nível utiliza a combinação de um conjunto de símbolos de
acordo com certas regras de sintaxe para expressar uma seqüência de operações de
máquina. É uma linguagem que não exige conhecimento do código de máquina.
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
16
Exemplo:
Linguagem de máquina
Linguagem de baixo nível
Linguagem de alto nível
0010 0001 1110
0010 0010 1111
0001 0001 0010
0011 0001 1111
LOAD R1, val1
LOAD R2, val2
ADD R1, R2
STORE R1, val2
val2 = val1 + val2
Como exemplos de linguagens de alto nível tem-se: FORTRAN ( FORmula
TRANslator), ALGOL (ALGOrithimic Language), COBOL (Common Business Oriented
Language), BASIC (Beginner’s All-purpose Symbolic Instruction Code), PASCAL,
LOGO, C, LISP, PROLOG, etc.
d) Tradutores
Mas, se os computadores trabalham internamente com a linguagem de máquina,
como é que podemos fazer programas usando linguagem de baixo ou de alto nível?
É que existem tradutores que lêem uma linguagem de programação e a transformam
para linguagem de máquina. Existem 3 tipos de tradutores:
-
Montador: lê uma linguagem de baixo nível e transforma para linguagem de
máquina.
Interpretador: lê uma linguagem de alto nível e transforma para linguagem de
máquina.
Compilador: lê uma linguagem de alto nível e transforma para linguagem de
máquina.
Mas qual a diferença entre interpretador e compilador?
Compilador
1) Lê e analisa todo o programa fonte (escrito em linguagem de alto nível) e traduz
para linguagem de máquina.
2) Cria um programa objeto que corresponde às instruções em linguagem de máquina.
3) Executa-se direto o programa objeto.
4) Traduz tudo de uma vez. Se encontrar erro, é preciso voltar ao programa fonte,
corrigir, recompilar e executar novamente o programa objeto.
Interpretador
1) Interpreta cada comando e executa. Faz linha a linha. Não traduz todo o programa
para depois executar.
2) Não gera programa objeto.
3) Executa-se o programa fonte e sempre é necessário interpretar antes.
4) Se encontrar erro avisa na hora. Então, se edita o programa fonte, corrige-se o erro e
interpreta-se novamente.
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
17
e) Utilitários
São programas que ampliam os recursos do sistema facilitando o uso e auxiliando a
manutenção de programas. Administram o ambiente oferecendo ferramentas ao usuário
para organizar os discos, verificar memória, corrigir falhar, etc.
Exemplos:
Save Smart: grava automaticamente a tela de trabalho do usuário quando a máquina
é desligada e quando ela é ligada, retorna ao mesmo ponto onde estava.
Formatadores;
Programas de backup;
Compactadores de disco: Zip, Arj, etc.
Desfragmentadores: regravam de forma mais eficiente os arquivos que foram
fragmentados pelo sistema operacional. Ou seja, faz com que um arquivo que foi
armazenado em "pedaços" seja armazenado de forma contígua;
Antivírus: detectam a presença de algum vírus e tenta eliminá-lo.
Estes programas recebem o nome de utilitários por serem úteis ao sistema
computacional.
Softwares aplicativos
São os programas voltados para a solução de problemas do usuário.
Podem ser de:
- uso geral: são programas que podem ser utilizados em vários tipos de aplicações.
Exemplos: editores de texto, gráficos, planilhas, gerenciadores de banco de dados, etc.
- uso específico: se destinam exclusivamente a um único tipo de aplicação.
Exemplos: folha de pagamento, crediário, imposto de renda, cadastro, contas a pagar e
receber, etc.
CLASSIFICAÇÃO DOS SISTEMAS DE COMPUTAÇÃO
A classificação ou diferenciação dos sistemas de computação mais usual é dada em:
- sistemas de grande porte (mainframes e supercomputadores),
- sistemas de médio porte (minicomputadores e estações de trabalho) e,
- sistemas de pequeno porte (microcomputadores).
Suas funções, conceitualmente, são idênticas, e a diferença reside nas escalas, ou
seja, os sistemas maiores possuem mais capacidade e velocidade de processamento, são
mais confiáveis, apresentam melhor assistência técnica e em geral podem ser utilizados por
muitas pessoas. Os limites entre as classes são pouco nítidas e com os avanços tecnológicos
tendem a ficar ainda mais difícil de ser distinguidos. O número de modelos disponíveis em
cada classe é muito grande, fato este que levou esta classe a uma subdivisão com o adjetivo
super (supermicros, superminis e supercomputadores).
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
18
A classificação de um computador pode ser feita de várias maneiras, como por
exemplo:
a)
b)
c)
d)
velocidade de processamento e volume de transações
capacidade de processamento e número de usuários concorrentes
capacidade de armazenamento
tipo de CPU e tamanho da memória disponível
- Sistemas de pequeno porte
Os micros (é mais comum e popular denominá-los assim do que pela sua forma
completa - microcomputador) podem ser do tipo de mesa (Desktop) ou de torre (PC Personnel Computer = computador pessoal), laptops, Notebooks, sub-notebooks e os
Palmtops. Exemplos de PCs: PC/XT (eXtend Technology), PC/AT 286 (Advanced
Technology), PC/AT 80386 (386SX, 386SL), PC/AT 486 (80486SX, 80486SL,
80486SLC2, Pentium).
- Sistemas de médio porte
Minicomputadores, por sua vez, são máquinas projetadas para atender
simultaneamente a demanda por execução de programas de vários usuários, embora a
quantidade de usuários e de programas não seja tão grande quanto se pode encontrar em
computadores de grande porte. Os sistemas VAX-11/780 da DEC são exemplos típicos de
minicomputadores, bem como os sistemas AS/400 da IBM.
Uma estação de trabalho é essencialmente um microcomputador projetado para
realizar tarefas pesadas, em geral na área científica ou industrial, tais como complexas
computações matemáticas, projetos com auxílio de computação (CAD - Computer Aided
Design), fabricação com auxílio de computação (CAM - Computer Aided Manufacturing) e
a composição, manipulação e apresentação de gráficos e imagens de altíssima resolução.
Essas tarefas requerem mais velocidade de processamento, mais capacidade de memória
(em tamanho e velocidade de transferência de informações) e dispositivo de vídeo de mais
alta qualidade do que as características usuais dos microcomputadores. O sistema
DECstation 5000/33 ou IBM RS/6000 são exemplos de estações de trabalho.
- Sistemas de grande porte
Os computadores de grande porte ou mainframes são sistemas projetados para
manusear considerável volume de dados e executar simultaneamente programas de uma
grande quantidade de usuários. Os sistemas IBM 3090 e Control Data CDC 6600 são
típicos exemplos de computadores de grande porte.
Finalmente, um supercomputador é projetado primariamente para atender a um
único propósito: realizar grandes quantidades de cálculos matemáticos o mais rapidamente
possível. Essas máquinas, como o sistema CRAY Y-MP e IBM 9021, podem realizar
aplicações que demandam mais o processador que os demais componentes, tais como:
previsão de tempo, simulação, modelagem tridimensional. Uma máquina dessas é capaz de
CAPÍTULO 1 - NOÇÕES BÁSICAS SOBRE SISTEMAS COMPUTACIONAIS
19
realizar dois bilhões de operações matemáticas por segundo e manipular mais de um bilhão
de células de memória.
MEDIDAS DE DESEMPENHO DE SISTEMAS DE COMPUTAÇÃO
A medida geral de desempenho de um sistema de computação depende
fundamentalmente da capacidade e velocidade de seus diferentes componentes, da
velocidade com que estes componentes se comunicam entre si e do grau de compatibilidade
que possa existir entre eles (p.ex., se a velocidade da UCP de um sistema é muito maior que
a da memória, então este sistema tem um desempenho inferior ao de um outro em que a
UCP e a memória têm velocidades mais próximas).
Considerando a existência de tantos fatores que influenciam o desempenho de um
sistema de computação, desenvolveram-se diversos meios de medir seu desempenho.
O desempenho dos processadores, em geral, é medido em termos da sua velocidade
de trabalho; como seu trabalho é executar instruções, criou-se a unidade (sempre
questionada por alguns) chamada MIPS - milhões de instruções por segundo, e também a
unidade MFLOPS (millions of floating point operations per second) - milhões de operações
de ponto flutuante por segundo, que é uma medida típica de estações de trabalho e de
supercomputadores, pois estes costumam trabalhar mais com cálculos matemáticos.
Já quando se trata de recuperação ou escrita de informações na memória, o tempo de
acesso é uma unidade de medida mais apropriada, estando relacionada à velocidade de cada
componente e à do canal de interligação entre os dois (UCP e memória).
Tempo de resposta é uma medida ligada ao desempenho mais global do sistema e
não de um ou outro componente. Trata-se do período de tempo gasto entre o instante em
que o usuário iniciou uma solicitação ou interrogação e o instante em que o sistema
apresentou ao usuário a sua resposta ou atendeu à sua solicitação. Por exemplo, o intervalo
de tempo entre a solicitação de um saldo de conta em um terminal bancário e a
apresentação no vídeo da resposta (o saldo da conta).
Uma outra unidade de medida de desempenho é a vazão (throughput), que define a
quantidade de ações ou transações que podem ser realizadas por um sistema na unidade de
tempo. Por exemplo, a quantidade de atualizações que podem ser feitas em um sistema de
controle do estoque de uma empresa.
Quando estamos nos referindo à velocidade com que um determinado dispositivo de
entrada ou de saída transfere ou recebe dados da UCP utilizamos uma unidade que mede a
taxa de transferência que o canal de ligação (barramento) pode suportar, isto é, a quantidade
de bits por segundo que podem trafegar pelo referido canal.
Download