Você está na página 1de 12

MDULO I

Unidade 1.2
Modelo Lgico do Computador
A construo de computadores, como se observa ao longo de sua histria, passou a
no mais se fundamentar em componentes mecnicos ou puramente eltricos como tambm
na execuo de clculos baseados em medidas fsicas (como eram feitos nas rguas de
clculos). Por exemplo, medidas da intensidade de uma corrente eltrica ou do ngulo de giro
de uma engrenagem (os chamados clculos analgicos) serviam como elementos para realizar
operaes matemticas. Tambm verdade que, a partir da dcada de 1940, os componentes
passaram a ser rels, vlvulas, etc., e os clculos baseados em contagem. Ou seja, clculos
realizados atravs de elementos matemticos, operando dgito a dgito (ou, clculo digital).
Respectivamente,

denominam-se

computador

analgico

computador

digital.

Os

computadores analgicos apresentam resultados aproximados e ainda so utilizados, por


exemplo, no controle de temperatura por sensores, ou em medidas de energia eltrica. J os
computadores digitais so predominantes e apresentam resultados de leitura exata por utilizar
valores numricos. Nessa disciplina, nosso desenvolvimento ser apenas a respeito dos
computadores digitais.
Os instrumentos de clculo construdos pelo homem, no diferente do que aconteceu
desde o incio, tm um aspecto fsico e um aspecto lgico. O aspecto fsico corresponde aos
recursos materiais disponveis na poca, responsveis pela execuo fsica, e o lgico indica
de que maneira o aspecto fsico seria manipulado para produzir os resultados. O computador
hoje , na verdade, um sistema que tambm tem sua parte fsica, denominada de hardware, e
sua parte lgica, denominada de software. O hardware, que so todos os componentes
magnticos, eltricos, eletromagnticos, etc., est a servio do software, que o conjunto dos
programas. Nos primrdios da computao, interagir com o hardware era corriqueiro.
Atualmente, recursos de software (sistemas operacionais, aplicativos, compiladores, etc.)
substituem, com enormes vantagens, as tarefas antigamente realizadas manipulando-se
dispositivos, ou circuitos destes. Em resumo, dentro da histria do computador, podemos
estabelecer uma relao das ferramentas de clculo primitivas com o computador atual,
considerando que h um modelo lgico que mantido, como mostra o seguinte
mapa conceitual:

Algoritmo e Estrutura de Dados I Prof. Ailton Cruz I.2.1

As ferramentas de clculo primitivas e o computador atual


Fisicamente, tudo que circula internamente no computador codificado segundo um
modelo lgico e dever culminar na realizao de uma determinada tarefa. A codificao,
desde seu estado elementar, baseia-se nos conceitos de bit e byte, oriundos do sistema de
numerao binrio (como veremos na prxima seo). Tudo so bits e bytes. Instrues e/ou
dados na forma de sequncias de bits, e seguindo uma coleo de regras, circulam pela
mquina de uma parte a outra. As sequncias de bits e as tais regras de construo compem
o que se chama de linguagem de mquina. Podemos dizer que esta a linguagem nativa do
computador. Assim sendo, as instrues que o computador recebe do meio externo devem ser
traduzidas para esta linguagem.
Uma analogia interessante pode ser feita. Os componentes fsicos do computador (o
hardware) so semelhantes a operrios que executam uma determinada obra. Cada um tem
sua habilidade especfica e s executa tarefas muito simples (no computador, seria, por
exemplo, ligar-desligar, ativar-desativar, etc.). Combinando-se aes simples possvel
concluir toda a obra. Um ncleo lgico, um mentor (o gerente, o projetista ou ambos), quem
detm a noo do todo e planeja conceitualmente o andamento. Sabe exatamente os caminhos
a serem tomados para se chegar ao resultado esperado. Na mquina, o mentor o software e
este nasceu no computador tendo como "pai" o usurio programador. O programador quem
insere o "passo a passo" para a execuo das tarefas. Para este servio, o programador usa
ferramentas (os programas tradutores) que traduzem uma linguagem bem conhecida sua para
a linguagem de mquina.

