Introdução a Programação 1 Prof. Mônica Py [email protected] Parte 2 - Software e Sistema...

23
1 Introdução a Programação Introdução a Programação Prof. Mônica Py [email protected] 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

Transcript of Introdução a Programação 1 Prof. Mônica Py [email protected] Parte 2 - Software e Sistema...

Page 1: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

1Introdução a Programação

Introdução a Programação

Prof. Mônica [email protected]

Parte 2 - Software e Sistema Operacional

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

Última adaptação: Prof. Valter Roesler

Page 2: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

2Introdução a Programaçã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

Revisão

Software e Sistemas Operacionais

Page 3: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

3Introduçã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

Page 4: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

4Introdução a Programação

• SISTEMA OPERACIONAL:– Conjunto de programas supervisores que gerenciam os

recursos (hardware e software) de um sistema de computação

– Funções:• 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, • transferir um arquivo do disquete para a memória principal, etc

– Ex.: MS-DOS, Windows, Linux, MacOS, Unix, ...

(software básico)

Software e Sistemas Operacionais

Aplicativos (solicitando recursos)

Hardware (recursos solicitados)

S.O.

Page 5: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

5Introdução a Programação

S.O.

Sistema Operacional (software básico)

Page 6: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

6Introdução a Programação

• 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.

Software e Sistemas Operacionais

Page 7: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

7Introdução a Programação

• 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, ...

Software e Sistemas Operacionais

Page 8: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

8Introdução a Programação

• 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, ...).

Software e Sistemas Operacionais

Page 9: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

9Introdução a Programação

• 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

– 3a geração - Linguagens orientadas ao usuário• LET SOMA = VAR1 + TOTAL• 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)

BAIXO NÍVEL

ALTO NÍVEL

Software e Sistemas Operacionais

Page 10: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

10Introduçã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

• Tradução: soma do dados armazenado no registrador 0001 com o dado armazenado na posição de memória 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

Page 11: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

11Introduçã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

Page 12: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

12Introduçã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…

• Principais linguagens:– Fortran (1954)– Cobol (1959)– Basic (1965)– Pascal (1975)– C (1980)

Exemplo em Pascal:program Exemplo;var a,b:integer; begin write ('Digite um número para A'); readln (a); write ('Digite o número para B'); readln (b); if (a > b) then writeln ('A é maior que B') else writeln ('B é maior que A'); end.

Page 13: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

13Introduçã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, SQLExemplo em DBASE:

List All Nome, Endereco, TelefoneFor Cidade = “Porto Alegre”

Tradução: lê todos os registros que compõem um arquivo e, para cada lido, seleciona aqueles cuja

cidade = “Porto Alegre”.

Page 14: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

14Introduçã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

Page 15: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

15Introdução a Programação

• 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.

TRADUTORCÓDIGO FONTE ... LET SOMA = VAR1 + TOTAL ... (linguagem de prog.)

CÓDIGO OBJETO ...

00010110111001011001011010 ... (“executável”)

Software e Sistemas Operacionais

Page 16: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

16Introduçã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

Page 17: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

17Introduçã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/)

Page 18: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

18Introduçã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

Page 19: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

19Introduçã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/

Page 20: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

20Introduçã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;

Page 21: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

21Introdução a Programação

Computadores e Pessoas

Page 22: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

22Introdução a Programação

Parte 2 - Redes e Comunicação de Dados

Ver apostila

Page 23: Introdução a Programação 1 Prof. Mônica Py mpy@inf.ufrgs.br Parte 2 - Software e Sistema Operacional Lâminas adaptadas do material do prof. Luciano V.

23Introduçã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)