Software Básico

Propaganda
Software
Professora Milene Selbach Silveira
Prof. Celso Maciel da Costa
Faculdade de Informática - PUCRS
ESQUEMA DE UM SISTEMA DE COMPUTADOR
Unidades
de
Entrada
- Teclado
- Scanner
- Caneta Ótica
- Leitora de barra
- Tela Sensível
- Mouse
-Modem
-Etc.
Unidade
Central
(U.C.P.)
Unid.
de
Controle
Unid.
Lógica e
Aritmética
Unidades
de
Saída
- Monitor
- Impressora
- Plotter
-Modem
-Etc.
Memória
Movimento dos dados e informações
Conceitos Básicos
• UCP
– é composta de circuitos eletrônicos
– coordena e controla todas as operações do
sistema
– é formada por processador e memória
• processador:
– unidade de controle (UC)
– unidade lógica-aritmética (ULA)
• memória
– unidade de armazenamento de instruções e dados
UCP
unidade de controle
Unidade aritmética e
lógica
Memória
0
1
2
3
4
5
...
N
Registradores
especiais
Representação esquemática da UCP
Conceitos Básicos
• Unidade de controle
– controla todas as operações do computador
– é formada por:
•
•
•
•
•
registrador de controle
registrador de instrução
decodificador
relógio
sequenciador
Conceitos Básicos
• Registrador de controle (contador de
programa - PC)
– contém o endereço de memória da próxima
instrução a executar
• Registrador de instrução (RI)
– contém a instrução que está sendo executada
a cada momento
– cada instrução contém:
• código da operação
• operandos ou endereços de memória dos mesmos
Conceitos Básicos
• Decodificador
– extrai e analisa o código de operação da instrução
que está em execução (que está no RI)
– emite os sinais necessários para a sua execução
• Relógio
– proporciona uma sucessão de impulsos elétricos a
intervalos constantes que sinalizam os instantes de
inicio de execução dos passos que constituem cada
instrução
Conceitos Básicos
• Sequenciador
– gera ordens sincronizadas pelos impulsos
do relógio que fazem com que a instrução
carregada no RI seja executada passo a
passo
Conceitos Básicos
• Unidade logica e aritmética
– realiza operações elementares de tipo
aritmético e de tipo lógico (comparações)
• é formada por:
– Banco de Registradores: armazenam dados antes de
cada operação, dados intermediários e servem para
operações internas do processador
– Circuitos operadores: circuitos eletrônicos que realizam
operações aritméticas e lógicas
– Registrador de resultados: armazena os resultados
produzidos pelos circuitos operadores
– Registrador de estado: contém informações sobre a
realização da operação anterior
Conceitos Básicos
• Memória Principal
– ë a parte da UCP que armazena instruções e
dados necessários para que um programa
seja executado
– é constituida por células ou posições de
memória numeradas de forma consecutiva
– é volátil
– permite acesso direto
Conceitos Básicos
• Memória Principal (cont.)
– palavra de memória: conjunto de células de
memória que podem ser lidas ou escritas de
uma só vez
– em geral é endereçada por byte
– possui dois registradores para as operações
de leitura e gravação: Registrador de
endereço de memória e Registrador
intermediário (buffer)
Conceitos Básicos
• Memória Principal (cont.)
– Registrador de endereço de mémória
• contém o endereço de memória onde se encontra ou
onde vai ser gravada a informação (instrução ou dado)
– Registrador Intermediário (buffer)
• leitura: recebe a informação da memória
• escrita: contém a informação a ser gravada
– Seletor: seleciona a célula de memória cujo
endereço se encontra no registrador de
endereços para a transferência (leitura/escrita)
Registrador de
endereço de memória
Seletor
Registrador
intermediário (buffer)
Memória principal
1
2
3
...
...
32
33
...
N
Visão esquemática da memória principal de um computador
O que é o software?
 O software corresponde à parte lógica do sistema de
computação.
Editores de texto, linguagens de programação, aplicações de
uso específico, como folhas de pagamento e controles de
estoque, todos estes são software. E muitos mais...
O software pode ser classificado em:
* Software Básico
* Software Aplicativo
Software Básico
 São os programas que definem o padrão do equipamento
sendo necessários para o funcionamento do computador.
Tipos de software básico:
* Sistema Operacional
* Ambiente Operacional
* Linguagens de Programação
* Tradutores
* Utilitários
Software Básico: sistema operacional (1/3)

É um sistema que controla e coordena todas as operações
básicas do sistema de computação: E/S, alocação de memória,
gerencia de dados (copiar, apagar, mover, renomear, etc.).
Existem diferentes sistemas operacionais. Os mais conhecidos
são o MS-DOS (para PC compatíveis), MUMPS, System 7, Unix,
Linux, etc.
Software Básico: sistema operacional (2/3)

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 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 primeira é totalmente transferida para a RAM
quando o sistema é ligado
* a segunda é carregada na memória à medida que
é solicitada
Software Básico: sistema operacional (3/3)

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, podem vir
gravados na memória ROM ou na EEPROM. O padrão é virem
em disquetes ou já gravados no disco rígido.
Os programas que compõem o sistema operacional são, na
maioria dos casos, escritos em uma linguagem de
programação de baixo nível.
Os sistemas operacionais podem ser classificados de acordo
com suas características de funcionamento em:
*
*
*
*
monousuário
multiusuário
monotarefa
multitarefa
Sistemas Operacionais
• Sistemas monoprogramados
– somente um usuário de cada vez pode
utilizar o sistema
SO
Programa
do
usuário
Sistemas Operacionais
• Sistemas Multiprogramados
– permitem a execução de vários
programas simultaneamente
SO
P1
P2
-Pn
Software Básico: ambiente operacional

