Sei sulla pagina 1di 23

Introdução a Programação

Prof. Mônica Py
mpy@inf.ufrgs.br

Parte 2 - Software e Sistema Operacional


Lâminas adaptadas do material do prof. Luciano V. Flores
e Patrícia Jaques

Última adaptação: Prof. Valter Roesler

1
Introdução a Programação
Software e Sistemas Operacionais

Revisão
• Hardware
– http://iosII.swf

• Software:
– Quanto a finalidade de seu desenvolvimento:
• Básico: Sistema Operacional e utilitários
• Aplicativo
– Quanto as regras que regem seu uso,
distribuição e modificação:
• Software livre
• Software proprietário

2
Introdução a Programação
Software Básico
• Conjunto de software que permite ao usuário
criar, depurar e modificar as aplicações
criadas por ele.
• São exemplos de sw básico:
– Sistema Operacional
– Linguagem de Programação
– Interfaces Gráficas
– Utilitários

3
Introdução a Programação
Software e Sistemas Operacionais

• SISTEMA OPERACIONAL: (software básico)


– Conjunto de programas supervisores que gerenciam os recursos
(hardware e software) de um sistema de computação
Aplicativos
– Funções:
(solicitando recursos)
• Gerência de memória;
• Gerência de processador;
• Gerência de arquivos;
• Gerência de dispositivos de E/S (periféricos)
– Tarefas específicas:
• ler a tecla pressionada no teclado, S.O.
• transferir um arquivo do disquete
para a memória principal, etc

– Ex.: MS-DOS, Windows, Linux, Hardware


MacOS, Unix, ... (recursos solicitados)

4
Introdução a Programação
Sistema Operacional (software básico)

S.O.

5
Introdução a Programação
Software e Sistemas Operacionais
• Classificação quanto a:
– interação com o usuário;
– nro. de programas em execução;
– tempo de resposta exigido.
• Tipos de Sistemas Operacionais
– Batch:
• Programas do usuário submetidos em lote e executa-dos em
seqüência, sem interação do usuário. No fim este só recebe uma
listagem com os resultados.
• Tempo de resposta pode variar de minutos a horas.
– Monousuário-Monotarefa:
• Um usuário interage com a máquina, que executa uma tarefa de
cada vez. Surgiu com os micro-computadores. Ex.: DOS.

6
Introdução a Programação
Software e Sistemas Operacionais
• Tipos de Sistemas Operacionais
– Monousuário-Multitarefa:
• Um usuário interage com a máquina, porém mais de uma tarefa
pode ser executada ao mesmo tempo. Ex.: Windows, OS/2.
– Multiusuário-Multitarefa:
• Um processador usado por vários usuários ao mesmo tempo,
executando várias tarefas, pelo processo de time sharing. Ex.: Unix,
Linux.
– SO de Tempo Real:
• Controle de máquinas através de sensores, com resposta em
pouquíssimo tempo. Ex.: Informática Industrial, monitoração de
pacientes, ...

7
Introdução a Programação
Software e Sistemas Operacionais

• Interface Gráfica:
– As ordens e os comandos para um sistema operacional,
ou outro tipo de software, são dadas através de
símbolos gráficos, mais fáceis de serem entendidos pelo
usuário.
– Ex.: Windows, MacOS, ...
– Elementos:
• Janelas,
• Ícones,
• Menus, etc...
– Dispositivos apontadores, para entrada de dados
(mouse, tela sensível ao toque, ...).

8
Introdução a Programação
Software e Sistemas Operacionais

• LINGUAGENS DE PROGRAMAÇÃO:
– 1a geração - Linguagens de máquina
• 0010 0001 0110 1100
– 2a geração - Linguagens de montagem (assembly)
• ADD R1, TOTAL BAIXO NÍVEL
– 3a geração - Linguagens orientadas ao usuário
• LET SOMA = VAR1 + TOTAL ALTO NÍVEL
• IF SOMA > 3 THEN EXIT
– 4a geração - Linguagens orientadas à aplicação
• LIST ALL NOME, ENDERECO, TELEFONE
• FOR CIDADE = “PORTO ALEGRE”
– 5a geração - Linguagens de conhecimento (IA)

9
Introdução a Programação
1a geração - Linguagens de máquina
• Linguagem de máquina escrita em notação
binária
– Exemplo:
0010 0001 0110 1100

Endereço da posição de
memória que contém o dado

Endereço do registrador

Código da operação: Adição

• Tradução: soma do dados armazenado no


registrador 0001 com o dado armazenado
na posição de memória 0110 1100
10
Introdução a Programação
2a geração - Linguagens de máquina
• Linguagem de baixo nível
• Elimina a notação binária
– Assemblers (montadores)
• Usam códigos mnemônicos com letras e
números para representar os comandos
• Exemplos:
– LOAD B carrega no registrador o dado que está
no endereço B
– ADD A adiciona ao registrador o dado que
está no endereço A
Linguagem Humana