Algoritmo e Estrutura de Dados I Prof. Ailton Cruz I.2.2

1.2.1 Bits e Bytes


Antes de estudarmos a estrutura do computador em um nvel mais alto, importante
compreender ou, pelo menos, fazer uma ideia do que se passa internamente nessa mquina.
Como o computador consegue representar nmeros? Como o computador consegue gravar e
exibir letras e outros smbolos? Como possvel o computador executar operaes lgicas?
Bem, j sabemos que tudo que circula no computador codificado, os cdigos so
baseados nos conceitos de bit e byte e estes ltimos so aplicaes de sistemas de
numerao. Ento, isto o que veremos a seguir.

Sistemas de Numerao
O conceito de nmero abstrato e foi objeto de estudo de muitos matemticos e
filsofos. O nmero est ligado ao cardinal de um conjunto (sua quantidade de elementos).
Quando pensamos em quantidade, pensamos em contagem e, assim, pensamos nos nmeros
naturais. Estes nmeros so os que nos interessam nesse momento. Podemos definir um
sistema de numerao como sendo um conjunto de regras que permitem, com uma quantidade
finita de smbolos, representar um nmero natural qualquer.
Egpcios e babilnios, entre outras culturas, tinham seus modos particulares de
representar nmeros, mas houve at um tempo em que no se conheciam smbolos para a
representao numrica. No se conhecia numerais.
O fundamento para se construir um numeral ter um conjunto finito de smbolos, a
partir de uma base, e em seguida, promover o agrupamento das quantidades tendo esta base
do sistema como referncia. Por exemplo, na base dez (no sistema decimal), usamos os
smbolos 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9 para representar todos os nmeros naturais. Agrupamos as
quantidades de 10 em 10. Isto , partindo de 0 (zero), quando o algarismo das unidades atinge
o valor 9, este o limite. O prximo valor ser representado pelo smbolo 1 na casa seguinte (a
das dezenas), e assim por diante. Por conveno, um numeral escrito no sistema decimal pode
ser chamado de nmero.
Podemos estender a ideia que usamos na representao decimal, que para ns
bastante intuitiva, para uma base qualquer e representar um nmero natural qualquer por um
numeral com o seguinte formato:
(dt ... d2d1d0) , onde di {0, 1, 2, 3, ... -1}, i = 0, 1, 2, 3, ..., t, so os dgitos.
Ou seja, para representar um nmero natural numa base , escrevemos um numeral de t+1
dgitos, usando smbolos. Para se conhecer o nmero natural que est sendo representado
bastante desenvolver a seguinte expresso, que aplica os valores relativos dos dgitos:
dtt + ... + d22 + d11 + d00.
Se a base for = 10 a representao se torna: (dt ... d2d1d0)10 dt ... d2d1d0, onde os dgitos
so di {0, 1, 2, ... 9}: d0 nas unidades, d1 nas dezenas, d2 nas centenas, etc.
Algoritmo e Estrutura de Dados I Prof. Ailton Cruz I.2.3

Observao: Quando a base requer smbolos que extrapolam o dgito 9, costuma-se


