introdu¸c˜ao aos computadores - fcup - departamento de ...nam/aulas/0102/ic/slides/sliic01.pdf ·...
TRANSCRIPT
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