Os ambientes operacionais adicionam recursos ao sistema
operacional para permitir uma interface gráfica com o usuário.
Podemos dizer que ele é um sistema operacional com recursos
gráficos. E o exemplo mais comum no nosso dia a dia é o
Windows.
Software Básico: linguagens de programação (1/4)

É 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
* linguagem de alto nível
Software Básico: linguagens de programação (2/4)

Linguagem de máquina: é baseada em código binário (0s e
1s) e é utilizada diretamente pelo computador.
Linguagem de
máquina
Significado
0010 0001 1110
carrega no registrador 1 o conteúdo da
posição de memória 14
0010 0010 1111
carrega no registrador 2 o conteúdo da
posição de memória 15
0001 0001 0010
soma o conteúdo do registrador 1 com o
conteúdo do registrador 2 e coloca no
registrador 1
0011 0001 1111
armazena o conteúdo do registrador 1 na
posição de memória 15
Software Básico: linguagens de programação (3/4)

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.
Linguagem de máquina
Linguagem de baixo nível
0010 0001 1110
LOAD R1, val1
0010 0010 1111
LOAD R2, val2
0001 0001 0010
ADD R1, R2
0011 0001 1111
STORE R1, val2
Software Básico: linguagens de programação (4/4)

Linguagem de alto nível: utiliza 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.
Linguagem de
máquina
Linguagem de
baixo nível
0010 0001 1110
LOAD R1, val1
0010 0010 1111
LOAD R2, val2
0001 0001 0010
ADD R1, R2
0011 0001 1111
STORE R1, val2
Linguagem de
alto nível
val2 = val1 + val2
Software Básico: tradutores (1/2)

Os tradutores que lêem uma linguagem de programação e a
transformam para linguagem de máquina (a única coisa que o
computador entende). 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?
Software Básico: tradutores (2/2)

Mas qual a diferença entre interpretador e compilador?
Compilador
Interpretador
Lê e analisa todo o programa fonte
(escrito em linguagem de alto nível)
e traduz para linguagem de
máquina.
Interpreta cada comando e executa.
Faz linha a linha. Não traduz todo o
programa para depois executar.
Cria um programa objeto que
corresponde às instruções em
linguagem de máquina.
Não gera programa objeto.
Executa-se direto o programa
objeto.
Executa-se o programa fonte e
sempre é necessário interpretar
antes.
Traduz tudo de uma vez. Se
encontrar erro, é preciso voltar ao
programa fonte, corrigir, recompilar
e executar novamente o programa
objeto.
Se encontrar erro avisa na hora.
Então, se edita o programa fonte,
corrige-se o erro e interpreta-se
novamente.
Produção de um programa
• Elaboração de um Algoritmo
• Programação do algoritmo em uma
linguagem -> Programa Fonte
Compilação do programa Fonte
Programa objeto
• Execução do programa
Produção de um programa
Programa
Fonte
Compilação
Programa
Objeto
Produção de um programa
(Linguagem C)
main ()
{
int a, b , c ;
c = 9;
b = 15 ;
a=b+c;
printf (“Valor da soma de a e b : %d\n”, a ) ;
}
Produção de um programa
(Basic)
PRINT (“digite um numero”)
INPUT a,
PRINT (“digite outro numero diferente do anterior”)
INPUT b
IF a > b THEN
PRINT (“o primeiro numero e o maior”)
ELSE
PRINT (“o segundo numero e o maior”)
ENDIF
Produção de um programa
(Basic)
i=0
WHILE i < 10
PRINT (“digite um numero”)
INPUT a,
PRINT (“digite outro numero diferente do anterior”)
INPUT b
IF a > b THEN
PRINT (“o primeiro numero e o maior”)
ELSE
PRINT (“o segundo numero e o maior”)
ENDIF
i=i+1
WEND
Software Básico: 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. Por exemplo:
* 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.
* 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 tentam eliminá-lo.
Software Aplicativo
 São os programas voltados para a solução de problemas do
usuário. Podem ser de:
Tipos de software aplicativo:
* Uso geral: são programas que podem ser utilizados em
vários tipos de aplicações. Por exemplo: 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. Por exemplo: folha de pagamento, crediário,
imposto de renda, cadastro, contas a pagar e receber, etc.
Bibliografia consultada
Meirelles, Fernando de Souza. Informática: novas aplicações com
microcomputadores. 2a edição atualizada e aplicada. São Paulo:
Makron books, 1994.
Download