usar letras para completar. Por exemplo, se quisermos representar um nmero no sistema
hexadecimal (base =16) precisamos de 16 smbolos (os dgitos estariam no conjunto {0, 1, 2,
3,...,15}). Ento, os smbolos usados so 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F, onde as
letras A, B, C, D, E e F tm, respectivamente, valores absolutos iguais a 10, 11, 12, 13, 14 e
15. Vejamos os exemplos abaixo:
a) (1110)2 = (1).(23) + (1).(22) + (1).(21) + (0).(20) = 8 + 4 + 2 + 0 = 14
Ou seja, o numeral (1110)2 a representao na base 2 do nmero 14.
b) (121)3 = (1).(32) + (2).(31) + (1).(30) = 9 + 6 + 1 = 16
Ou seja, o numeral (121)3 a representao do nmero 16 na base 3.
c) (203)10 = (2).(102) + (0).(101) + (3).(100) = 200 + 0 + 3 = 203
Ou seja, na base 10, o nmero 203 igual ao numeral (203) 10.
Do mesmo modo que dado o numeral encontramos nmero, podemos, inversamente,
encontrar o numeral dado do nmero e a base para representao. Fazemos isto dividindo pelo
valor da base, o nmero fornecido, em seguida, o quociente desta diviso, depois o prximo
quociente encontrado e assim sucessivamente. Por exemplo, se quisermos descobrir qual
representao binria de 14, fazemos a seguinte sequncia de divises por 2 (valor da base ):

Observamos que, seguindo o sentido indicado (na ordem inversa em que foram calculados) de
leitura dos nmeros sublinhados em vermelho, o numeral obtido (1110) 2 (que confere com o
item a do exemplo mostrado acima).
Qual seria ento a representao hexadecimal do nmero 2802, por exemplo? O
clculo seria o seguinte:

Logo, a representao hexadecimal do nmero 2802 o numeral (AF2) 16, lembrando que os
dgitos com valores absolutos iguais a 10 e 15 so A e F respectivamente.

Algoritmo e Estrutura de Dados I Prof. Ailton Cruz I.2.4

Aplicao de Sistemas de Numerao nos Computadores


Considerando os conceitos apresentados na seo anterior, temos especial interesse
pela representao no sistema de base 2 (sistema binrio). Por ser = 2, precisamos de
apenas dois smbolos, os dgitos 0 e 1, para a representao dos nmeros. Logo, esses dgitos
representam dois estados, uma propriedade bastante conveniente para aplicao nos
computadores. A implementao fsica pode ser atravs de corrente eltrica, magnetizao,
etc. Zero e um podem significar, por exemplo, desligado (di = 0) e ligado (di = 1).
O sistema binrio o sistema bsico usado nos computadores, onde cada dgito
recebe a denominao de bit (binary digit) (com dois valores possveis, 0 ou 1). A partir da as
demais contagens no computador se referem a esta unidade. Costuma-se tratar os bits em
grupos de oito bits, usualmente, chamados de bytes (byte - binary term). As capacidades so
medidas em nmero de bytes. Segue-se ento: 1 quilobyte = 1 Kbyte = 1 Kb = 1024 bytes,
1 megabyte = 1 Mbyte = 1 Mb = 1024 Kbytes, 1 gigabyte = 1 Gbyte = 1 Gb = 1024 Mbytes, etc.
Vimos que um sistema de numerao pode representar qualquer nmero natural.
Porm o computador tem limitaes e consegue representar apenas um subconjunto dos
nmeros naturais. Existe uma estrutura mais arrojada para representar tambm um
subconjunto dos nmeros reais. As limitaes comeam pelo fato de que um numeral no pode
ter infinitos dgitos! Assim, podem existir nmeros naturais e reais que no tm representao
no computador e muitas vezes os valores armazenados ou exibidos so apenas aproximaes.
Um byte (ou um conjunto de bytes), como unidade de informao, pode ser utilizado
ora para representar dados, ora para representar instrues. Sabemos que no computador tudo
est codificado. No poderia ser diferente no caso da representao de caracteres que so os
smbolos alfanumricos (dgitos, letras, etc.). Um cdigo binrio define a associao de um
certo conjunto de bits com a representao de um dado caractere e somente assim um texto
poderia ser tratado pela mquina.
Existem atualmente vrios sistemas de codificao de caracteres. O mtodo de
codificao mais amplamente difundido o cdigo ASCII (American Standard Code for
Information Interchange) em uso desde 1961. Esse sistema foi padronizado e modernizado no
final da dcada de 1980 pelo ANSI (American National Standards Institute). Aplica 1 byte para
representao dos caracteres (no inclui caracteres com acento, nem o cedilha). Por exemplo,
na codificao ASCII, o caractere A representado pelo cdigo (0100 0001) 2 ou 65, a
representado por (0110 0001)2 ou 97, Z dado pelo cdigo (0101 1010)2 ou 90 e z (0111
1010)2 ou 122, [branco] (0010 0000)2 ou 32, ! (0010 0001)2 ou 33, # (0010 0011)2 ou 35,
etc.
Na verdade a codificao ASCII atende muito bem comunicao em Ingls, mas
deficiente quanto s outras lnguas e sistemas de escrita. Com o objetivo de resolver este
problema, surgiram os padres ISO 8859 (ISO - International Organization for Standardization), em