11
Introdução a Programação
3a geração - Linguagens de máquina
• Linguagem de alto nível
• Usam comandos com nomes geralmente
auto-explanativos
– Exemplo: read, write, if, open… Exemplo em Pascal:
program Exemplo;
• Principais linguagens: var a,b:integer;
– Fortran (1954) begin
write ('Digite um número para A');
– Cobol (1959) readln (a);
– Basic (1965) write ('Digite o número para B');
readln (b);
– Pascal (1975) if (a > b) then
– C (1980) writeln ('A é maior que B')
else
writeln ('B é maior que A');
end.
12
Introdução a Programação
4a geração - Linguagens de máquina
• Linguagem orientada à aplicação geram
código a partir de expressões de alto nível
• Exemplo: DBASE, SQL

Exemplo em DBASE:
List All Nome, Endereco, Telefone
For Cidade = “Porto Alegre”

Tradução: lê todos os registros que compõem um


arquivo e, para cada lido, seleciona aqueles cuja
cidade = “Porto Alegre”.

13
Introdução a Programação
5a geração - Linguagens de máquina
• Inteligência Artificial
– São criadas bases de conhecimentos, obtidas a
partir de especialistas, e as linguagens fazem
deduções, inferências e tiram conclusões baseadas
nas bases de conhecimento.
• Exemplos: Prolog, Lisp, Art

14
Introdução a Programação
Software e Sistemas Operacionais

CÓDIGO FONTE TRADUTOR CÓDIGO OBJETO


... LET SOMA = VAR1 + TOTAL ... ... 00010110111001011001011010 ...
(linguagem de prog.) (“executável”)

• MONTADOR (assembler)
– Tradutor para linguagens de 2a geração.
• COMPILADOR:
– Traduz todo o programa de uma vez.
• INTERPRETADOR:
– Traduz o programa instrução por instrução.

15
Introdução a Programação
Softwares Aplicativos
• Acrobat Reader
– permite exibir e imprimir arquivos com a extensão pdf
(extensão pdf).
– PDF:
• PDF é uma extensão de arquivo em um formato proprietário
pertencente à empresa norte-americana Adobe.
• Por que tantas pessoas usam pdf?
• Arquivos menores;
• arquivos que podem ser lidos em qualquer máquina
independente do sistema operacional;
• arquivos que não podem ser modificados.
• Leitor de arquivos pdf (Acrobat Reader) é gratuito e
pode ser encontrado no site:
– http://www.adobe.com/products/acrobat/readstep2.html

16
Introdução a Programação
Tipos de SW
• SW Livre:
– termo criado por Richard Stallman (da Free
Software Foundation) em 1983.
– Refere-se a liberdade dos usuários para
executarem, copiarem, distribuírem, estudarem,
modificarem o sw melhorado.
– Exemplos:
• Linux
• OpenOffice (http://www.openoffice.org/)

17
Introdução a Programação
SW Proprietário
• SW que não é livre ou semi-livre. Seu uso,
redistribuição ou modificação são proibidos
ou são cercados de tantas reestrições que na
prática não são possíveis de serem realizados
livremente.
• É necessário comprar uma licença para cada
máquina.
• Formas alternativas:
– Licença de Uso Empresarial
– Versão para a rede

18
Introdução a Programação
Demos, Freeware, Shareware
• Demos:
– sw em versão reduzida distribuído livremente
• Freeware:
– totalmente gratuito para execução. O autor detém
o copyright
• Shareware:
– distribuídos gratuitamente por um período
experimental.
– Só funcionam durante um período.
• Site repositório de freeware e sharewares:
– http://www.tucows.com.br/

19
Introdução a Programação
Computadores e Pessoas
• A maioria das organizações tem algum tipo de
departamento de tecnologia da informação!!
– Pessoas responsáveis pelos recursos de informática;
– Pode fazer a manutenção de dados e prover serviços
aos usuários finais;
– Exemplos:
• Operadores de entrada de dados preparam dados para o
processamento;
• Operadores de computadores monitoram o sistema,
mantém e fazem backups;
• Programadores escrevem, testam, implementam e
mantêm programas;
• Analistas planejam e projetam sistemas;

20
Introdução a Programação
Computadores e Pessoas

21
Introdução a Programação
Parte 2 - Redes e
Comunicação de Dados
Ver apostila

22
Introdução a Programação
“Se o automóvel tivesse se desenvolvido
como o fizeram os computadores nos
últimos 40anos, hoje um Rolls-Royce
custaria U$ 2,00, faria um milhão de km
por litro de gasolina, produziria energia
suficiente para movimentar o Queen
Elizabeth e dez deles caberiam numa
cabeça de alfinete”
Prof. Edward Eteinmuller (Universidade de Stanford)

23
Introdução a Programação

Potrebbero piacerti anche