Introdução à informática - Faculdades Integradas Simonsen

Propaganda
Disciplina: Introdução à informática
Profª Érica Barcelos
CAPÍTULO 3
1. ARQUITETURA DO COMPUTAÇÃO- SOFTWARE
Vimos nos capítulos anteriores que durante muitas décadas vários projetos
foram realizados para alcançar o que conhecemos como computador. Porém,
precisamos compreender que essa máquina, indispensável para nossas atividades,
é constituída de muitas partes. Todas organizadas de maneira harmoniosa, cada
qual com objetivo bem definido e esse conjunto forma o que chamamos de sistema
de computação.
A cada década novas tecnologias despontam permitindo a ampliação do
conceito de computador e consequentemente do conceito de informática, contudo
todo sistema de computação preserva uma arquitetura fundamental. A grosso
modo, podemos compará-lo ao corpo humano onde a evolução não modificou a
estrutura de funcionamento (Cérebro, coração, pulmão, estômago etc.). Por mais
recursos que a vida moderna nos ofereça, ainda somos mantidos vivos graças ao
bom funcionamento dessas partes que trabalham em conjunto.
Atualmente estamos vivenciando a geração dos Tablets, Smartphones,
Ipods, Netbook, Notebooks. Todos derivados dos conceitos herdados dos
computadores eletrônicos constituídos de Chips (Geração do circuito integrado)
sendo assim, embora haja particularidades, também são constituídos da mesma
base dos microcomputadores.
A partir deste capítulo serão apresentadas as partes constituintes da
arquitetura funcional de um computador, os softwares e hardwares envolvidos
nesse processo, contudo antes de analisarmos amplamente essas arquiteturas
alguns conceitos necessitam de uma breve descrição:
Arquivos- Informações lógicas constituídas de códigos que seguem um
determinado padrão. Os arquivos são armazenados em discos através do seu nome
e uma combinação de três letras chamada de extensão, exemplo: Casa.doc.
Programas- É uma sequencia lógica de instruções que determina ao
computador o que ele deve fazer. Eles são executados pelos processadores e seus
códigos podem ser armazenados em disco em forma de arquivos.
26
1.1. SOFTWARES
Chamamos de softwares o conjunto de códigos organizados logicamente
capazes de instruir o processador sobre como tratar uma determinada instrução ou
pedido feito pelo usuário. Os softwares possuem diferentes formatos e objetivos,
eles podem ser programas aplicativos, sistema operacional, arquivo, compilador,
interpretador, etc.
Para facilitar os estudos iremos dividi-los em três grupos: Básicos, utilitários e
aplicativos.
SOFTWARES
BÁSICOS
UTILITÁRIOS
APLICATIVOS
1.1.1. Básicos
Os softwares relacionados a essa categoria são extremante importantes, pois
formam a base de comunicação entre os componentes físicos (periféricos,
memórias, placas) e o usuário. Os representantes mais importantes desse grupo
são: Sistema operacional e tradutores.
O desenho abaixo ilustra essa distribuição e suas subdivisões:
BÁSICOS
SISTEMA
OPERACIONAL
TRADUTORES
Monotarefa
Montador
Multitarefa
Compilador
Interpretador
27
•
Sistema Operacional
O sistema operacional organiza e gerencia o funcionamento do computador,
também proporciona a interface de comunicação entre o usuário e a máquina. Sem
ele os usuários necessitariam de um profundo conhecimento dos equipamentos o
que tornaria o trabalho complexo e lento.
Ao longo das décadas surgiram diferentes sistemas operacionais, os
primeiros permitiam que todos os recursos (memória, processador e periféricos)
fossem exclusivos de uma única tarefa (Monotarefa) e utilizados por um único
usuário (Monousuário). Um representante dessa geração de sistema operacional
foi o MS DOS da Microsoft.
Os sistemas conhecidos como multiprogramáveis ou multitarefas, permitem
que os recursos do computador sejam compartilhados entre várias aplicações
(tarefas), pois enquanto um programa aguarda por uma operação de leitura ou
gravação, o outro pode estar sendo processado neste intervalo de tempo. Nesse
sistema a forma de interação do usuário pode ser monousuário (Computadores
pessoais) ou multiusuário (Servidor de uma rede de computadores). Os sistemas
multitarefas são mais complexos, pois são mais propensos a erros de processos, os
mais populares são: LINUX, Windows, OS/2.
A tabela abaixo relaciona os tipos de sistemas em função do número de
usuários:
Tipo
Monoprogramação/
Monotarefa
Multiprogramação/
Multitarefa
Um usuário
Dois ou mais usuários
SIM
NÃO
SIM
SIM
Devida às necessidades do mercado foram desenvolvidos diferentes
sistemas multitarefas:
o
Sistema batch:
28
Foram implementados na década de 60, também chamados de Jobs,
eram submetidos para execução através de cartões perfurados e a
forma de armazenamento era em disco ou fita.
Não exigem a interação do usuário, todas as entradas e saídas são
fornecidas por um tipo de memória secundária. Foram utilizados para
Backups e cálculos numéricos.
Tempo Compartilhado (time-sharing):
o
Permitem que vários programas sejam executados a partir da divisão de
tempo do processador utilizando a ideia de fatia de tempo, onde cada
aplicação tem uma porção do tempo de forma variada. Eles permitem a
interação dos usuários através de terminais que incluem vídeo, teclado e
mouse. A comunicação com esse sistema é através de comandos e isso
além de agilizar as respostas reduz o custo.
Tempo real (real-time)
o
Sua diferença em relação ao anterior está no tempo exigido no
processamento das aplicações. Enquanto nos sistemas de tempo
compartilhado o tempo podia variar, nesse sistema ele é definido de
forma rígida não há a ideia de fatia de tempo. Eles estão presentes em
sistemas de controles como: Controle de tráfego aéreo, controle de
usinas nucleares ou qualquer aplicação onde à variação de tempo pode
ser fatal.
•
Tradutores
Programa fonte
Tradutor
Programa Objeto
Os computadores reconhecem instruções binárias também conhecidas como
linguagem de máquina. Os programadores modernos utilizam como meio
29
comunicação letras, palavras, símbolos etc. Para que haja a comunicação
entre programador e computador é necessário que ocorra uma conversão.
Os tradutores leem uma linguagem de programação (programa fonte) e a
transforma para uma linguagem de máquina (programa objeto). Ao longo dos
anos foram desenvolvidos diferentes tradutores, vejamos o que cada um faz:
o
Montador
Responsável pela montagem do programa fonte, gerando assim o
programa objeto, ou seja, monta um programa em linguagem de baixo
nível de forma que se obtém um programa em linguagem de máquina.
Podemos citar como exemplo o montador Assembler que é um software
que traduz programas escritos na linguagem Assembly.
o
Compilador
Gera uma linguagem de máquina, não executável, a partir de um
programa escrito em linguagem de alto nível como Pascal, FORTRAN,
COBOL.
o
Interpretador
É considerado um tradutor que não gera módulo objeto, ele executa uma
linguagem de alto nível imediantamente. Algumas linguagens tipicamente
interpretadas são Basic e Perl.
30
Comparação entre compilador e interpretador :
Compilador
Interpretado
r
Linguagem de
alto nível
Linguagem de
alto nível
Programa
Objeto
Execução
Execução
1.1.2. Utilitários
Os softwares incluídos nessa categoria complementam o sistema operacional
e muitos deles, supri deficiências encontradas nas programações dos sistemas ou
previnem futuros problemas. Não são utilizados de maneira corriqueira pelo usuário,
são específicos e normalmente acionados por profissionais especializados.
Um exemplo de software utilitário é o antivírus, tornou-se comum em virtude
do número de sistemas infectados. Contudo, não é de uso corriqueiro trabalhando
em silêncio com o intuído de prevenção de ameaças. Além dos antivírus também
são exemplos de software utilitários os compactadores de arquivos, programas para
backups, programas para limpeza de registros e alguns específicos para
computadores de grande porte.
1.1.3. Aplicativos
Diferentemente dos utilitários, os softwares aplicativos são desenvolvidos
para o dia a dia do usuário. Atendem a uma necessidade do cotidiano e são
desenvolvidos pensando no usuário final, podendo ser empresarial, de simulação,
para escritórios, educacionais etc.
31
Quando desejamos que o computador faça algo acionamos os programas
aplicativos esses, interagem com os softwares básicos, que por sua vez, direciona
o hardware para executar as tarefas solicitadas. Eles são desenvolvidos de duas
maneiras: Aplicativo proprietário (Destinado a resolver um problema único e
específico, geralmente criado para organizações) e aplicativo padronizado
(Comprado,
alugado
ou
licenciado
de
uma
empresa
especializada
em
desenvolvimento).
Os aplicativos evoluíram com o sistema operacional, portanto adquiriram
facilidades oriundas dos sistemas como, por exemplo, o uso do mouse para gerar
comandos, a estrutura de janelas para acessar recursos, linguagem de
comunicação gráfica rica em ícones.
32
BIBLIOGRAFIA DO CAPÍTULO
MACHADO, Francis B.; MAIA, Luiz Paulo. Arquitetura de sistemas operacionais.
Editora LTC, 3ª edição.
33
Download