Algoritmo e Estrutura de Dados I Prof. Ailton Cruz I.2.5

torno de 15 variaes, e ainda subconjuntos de padres ISO como a codificao Windows-1252 (ou,
cp1252, baseado no ISO 8859-1).

Com o avano do poder de armazenamento e processamento dos computadores,


surgiram codificaes para atender novas necessidades (como a Internet, principalmente) e
que podem ocupar at mais de um byte. Este o caso do padro Unicode, que ultrapassa uma
codificao de caracteres simples. um padro criado para permitir a representao e
manipulao de textos em qualquer sistema de escrita existente (latino, grego, chins, etc.). Ou
seja, nesse sistema podemos escrever palavras letras acentuadas e com cedilha, e caracteres
nas mais diversas lnguas que podem estar at na mesma pgina de texto. Existem ainda os
chamados esquemas padronizados de transformao (Unicode Transformation Format - UTF),
onde podemos destacar o UTF-8 (UTF em 8 bits). O UTF-8 tem comprimento varivel, pode
representar qualquer caractere Unicode e ainda compatvel com o ASCII. Pelas suas
vantagens, aos poucos, est sendo adotado como padro para a Internet.

Exerccios
Obs.: Verifique voc mesmo sua compreenso do texto e discuta com seus colegas de curso
no frum sobre os contedos. Mantenha sempre contato com seu tutor distncia.
1 - Elabore um mapa conceitual para resumir o contedo desta subunidade e que
sejam includos os conceitos seguintes: Bit(s), Byte(s), Dados, Instrues, codificao
ASCII, codificao Windows-1252 (ou, cp1252, baseado no ISO 8859-1), codificao UTF-8.
2 - Considere que a figura

representa um byte. Que nmero

est representado nela?


3 - Determine as representaes binrias dos nmeros: 345 e 103. Qual deles poderia
ser representado em apenas um byte?

1.2.2 O hardware
O esquema de funcionamento da estrutura fsica do computador normalmente
chamado de arquitetura. Destacamos aqui a arquitetura de von Neumann, segundo a qual est
baseada a maioria dos computadores atuais. Ela pode ser descrita pela seguinte figura:

Arquitetura von Neumann


Algoritmo e Estrutura de Dados I Prof. Ailton Cruz I.2.6

Ou seja, o sistema computador tipicamente formado por:


