Introdu¸c˜ao aos Computadores - FCUP - Departamento de ...nam/aulas/0102/ic/slides/sliic01.pdf ·...

Preview:

Citation preview

Introducao aos Computadores

Objectivos

Nocoes basicas sobre estrutura e funcionamento de computadores electronicosdigitais.

Topicos do Programa

(Nao pela ordem que serao abordados)

• Representacao e processamento de informacao

• Arquitectura e Organizacao

• Linguagens de programacao

• Sistemas de operacao

• Aplicacoes (quase nada...)

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 1

Avaliacao

Criterio de frequencia

Aprovacao nos testes laboratoriais efectuados durante o semestre. Para a aprovacaoe necessaria a obtencao da de pelo menos 3 valores em 9, na media das classificacoesdessas provas.

Metodo de Avaliacao

1. Tres provas praticas. Valorizacao: 9 valores.

• 31/10• 28/11• 12/12

2. Exame final. Valorizacao: 11 valores. Nota mınima: 3 valores

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 2

Bibliografia

1. J. Glenn Brookshear, Computer Science, an overview, Addisson Wesley, Part 1-2

2. Dewdney, The New Turing Omnibus, 66 Excursions in Computer Science,Freeman and Company. 1993 Alguns capıtulos

3. Learning the UNIX Operating System, O’Reilly (LU)

4. Learning the bash shell, O’Reilly Alguns capıtulos

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 3

Um computador (ACTUAL) visto peloSOFTWARE

Aplicacoes Para aquilo que se usa o computador....Sofware de Sistema

• Editores

• Compiladores e assembladores

• Sistemas de operacao

? Sistema de Ficheiros? Drivers de perifericos? Administracao de Memoria? Interfaces com o utilizador? Redes

• Sistemas de janelas

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 4

Um computador (ACTUAL) visto peloHARDWARE

Abrindo a “caixa principal”

• Motherboard

• Memorias (RAM)

• Placa grafica

• Placa de som

• Interfaces de leitores de memorias auxiliares (SCSI,IDE,USB,...)

• Interfaces serie, paralelos

• Placas de rede

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 5

Memorias auxiliares e (leitores de)

• Disquetes

• Discos rıgidos

• CD-ROM/ CD-Write/ DVD ...

• Fitas magneticas

Perifericos de entrada/saıda

• Monitor

• Teclado

• Rato

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 6

• Impressoras

• Scanners

• Maquinas fotograficas digitais

• ...

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 7

Modelo de um Computador

Abstraindo o “hardware” fica:

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 8

Encaixando os nıveis ate ao utilizador:

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 9

Mas o que e um computador?

Maquina de uso geral que permite representar emanipular informacao.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 10

Breve Historia dos Computadores

[Bro97, Cap.0]

Uma boa panoramica da historia[Gol]

http://www.museums.reading.ac.uk/vmoc/

Maquinas Digitais/Analogicas e Electrocinas/Mecanicas

Abaco ( 1000 BC) (Digital, Mecanico) http://java.sun.com/applets/archive/beta/Abacus/

So guarda os dados...

Ainda e usado hoje em todo o Oriente e ... nas Bolsas...

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 11

Maquinas de calcular Pascal (1623-1662) e Leibniz (1646-1716)

Digitais, mecanicas.

Efectam operacoes aritmeticas.

Adicao e subtracao

Multiplicacoes

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 12

Tear de Jacquard (1801) Control por cartoes perfurados

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 13

Maquina de diferencas Babbage (1792-1871) (Digital, mecanica)

Calculo de polinomios sem efectuar multi-plicacoes. Objectivos: calculo de tabelas para Astronomia, Navegacao, Balistica,etc. Um exemplar foi recentemente construıdo e encontra-se no Museu da Cienciade Londres.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 14

Maquina de calcular integrais Thomson (1822-1892).

Analogica, Mecanica

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 15

Maquinas de tabulacao Hollerith (1890) (Digital)

Leitores de cartoes perfurados, contadores, ordenadores.

Aplicacao: Censos

(Precurssor da IBM)

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 16

Analisadores Diferenciais Bush 1927:

Resolver certas equacoes diferenciais. Analogicos.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 17

Primeiro computador de uso geral (18??)

Maquina (analıtica) de Babbage. Digital, mecanica.

Organizacao: unidade de computacao, memoria, perifericos de entrada e saıda.Baseada nos teares de Jacquard. A maquina era impossıvel de construir na epoca.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 18

Primeiros computadores electronicos (194?) (1a¯ Geracao) Digitais

Usam Valvulas.

Maquinas de Von Newmann: unidade aritmetica e logica, memoria, unidade decontrolo, unidade de saıda e unidade de entrada.

Atanasoff (1937 decimal) COLOSSUS (Inglaterra)

MARK I (1944)

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 19

ENIAC e EDVAC (Eckert e Mauchley) (18000valvulas, 100 multiplicacoes/segundo; programa em hardware); IAS (Goldstine eJohn von Newmann)

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 20

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 21

UNIVAC (1950) electronico, com programa em memoria

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 22