Unidade Central de Processamento (UCP) composta de:
Unidade de Controle (UC) e
Unidade de Aritmtica e Lgica (UAL);
Memria Principal (unidade de armazenamento residente) e:
Unidades Perifricas (de entrada e de sada).
Essas partes se combinam da seguinte maneira. A unidade de entrada admite um
programa que armazenado na memria principal na forma pronta para execuo (em
linguagem de mquina). A partir da a unidade de controle da UCP assume o controle de fato
das tarefas, seguindo rigorosamente a sequncia de instrues contidas no programa. Se
algum dado precisar ser recebido da entrada (do teclado, por exemplo), ela o captura e
armazena o mesmo em um local da memria principal temporariamente. Se um clculo
precisar ser feito, ela solicita este servio da unidade de aritmtica e lgica. Se algo precisa ser
impresso, ela envia para a unidade de sada (para o monitor de vdeo, por exemplo), e assim
por diante. Uma caracterstica marcante que tudo que admitido via unidade de entrada
passa, de alguma maneira, pela memria no computador.
O uso de uma analogia com o ser humano uma forma interessante de ajuda no
sentido de entender o princpio de funcionamento dessa arquitetura. Vejamos, por exemplo,
como realizamos a tarefa de emitir um comentrio a respeito de um dado texto escrito.
Primeiramente, providenciamos a leitura. Para tanto, apontamos nossos olhos (nosso
dispositivo de entrada nesse caso) para o texto e memorizamos seqencialmente cada palavra
(gravamos temporariamente na memria).
medida que as palavras vo chegando nossa memria, vamos organizando-as,
extraindo o significado de cada frase montada e, depois, do texto como um todo. Ento,
podemos conceber um comentrio que inicialmente existe somente na memria. Para que as
outras pessoas tomem conhecimento, o comentrio precisa ser emitido, externado. O
processamento vai da admisso de cada palavra at o instante de concepo do comentrio na
memria. Isto feito pelo crebro que nossa unidade de processamento (o computador tem a
sua UCP).
Finalmente, para externar o comentrio, ns, como seres humanos, temos vrios
meios. Pode ser atravs da voz, de gestos, de um texto escrito em papel, de um desenho, etc.
Cada forma de sada vai precisar de um dispositivo diferente (os braos, a boca, ou o gestual
do corpo como um todo). Analogamente, o computador tem seus dispositivos de sada
(monitor, impressora, etc.), cada um deles com suas peculiaridades.

Algoritmo e Estrutura de Dados I Prof. Ailton Cruz I.2.7

A unidade central de processamento (UCP)


A UCP (ou, CPU - Central Processing Unit - em ingls) o ncleo de comandos do
computador. De l feito todo o controle da mquina. Seus componentes esto reunidos em
um chip que denominamos de microprocessador. A palavra micro-processador utilizada
desde o surgimento dos microcomputadores, para diferenciar dos processadores que no
cabiam em chips!
Com a descrio da arquitetura von Neumann vimos que a unidade de controle da
UCP realmente controla todo o funcionamento desse modelo: distribui tarefas, transfere
informaes da entrada para a memria e da memria para a sada, controla tambm a
unidade de aritmtica e lgica e a memria. So tarefas da unidade de aritmtica e lgica, a
realizao das operaes de soma, subtrao, multiplicao e diviso e ainda as decises
lgicas (comparaes, decises sobre verdadeiro ou falso). Esta unidade utiliza parte da
memria na realizao de operaes intermedirias.
Trata-se de abuso de linguagem chamar de "CPU" o gabinete com todos os pertences
do microcomputador - unidades de disco, fonte de energia, a placa principal (ou placa-me),
interfaces, etc. O microprocessador e outros componentes (memrias, controladores de
dispositivos, etc) esto apoiados na placa principal e interligados convenientemente atravs de
um circuito impresso. Esta placa suporte tambm logicamente porque contm um chip que
armazena um programa de autoteste (testa os dispositivos e circuitos a ela ligados). Este
programa o BIOS (Basic I/O System), que inclusive d a partida no funcionamento do
microcomputador, como veremos mais adiante.
Os comentrios acima mostram que, ao abrirmos o gabinete do computador, no
iremos encontrar explicitamente o desenho mostrado na figura do inicio desta subunidade que
mostra a arquitetura von Neumann. Em sendo apenas um esquema de funcionamento, a citada
figura fica longe de ser um mapa fsico dos componentes do computador.

A memria
O termo "memria" pode ser usado genericamente para indicar as partes do
computador onde se armazenam dados e programas. Existe, ento, a chamada memria
principal e as demais, chamadas de secundrias. O acesso principal rpido e o
armazenamento s persiste o tempo de um processamento da UCP ( a memria RAM Random Access Memory). Uma memria secundria (o disco rgido, um pen-drive, por
exemplo) pode conter dados e programas permanentemente, independente de o computador
estar ligado ou no.
H um outro tipo de memria que permite apenas a leitura (a gravao feita pelo
fabricante) chamado de memria ROM (Read Only Memory). Com a evoluo dessa
tecnologia, a palavra ROM perdeu seu significado original e est sendo usada mais
informalmente para designar memrias onde o "interesse maior" na leitura (mas podem ser
Algoritmo e Estrutura de Dados I Prof. Ailton Cruz I.2.8

alteradas eventualmente). Um exemplo disto a memria onde est gravado o programa


BIOS.
A memria principal o dispositivo de armazenamento tanto de instrues quanto dos
dados utilizados durante a execuo de um programa. O fato de esses elementos terem-se
tornado internos ao computador corresponde principal caracterstica da arquitetura von
Neumann.
Podemos estabelecer uma metfora bastante oportuna: a memria como um
gabinete contendo compartimentos numerados qual caixas postais. Do mesmo modo que as
caixas

postais,

nmeros (na

memria,

chamados de

endereos) identificam

cada

compartimento.
Aproveitamos para introduzir aqui o conceito de varivel do ponto de vista do hardware.
O software pode agir sobre o hardware alocando espaos de memria. Esses lugares na
memria so chamados de variveis. No software, uma varivel tem um nome que o seu
identificador. O nome, o tipo e o endereo de cada varivel ficam registrados no computador
em uma tabela de alocao. acessando esta tabela que o computador pode recuperar o
contedo de uma varivel recebendo apenas o seu nome.
Continuando sob a metfora acima, os contedos das caixas postais podem ser
declarados ou no (respectivamente, variveis podem ser declaradas previamente ou no).
Ainda, do mesmo modo que certos objetos no cabem no exguo espao das caixas postais,
certos tipos de dados podem no caber em locais de memria no adequadamente
alocados. Surge, portanto, o conceito de tipo de dado em computao. Sucintamente, um tipo
corresponde a um formato atribudo ao dado (geralmente em tamanho prefixado em bytes).

Os perifricos
As unidades perifricas so de entrada e de sada, mas h ainda as que so hbridas.
A unidade de entrada recebe os dados passados pelo usurio (sejam letras, nmeros, ou sinais
magnticos) e os codifica de modo inteligvel para a unidade central de processamento (UCP).
O teclado um exemplo de equipamento de entrada, tambm o mouse, leitores de cdigo de
barras, etc. A unidade de sada recebe da UCP dados j processados e codificados e os revela
para o usurio. Ou seja, d um retorno na forma de palavras, nmeros, ou outros smbolos que
permitam ser visualizados de alguma maneira. Exemplos: o monitor de vdeo, impressora, etc.
As unidades perifricas chamadas de hbridas renem caractersticas de entrada e de sada.
Por exemplo, o disco rgido (ou, HD - Hard Disk) pode ser classificado dessa maneira. Dele,
dados podem ser lidos e depois regravados. Para serem visualizados, os dados do HD
precisam de outro dispositivo. O monitor, por exemplo.

Algoritmo e Estrutura de Dados I Prof. Ailton Cruz I.2.9