C.E. (1960-1968) (2a¯ Geracao) Usam transıstores. Memorias de “core”.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 23

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 24

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 25

C. E. (1969-1977) (3a¯ Geracao) Usam circuitos integrados. Minicomputadores.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 26

1978-???? (4a¯ Geracao) VSLI (Very Large Scale Integration)

Um grande numero de transıstores num unico micro-chip. Microprocessadores.Microcomputadores e arquitecturas RISC.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 27

Representacao de informacao

Qual ?Numeros, caracteres, imagens e som

Como ?Analogica ou Digital

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 28

Representacao analogica

Os numeros sao representados por medidas de grandezas fısicas:

• intensidade da corrente electrica

• graus de rotacao dum disco

• comprimentos de reguas

As operacoes aritmeticas sao efectuadas em termos fısicos.

Ex: para multiplicar dois numeros produz-se uma corrente cujo valor e o produtodos factores.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 29

Maquinas analogicas

Dada uma formula simulam o seu comportamento por processos fısicos.

Regua de calculo: Duas reguas graduadas com o logaritmo dos numeros, quedeslizam uma sobre a outra.

Os numeros sao representados por comprimentos. Operacao adicao.

Maquina de integrar (Thomson(1822-1892) : calculo de areas.

Analizador Diferencial de Bush.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 30

Resolver problemas analogicamenteExemplos

• Ordenacao de numeros (Metodo “Spaghetti”)

• Menor caminho num grafo (“Fios”)

([Dew93, Cap. 33,“Analog computation”])

Desvantagens

• A razao entre sinal/ruıdo e muito grande e o ruıdo e aleatorio

Ex: Na multiplicacao:s1 × s2 = p1 + Ruido

• Maior parte de uso especıfico

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 31

Representacao digital

Os numeros sao representados por uma sequencia de dıgitos.

Exemplo: Base de numeracao decimal.

Operacoes: +, ×, −, /.

Erros: Devidos ao numero limitado de dıgitos usados na representacao

Ex: Na multiplicacao de 2 numeros de 10 dıgitos obtemos um de 20 dıgitos.

s1 × s2 = p1 + erro de arredondamento

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 32

Linguagem dos computadores electronicosdigitais

Sımbolos Sinais electricos: ligado/desligado (1/0).

O alfabeto duma maquina electronica tem duas letras (0 e 1): cada “letra” e umbit ou dıgito binario.

Palavras Cada palavra e um conjunto de bits (numero binario)

O que representam Nos computadores digitais (actuais) tanto os dados comoas instrucoes sao codificadas em binario.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 33

Representacao da informacao com 0 e 1

00001101 ⇒ numero 13 em

binario com 8 bits

01001000111 ⇒ codigo da in-

strucao de soma

de dois inteiros

000111000110010010011111 ⇒ Uma cor em RGB ...

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 34

Hierarquia de abstracoes de computador

Nıvel Abstracoes

0 Logica digital1 Microprograma2 Linguagem maquina3 Nucleo do sistema de operacao4 Linguagem Assembly5 Linguagens de Programacao6 Aplicacoes

Logica digital abstraccao dos circuitos electronicos dum

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 35

computador.E implementada por circuitos, chamados

portas, que aceitam uma ou mais entradas digitais (0

ou 1) e produzem uma saıda que e uma funcao logica

das entradas (∧ ou ∨). As portas sao constituıdas de

transistores ou outros circuitos electronicos.

Microprograma Implementa (se existir) o conjunto de

instrucoes da linguagem maquina.

Linguagem maquina (Arquitectura) conjunto de in-

strucoes basicas com que se pode programar um

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 36

computador (processador). Por exemplo, adicionar 2

numeros, mover dados de um endereco para outro,

determinar se um numero e zero.

Nucleo do sistema de operacao conjunto de progra-

mas que ajudam a manipular um computador e

perifericos.

Linguagem Assembly Representacao simbolica das in-

strucoes da linguagem maquina

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 37

Linguagens de Programacao de alto nıvel C, Pascal,

Prolog. . . Compiladores ou interpretadores traduzem es-

tas linguagens para instrucoes maquina.

Aplicacoes do sistema

Aplicacoes para os utilizadores

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 38

Sistemas de Operacao

• maquina virtual que esconde a complexidade do hard-

ware e facilita a utilizacao dum computador.

• permite a administracao eficiente dos recursos

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 39

Funcoes dum S.O• interface com o utilizador

• partilhar o hardware entre utilizadores

• distribuir os recursos entre utilizadores

• facilitar as operacoes de entrada/saıda

• organizar as memorias auxiliares em unidades logicas

• controlar a execucao de programas: executar, inter-

romper, reactivar e terminar

• recuperacao de situacoes de erro

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 40

Breve historia e evolucao dosS. O.

Geracoes de computadores

[Bro97, 3.1]

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 41

1a¯ Geracao (1940-1955)

(ENIAC)

• tecnologia baseada em valvulas.

• programacao em hardware.

• um programa em execucao em cada momento, uma

tarefa (job)

• computadores pessoais de uso cientıfico.

• entrada de dados e de programa em cartoes perfurados.

(O S.O era o programador=utilizador, ...)

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 42

2a¯ Geracao (1955-1965)

IBM 7064, NCR 1400

• tecnologia baseada em transıstores.

• salas de operacao: separacao entre utilizadores e op-

eradores, que eram responsaveis pelo carregamento e

a execucao do programa. Cada programa era gravado

pelo programador em cartoes, entregues a um oper-

ador e mais tarde os resultados saiam em papel, numa

impressora.

• primeiros computadores comerciais

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 43

• sistemas batch: varios jobs gravados em fita magnetica,

que eram executados num unico batch, isto e, sem

a intervencao de um utilizador. As tarefas formavam

uma fila de espera, e eram executados em sequencia.

Os resultados podiam tambem ficar guardados em fita

magnetica.

• os primeiros sistemas de operacao controlavam os sis-

temas batch utilizando instrucoes numa linguagem es-

pecıfica(JCL, Job Control Language).

• desvantagens: o utilizador nao tem interaccao com o

programa, uma vez submetido numa fila de jobs.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 44

3a¯ Geracao (1965-1980)

IBM 360; CDC

• tecnologia baseada em circuitos impressos.

• multiprogramacao: varios jobs em memoria; com pro-

teccao de memoria

• computadores de uso cientıfico (calculo numerico) e de

uso comercial (processamento de caracteres; melhores

perifericos de entrada/saıda)

• interactivos: terminais on-line ou estacoes de trabalho

workstations que permitem o utilizador comunicar com

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 45

o programa em execucao e conhecer imediatamente os

resultados.

• sistemas de tempo partilhado (timesharing), multi-tarefa

e multi-utilizador:divisao do tempo em intervalos, e

restringir cada intervalo a execucao duma da tarefas

(processo). Quando um intervalo termina, a tarefa fica

suspensa e outra entra em execucao.Ao fim de certo

tempo as tarefas terminam, parecendo que estavam a

ser executadas em simultaneo.

Vantagem:como o computador gasta muito tempo a

espera dos perifericos, quando uma tarefa esta nessa

fase outras podem ser executadas.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 46

4a¯ Geracao (1980-????)

• tecnologia LSI e VLSI (chips)

• computadores pessoais (multi-utilizador ou nao)

• utilizadores nao especializados

• interfaces graficos e user-friendly

• redes de computadores: sistemas de operacao em rede

e distribuıdos. Maquinas pequenas conectadas em rede,

partilhando varios recursos (impressoras, memorias aux-

iliares (discos), software, etc).

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 47

• sistemas multiprocessador (redes caso particular). Os

s.o. tem tambem de controlar a atribuicao de tarefas

a cada processador:alocacao de tarefas, garantindo o

uso efectivo dos processadores e divisao de tarefas em

sub-tarefas para cada processador.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 48

Organizacao dos Sistemas de Operacao

[Bro97, 3.2]

Os sistemas de operacao administram e manipulam:

• processos

• ficheiros

• memoria

• entrada/saıda

• comunicacao entre processos

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 49

Comunicam com os programas do utilizador atraves de

rotinas especiais, denominadas chamadas ao sistema (sys-

tem calls).

Sao compostos por:

• interface com os utilizadores (shell): podem existir

varios interfaces para o mesmo s.o.; podem ter ser

graficos e/ou ter associado um interpretador de coman-

dos.

• o nucleo (kernel): parte interna do sistema de operacao.

• outros utilitarios.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 50

UNIX

Sistema interactivo, tempo partilhado, multi-utilizador,

multi-processo.

Nasce nos inıcios dos anos 70, por Ken Thompson e

Dennis Ritchie, como parte inicial dum projecto em part-

time de um jogo e que levou tambem a definicao da

linguagem C.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 51

Algumas versoes

• 1975, UNIX AT&T (escrito em C) (versao 6)

• 1979 (versao 7)

• 1980, 4BSD (Universidade de Berkeley)

• 1990, System V Release 4 (USL) (unificacoes de varias

versoes anteriores)

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 52

Nucleo do UNIX

• inicializacao (bootstrap) e tratamento de interrupcoes

• ”Drivers”de perifericos de entrada/saıda

• administracao de memoria e memoria virtual

• tratamento das chamadas ao sistema

• processos; temporizacao e comunicacao entre processos

• sistema de ficheiros

• servicos de rede

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 53

Leituras

Sobre computadores [Bro97, Cap. 0]

Sobre sistemas de operacao [Bro97, 3.1]

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 54

Referencias

[Bro97] J. Glenn Brookshear. Computer Science, an

overview. Addison-Wesley, 1997.

[Dew93] A. K. Dewdney. The (New) Turing Omnibus

– 66 Excursions in Computer Science. W. H.

Freeman and Company, 1993.

[Gol] H. Goldstine. The computer from Pascal to von

Newmann.

Departamento de Ciencia de Computadores da FCUP — IC — Aula 1 55

Recommended