Exerccio
Obs.: Verifique voc mesmo sua compreenso do texto e discuta com seus colegas de curso
no frum sobre os contedos. Mantenha contato com seu tutor distncia e confira suas
respostas.
A partir do texto desta subunidade, elabore um mapa conceitual para descrever como
programa e dados circulam no computador segundo a Arquitetura von Neumann (onde
inserem-se: "Unidade Central de Processamento", "Unidade de Controle", "Unidade de
Aritmtica e Lgica", "Memria Principal", "Unidade de entrada" , "Unidade de sada").

1.2.3 O software
A cargo da manipulao dos elementos da arquitetura est o software. Os programas
que "rodam" no computador podem ser classificados como pertencentes a dois tipos de
software: o software de base e o software especfico.
O software de base rene os programas que preparam a mquina para o uso. Estes
programas atuam desde a verificao de componentes fsicos (pelo BIOS, por exemplo),
passando pelo gerenciamento particular de dispositivos (por drivers de dispositivos), at o
comando geral da mquina e suas relaes com o usurio (pelos sistemas operacionais).
O software especfico rene os programas aplicativos de uso geral (editores de texto,
planilhas, aplicativos das reas de Medicina, Engenharia, Contabilidade, etc.) e, de modo
particular, os programas tradutores (compiladores, interpretadores e montadores) que permitem
a gerao dos demais aplicativos.

Software de base
Quando o computador ligado, o processador desperta e envia uma mensagem para
ativar o BIOS (Basic I/O System). O BIOS o primeiro programa ser executado e essencial
para o funcionamento do computador. Est gravado num chip de memria do tipo Flash-ROM
(ROM regravvel eletronicamente). Este programa, fornecido pelo fabricante da placa-me,
promove a inicializao do computador (ou, a partida com valores iniciais) e permanece ativo
enquanto o mesmo estiver ligado.
A inicializao, tambm chamada de boot, consiste basicamente de dois passos.
Primeiramente executado um autoteste, ou POST (Power On Self Test), onde todos os
recursos de hardware como memria, discos, teclado, sistema de vdeo, portas de
comunicao (seriais e paralelas) e demais dispositivos so testados ou inicializados. Segundo,
o sistema operacional localizado e iniciado.
O BIOS verifica os dados obtidos nos testes comparando-os com os armazenados no
chip CMOS (Complementary Metal-Oxide Semicondutor). Esta memria (alimentada bateria)
contm informaes sobre a configurao do computador e atualizada toda vez que um novo

Algoritmo e Estrutura de Dados I Prof. Ailton Cruz I.2.10

componente de hardware adicionado ou quando usurio modifica via Setup. O Setup o


programa que permite configurar as funes executadas pelo BIOS.
Concludo o autoteste, o BIOS procura os arquivos de inicializao do sistema
operacional (ele iniciar a busca pelo dispositivo que for indicado via Setup geralmente o
disco rgido). O sistema operacional ento carregado na memria e passa a gerenciar o
computador, mantendo-se na memria (pelo menos em parte) enquanto o computador estiver
em uso. Mesmo com o sistema operacional j carregado, o BIOS tambm auxilia o sistema
operacional no acesso aos dispositivos, servindo desta maneira como uma interface entre o
sistema operacional e o hardware.
Os sistemas operacionais (por exemplo, Linux, Windows, DOS, etc.) so destinados a
gerenciar os recursos do computador, possuindo total "intimidade" com o hardware. So eles
que permitem a relao de trabalho do usurio com a mquina. Um menu de opes
(gerenciamento do hardware, manipulao de arquivos em disco, execuo de outros
programas, etc.) pode ser acessado atravs da interface do sistema, seja ela grfica (GUI
Graphical User Interface) como a do Windows ou de comandos como a do antigo DOS. A ao
de fato do usurio sobre o computador sobre o sistema operacional e isto deve acontecer da
maneira mais "amigvel" possvel. Isto , o sistema operacional do computador responsvel
pelo menos por: Estabelecer uma comunicao (interface) entre o usurio e o computador (por
comandos ou graficamente); Gerenciar e manter os sistemas de arquivos em disco; Executar
outros programas; Gerenciar o hardware (memria, discos, dispositivos perifricos, etc.).

Software especfico
O software especfico rene os programas de uso geral: so os aplicativos. Atravs dos
aplicativos podemos executar determinadas tarefas consideradas mais frequentes. Por
exemplo: edio de textos, elaborao de planilhas de clculo (planilhas eletrnicas),
gerenciamento de banco de dados, acesso Internet, etc.
So destinados, desde sua elaborao, a "rodar" sob um determinado tipo de sistema
operacional. Por exemplo, um software produzido para ser executado em ambiente Windows
no pode ser executado no DOS.
Entre os aplicativos mais populares, constam os editores de textos e as planilhas
eletrnicas. Os editores de textos so destinados manipulao de textos, facilitando-se a
correo ortogrfica, formatao de pgina, tabulaes, etc., e, finalmente, a impresso
definitiva. Utilizando-se planilhas eletrnicas, alguns tipos de clculos repetitivos sobre dados
tabulados, podem ser efetuados. Hoje, as planilhas eletrnicas permitem a execuo de
operaes que ultrapassam as simples operaes adio, subtrao, multiplicao e diviso.
possvel executar operaes lgicas e at fazer uso de funes predefinidas.
Seguindo o objetivo dessa disciplina, dentre os programas especficos, destacamos
aqui os programas utilizados para gerar novos programas, os chamados tradutores. So
programas que permitem a converso de cdigos escritos numa dada linguagem de
Algoritmo e Estrutura de Dados I Prof. Ailton Cruz I.2.11

programao para linguagem de mquina. As linguagens de programao so linguagens que


envolvem codificao especifica exclusivamente para elaborar programas. Embora no sendo
naturais, renem propriedades de linguagem verdadeiramente (possuem inclusive sintaxe e
semntica). Em resumo, elas surgiram como algo compreensvel para o homem, que pode ser
traduzida para algo compreensvel para o computador (apenas lembrando, o computador s
entende linguagem de mquina!).
De acordo com proximidade da linguagem humana ou da mquina, as linguagens de
programao so normalmente classificadas como de alto nvel no primeiro caso e de baixo
nvel, no segundo.
Os programas tradutores so classificados em montadores, compiladores e
interpretadores. Esta classificao acompanha a atribuda s linguagens, da seguinte maneira:
os montadores so tradutores de linguagens de baixo nvel e os compiladores e os
interpretadores so usados para traduzir as linguagens de alto nvel.
Por exemplo, a linguagem assembly uma linguagem de baixo nvel (possui uma
codificao mais prxima da linguagem de mquina) traduzida pelo montador assembler.
H uma grande variedade de linguagens de alto nvel (so mais prximas da
linguagem natural) como PASCAL, C/C++, FORTRAN, Java, Python, etc. As linguagens
FORTRAN e C, por exemplo, so linguagens compiladas e a linguagem Python uma
linguagem interpretada.
H diferenas entre os modos de traduo do compilador e do interpretador. Um
compilador um programa que analisa o cdigo do programa de entrada, ou programa fonte, e
gera um arquivo em cdigo binrio que pode ser gravado em disco em formato executvel
diretamente pelo sistema operacional (com extenso ".exe"). Um programa interpretador, por
sua vez, analisa e executa imediatamente cada comando do programa de entrada e mantendose ativo para tanto. O programa a ser interpretado tambm recebe o nome de programa fonte,
mas, a partir do fonte, o interpretador no gera um programa que seja executvel diretamente
pelo sistema operacional.

Exerccio
Obs.: Verifique voc mesmo sua compreenso do texto. Mantenha sempre contato com seu
tutor distncia.
Elabore um mapa conceitual para resumir o contedo desta subunidade de modo que
estejam presentes os conceitos seguintes: Sistema operacional, linguagem de mquina,
linguagem de programao alto nvel, linguagem de programao de baixo nvel
Compilador, Interpretador, Montador.

Algoritmo e Estrutura de Dados I Prof. Ailton Cruz I.2.12