programação de sistemas - fenix.tecnico.ulisboa.pt · história dos sistemas operativos...
TRANSCRIPT
![Page 1: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/1.jpg)
Programação de Sistemas
Programação de Sistemas Historial : 1/44
História dos Sistemas Operativos
Introdução
• Evolução dos SO catalogada pelos métodos de processamento:1. Série
2. Por lotes (“batch”)
Programação de Sistemas Historial : 2/44
3. Multiprocessamento
• Os SO são influenciados pelos tipos de sistemas• Multiprocessador
• Distribuído
• Pessoais (“desktop”)
• Embebidos (“embedded”)
![Page 2: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/2.jpg)
Processamento série (1)
• [Anos 40,50] computadores gigantescos, a válvulas (1945: ENIAC-Electronic Numerical INtegrator And Computer, com 19K válvulas e 1K5 relés, 200 KW de consumo, ocupava 167m2).– Dedicado a cálculo numérico, por segundo efectuava
5000 adições ou 357 multiplicações ou 38 divisões.
– Programas e dados inseridos pelos operadores
Programação de Sistemas Historial : 3/44
– Programas e dados inseridos pelos operadores directamente no hardware, através de cabos inseridos em painéis.
– Resultados afixados em lâmpadas.
• Entrada de programas e dados facilitada por cartões perfurados (“punched cards”), ou fita perfurada.Saídas passaram a ser impressas em papel.
Processamento série (2)
• Todas as operações tinham de ser definidas pelos programas.
• Problemas:– Produtividade baixa– Apenas operadores especializados podiam operar o
Programação de Sistemas Historial : 4/44
– Apenas operadores especializados podiam operar o computador
Nota 1: capacidade de processamento inferior a um vulgar PDA actual.
Nota 2: insectos (“bug”) atraidos pela luz das válvulas provocavam curto-circuitos interrompendo o programa
Nota 3: dimensão e custo começam a reduzir nos anos 50 com introdução de transistores
![Page 3: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/3.jpg)
Processamento em lotes (1)
• [Anos 50,60] Para libertar as operações repetitivas de entrada e saída, foi desenvolvido um programa utilitário – monitor de controlo.
1. O utilizador entrega um trabalho (“job”) constituído por uma sequência de módulos. Os trabalhos são alinhados, pelos operadores, em lotes.
Programação de Sistemas Historial : 5/44
operadores, em lotes.2. O monitor de controlo lê os comandos do trabalho, fornecendo
utilitários auxiliares (compilador FORTRAN, rotinas E/S,…)3. Os comandos de cada lote são executados sucessivamente até ao
fim.Para combater problemas de segurança, o lote pode ser interrompido quando o trabalho gerar excepções (operações ilegais, como a leitura do lote seguinte ou divisão por zero)
Processamento em lotes (2)
• O monitor de controlo é apenas um interpretador de comandos, um dos constituindos dos modernos sistemas operativos.
A.Formato típico de um lote
Programação de Sistemas Historial : 6/44
A.Formato típico de um lote
$JOB user_spec ; identifica utilizador para contabilidadepurposes $FORTRAN ; carrega compilador FORTRAN
; cartões do programa de utilizador$LOAD ; carrega o programa compilado$RUN ; corre programa
; cartões de dados$EOJ ; fim do trabalho
![Page 4: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/4.jpg)
Processamento em lotes (3)
Lote 1 Lote 2
B. Ocupação do CPU
Programação de Sistemas Historial : 7/44
t
E/S(leitura)
ExecuçãoE/S
(escrita)E/S
(leitura)Execução
E/S(escrita)
Exemplo: Fortran Monitor System (FMS) do IBM7094
Processamento em lotes (4)
C. Divisão da memória RAM
Monitorcontrolo
Programa
Compilador, rotinas E/S,…
Programação de Sistemas Historial : 8/44
utilizador
Nota: normalmente, o compilador é um programa muito maior que o espaço disponível. Para resolver o problema, usava-se a técnica de sobreposição (“overlay”) de partes.Cada parte começa por ler os dados da parte anterior e processa-os de seguida. Depois salvaguarda os resultados num ficheiro e carrega para a memória RAM a parte seguinte.
![Page 5: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/5.jpg)
Processamento em lotes (5)
D. Problemas– Impossível interacção entre o programa e o utilizador
(todas as entradas de dados têm de ser previamente incorporadas no trabalho)
– Os dispositivos de E/S são muito lentos (ex:
Programação de Sistemas Historial : 9/44
– Os dispositivos de E/S são muito lentos (ex: velocidade típica de leitor de cartões é 20 cartões/seg)
– O trabalho pode errar (aceder à memória fora da sua área, ler as entradas do utilizado seguinte, gerar excepções por exemplo em divisões por zero,..).
– O trabalho pode nunca concluir (ex: ciclo infinito)
Processamento em lotes (6)
• Algumas soluções– Lentidão de dispositivos E/S resolvida por
equipamentos de transferência de trabalhos para banda magnética (desenvolvidos pela IBM-International Business Machine).
– Acesso a instruções críticas apenas pode ser executado
Programação de Sistemas Historial : 10/44
– Acesso a instruções críticas apenas pode ser executado pelo monitor de controlo, que possui modo de supervisão. Programas de utilizador correm em modo de utilizador.
– Temporizador retorna controlo ao monitor para programas demasiado extensos.
Nota: Processamento de lotes no Linux executado através dos comandos cron(execução em intervalos regulares) e at (execução numa data posterior).
![Page 6: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/6.jpg)
Processamento em lotes (7)
• Para efectuar E/S, o programa de utilizador chama rotinas do SO.
Decisão: Convém que o utilizador não conheça endereço da rotina, para que– o sistema operativo possa evoluir,
Programação de Sistemas Historial : 11/44
– o sistema operativo possa evoluir,
– aumentar segurança do sistema.
Solução: criar dois modos de execução (Utilizador e Sistema), passando do modo de utilizador para sistema através de interrupções de software.
Processamento em lotes (8)• Processadores Intel suportam 4 modos, designados por
aneis (“rings”), mas apenas são usados os aneis 0 e 3.
• Algumas instruções não podem ser executadas em modo utilizador (ex: alterar páginas de memória, alterar bit de modo ☺)
Programação de Sistemas Historial : 12/44
Programa (modo U)…call_IO(n)…
interrupção
SO (modo S)
passa modo S
Ponto de entrada(via tabela de interrupções)
Rotina IOIRET
retorna modo U
![Page 7: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/7.jpg)
Processamento em lotes (9)
E. Ligação permanente de dispositivos lentos– Os dispositivos lentos (ex: entrada-leitor de cartões, saída-
impressoras) degradam significativamente o desempenho do processamento em lotes.
– O uso de discos, mais rápidos, pelo SPOOL-”Simultaneous Peripheral Operation Online”, melhora o desempenho.
Programação de Sistemas Historial : 13/44
Peripheral Operation Online”, melhora o desempenho.
Entrada Saida
disco
MemóriaRAM
CPU
SPOOLde entrada
SPOOLde saída
Processamento em lotes (10)
• SPOOL de entrada:– Armazena num disco os trabalhos submetidos.– Quando o programa utilizador chama o SO para uma operação de READ do
cartão de dados, o SO encaminha o pedido para os ficheiros em disco, nos quais foram previamente carregados os dados do cartão pedido.
• SPOOL de saída:– Transfere dados de disco para a impressora.
Programação de Sistemas Historial : 14/44
– Transfere dados de disco para a impressora.– Quando o programa utilizador chama o SO para uma operação PRINT,
acede antes uma fila em disco. Os valores do programa ficam armazenados temporariamente até o SPOOL de saída desencadear a sua impressão.
– O acesso à impressora fica sob a inteira responsabilidade do SO, o que lhe permite escolher a ordem mais conveniente para a impressão (eg, imprimir em primeiro lugar os trabalhos mais curtos).
• O programa de utilizador não se apercebe que o periférico ao qual acede é afinal 'virtual', suportado pelo disco.
![Page 8: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/8.jpg)
Multiprocessamento (1)
• [60-70] Aumento das capacidades de hardware (CPU mais rápidos, maior memória de RAM e disco,…), redução de custo dos equipamentos.Família IBM 360, o primeiro computador com ICs (modelo 67: 9 discos amovíveis de 30MB
CPU
Programação de Sistemas Historial : 15/44
ICs (modelo 67: 9 discos amovíveis de 30MB cada, 256KB RAM, sistemaoperativo OS/360, até 3utilizadores interactivos aprogramar Basic/PLI/Fortran).Nota: para estimar a gigantesca evolução informática, compare com as capacidades do seu portátil (qualquer que ele seja)...
Multiprocessamento (2)
• O OS/360 continha milhões de LOC (linhas de código) em Assembly, programados por milhares de pessoas.
• Um SO de multiprocessamento é caracterizado por– Vários trabalhos (Nota: a partir de agora referidos por processos)
são carregados para a memória RAM.
Programação de Sistemas Historial : 16/44
são carregados para a memória RAM.
– Cada processo 'vê' o CPU como se fosse só dele.
– O SO encarrega-se do atribuir segmentos de tempo do CPU a cada processo.
![Page 9: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/9.jpg)
Multiprocessamento (3)
• Existem duas formas de multiprocessamento, de acordo com a duração da atribuição do CPU– Cooperativo: o processo só liberta o CPU quando não
precisar mais dele.Exemplo: Windows 3.x Central em PSis
Programação de Sistemas Historial : 17/44
Exemplo: Windows 3.x– Antecipação (“preemptive”): o sistema operativo
atribui fatias de tempo (“time slice”) a cada processo.A entrega do CPU a um processo é acompanhada por um temporizador: quando este termina gera uma interrupção ao sistema operativo, para este transferir o CPU a outro processo à espera.Exemplos: Unix, Windows 95 e NT
Central em PSis
Multiprocessamento (4)
Processo 1
A. Ocupação do CPU
Processo 2
Lançado novo processo
Processo terminou
Novo processo
Temporizador finalizouX⇑
Programação de Sistemas Historial : 18/44
tDespacho
Temporizador finalizou
Controlo transferido para outro processo
Novo processo
![Page 10: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/10.jpg)
Multiprocessamento (5)
B. EntrefolhaPorque o SO pode transferir em qualquer altura o CPU de um processo para outro, as instruções de cada processo (embora obrigatoriamente ordenadas entre si) podem ter instruções de outros processos executados em permeio.
[Def] Entrefolha (“interleaving”): disseminar
Programação de Sistemas Historial : 19/44
[Def] Entrefolha (“interleaving”): disseminar instruções de um processo seguido de instruções de outro processo.
[Def] Traço (“trace”): uma das possíveis ordens de execução de instruções de vários processos.
• Ex: sejam dois processos P1:abc e P2:def. Os traços possíveis são: abcdef, abdcef, abdecf, abdefc, adbcef, ......, defabc
Multiprocessamento (6)
[Def] Computação concorrente: execução de vários processos que interagem entre si.
[Def] Sistema determinista: para as mesmas entradas, os resultados produzidos em todas as
Programação de Sistemas Historial : 20/44
entradas, os resultados produzidos em todas as entrefolhas são iguais.Se os resultados não forem todos iguais, o sistema diz-se não determinista ou sujeito a condições de corrida (“race conditions”).
![Page 11: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/11.jpg)
Multiprocessamento (7)
C. Distribuição de memória
Processo 1
Processo 2Partição memória
Programação de Sistemas Historial : 21/44
Processo 3
Sistemaoperativo
Partição memória
Cada processo corre em memória virtual.• Independente do endereço físico.• Processos consideram que têm para si todo o espaço de memória.
Multiprocessamento (8)
D. Funções do SO– Gestão de processos: criação, destruição e
comunicação entre processos.– Gestão de memória: atribuir fracção de RAM a cada
processo, garantindo reserva de acesso.
Programação de Sistemas Historial : 22/44
– Escalonamento: decidir que processo entra em funcionamento.
E. Interactividade– Utilizadores inserem ordens e recebem resultados.– Organização de dados em ficheiros e protecção de
acessos tornam-se componente importante de um SO.
![Page 12: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/12.jpg)
Calendário
Sem sistema operativo (Univac, IBM 601)
Processamento por lotes (IBM 7090)
Multiprogramação (Multics)
Memória virtual (Unix)Sistemas distribuídos
Programação de Sistemas Historial : 23/44
1946 1950 1960 1970 1980
Sistemas distribuídos
1ª geração:válvulas
2ª geração:transístores
3ª geração:circuitos integrados
4ª geração:VLSI
Tempo: real vs. virtual• Os sistemas operativos são divididos em duas
classes, conforme temporização adoptada para execução dos programas:– Tempo virtual: tempo de execução dos programas não
é relacionado com o tempo cronológico.• Maioria dos sistemas operativos (Linux,Windows, …) adopta esta
Programação de Sistemas Historial : 24/44
• Maioria dos sistemas operativos (Linux,Windows, …) adopta esta abordagem.
• Abordagem seguida em Programação de Sistemas.
– Tempo real: computador tem de responder aos estímulos num período de tempo determinado.
• Sistemas operativos de tempo real usados em controlo industrial e equipamentos móveis (aviões, carros,…) em sistemas embutidos.
Nota: tópico central na disciplina Sistemas Computacionais
![Page 13: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/13.jpg)
Classificação de arquitecturas
• Vários esquemas de classificação das arquitecturas de computadores foram propostos1. Capacidade
2. Taxonomia de Flynn (número de controlos e fluxos de dados).de dados).Flynn, M., Some Computer Organizations and Their Effectiveness, IEEE Trans. Computers, Vol. C-21, pp. 948, 1972
Programação de Sistemas Historial : 25/44
Classificação por capacidade (1)
• Os SO são grandemente influenciados pelos tipos de sistemas informáticos. No ano 2000+ são conhecidos 7 tipos, segundo ordem descendente de capacidades:
A. Supercomputadores
Programação de Sistemas Historial : 26/44
A. SupercomputadoresDedicados a processamento numérico (ex: simulação).
– “Cluster” de computadores
– Cray
Preço na ordem de vários M.
Unix é o SO mais usado.
![Page 14: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/14.jpg)
Classificação por capacidade (2)
B. Grande porte (“mainframes”)Suportam elevado número de terminais e armazenamento de informação, instalados em centros dedicados (ex: instituições financeiras).Preço na ordem de várias centenas de K.
Programação de Sistemas Historial : 27/44
Preço na ordem de várias centenas de K.SO mais usados da IBM.
C. MinicomputadoresSuportam vários utilizadores.Actualmente preteridos a favor dos servidores de topo.
Classificação por capacidade (3)
D. Paralelos
Constituídos por vários processadores, cada um processando uma fracção de dados escalares (ex: simulação)
– Distribuem tarefas.– Distribuem tarefas.
– Partilham memória e relógio.
– Comunicação normalmente efectuada por memória comum.
Vantagens: maior débito, maior fiabilidade, mais económico.
Existem várias arquitecturas de sistemas paralelos
Programação de Sistemas Historial : 28/44
Nota: tópico central na disciplina Sistemas Operativos Distribuídos
![Page 15: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/15.jpg)
Classificação por capacidade (4)
Existem várias abordagens de computação paralela:
1. Symmetric multiprocessing (SMP): cada processador corre uma cópia idêntica do SO.
Programação de Sistemas Historial : 29/44
2. Asymmetric multiprocessing (AMP): • Nó mestre (“master”) corre
SO e escala os processadores escravos.
• Nós escravos (“slave”) correm as aplicações.
Classificação por capacidade (5)
E. Distribuídos
Distribui computação por vários processadores, cada um podendo processar informação distinta.
– Cada processador tem a sua memória local.
– Comunicação efectuada por barramentos (“buses”) ou por rede.
Nota: arquitecturas distribuídas de cliente-servidor e P2P descritos no capítulo sobre comunicação entre processos.
Programação de Sistemas Historial : 30/44
Nota: tópico central na disciplina Sistemas Operativos Distribuídos
![Page 16: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/16.jpg)
Classificação por capacidade (6)
F. Servidores (“servers”)Sistemas informáticos que disponibilizam serviços a outros computadores-clientes, através de uma rede.Preço na ordem de várias dezenas de K.– Serviços típicos: WWW, resolução de nomes, Email,…
Programação de Sistemas Historial : 31/44
– Serviços típicos: WWW, resolução de nomes, Email,…
– Poucos utilizadores (normalmenteapenas administradores) com interfacespobres.
– Usualmente colocados em bastidores(“rack”) de 19".
– SO mais usados: Linux, Windows NT.
– Fiabilidade elevada.
Classificação por capacidade (7)
G. PessoaisSistemas informáticos de reduzida dimensão, normalmente com um único microprocessador, usados para
– apoio burótico (processamento texto, email,…) a um único utilizador.
Programação de Sistemas Historial : 32/44
utilizador.– mobilidade de utilizador, com ligação à Internet sem fios a alta
velocidade.– controlo de máquinas simples (multibanco,…)
Preço na ordem de K.
Computadores pessoais catalogados pela dimensão.
![Page 17: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/17.jpg)
Classificação por capacidade (8)
1. Estações de trabalho (“workstations”)
– Interfaces gráficas de elevada dimensão (17" ou 21").
– Grande capacidade de processamento em vírgula flutuante.
– Microprocessadores típicos de arquitecturaRISC-”Reduced Instruction Set Computer”.
Programação de Sistemas Historial : 33/44
RISC-”Reduced Instruction Set Computer”.
– SO mais usado são variantes do Unix(SunOS, Linux).
SPARC-1 da SUN
Classificação por capacidade (9)
2. Secretária (“desktop”)– Computadores de grande consumo– Dedicados a actividades simples (apoio burótico,
acesso ao WWW, jogos,…)– Capacidade de incluir opções de equipamento
(discos, memória RAM, cartas dedicadas,…)
Programação de Sistemas Historial : 34/44
(discos, memória RAM, cartas dedicadas,…)– SO mais usado: Windows (Linux para mundo
académico)
• Apple II, o primeiro computador de secretária de grande divulgação
– Processador 6502 (8 bits)– RAM típica de 48 KB– Programa mais usado: Visicalc (folha de cálculo)
• Hoje, os PCs possuem potência de minicomputadores– Processador 64 bits (Intel Core2, AMD64)– RAM típica de 2GB, discos típicos de 160GB
![Page 18: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/18.jpg)
Classificação por capacidade (10)
3. Portátil (“notebook” ou “laptop”)– Computadores leves, tipicamente 3Kg,
de reduzida dimensão– Monitor LCD/plasma incorporados entre
10” e 15”.– Inexistência de opções de equipamentos,
Programação de Sistemas Historial : 35/44
– Inexistência de opções de equipamentos, por forma a reduzir a dimensão.
– Bateria permite utilizador trabalharalgumas horas sem estar ligado à corrente eléctrica.
– Ligação sem fios WiFi-"wireless fidelity“ à Internet. – SO mais usados: mesmo dos computadores de secretária
(Windows XP/Vista/7, MacOS e Linux).
Classificação por capacidade (11)
4. Tablet– Equipamento intermédio, entre portátil e
computador de bolso, divulgado em 2001 pela Microsoft.Vendas arrancaram apenas em 2010 com o iPad da Apple.o iPad da Apple.
– Écran de 10”, sem teclado.
– Peso à volta de 1Kg.
– Utilizador interage por dedo ou com auxílio de estilete.
Programação de Sistemas Historial : 36/44
![Page 19: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/19.jpg)
Classificação por capacidade (12)
5. Computador de bolso (PDA-Personal digital assistant)
– Agenda electrónica, com capacidadeselementares de escritório.
– Interação por estilete e controlo remoto de
Programação de Sistemas Historial : 37/44
equipamentos electrónicos.
– Ligação sem fios WiFi-"wireless fidelity“ à Internet.
– SO mais usados pela seguinte ordem:– Symbian OS (para telemóveis Nokia),
– Android (desenvolvido pela Google, baseado no Linux),
– iOS (Apple , derivado do MacOS),
– Blackberry OS (da RIM),
– Windows Mobile (Microsoft)
Classificação por capacidade (13)
6. Embutidos (“embedded”): equipamentos encapsulados nos dispositivos controlados.
– Dimensões e custos reduzidos.– Interfaces simples (série ou USB, CAN-Controller Area
Network)– Podem sofrer restrições de tempo-real.
Programação de Sistemas Historial : 38/44
– Podem sofrer restrições de tempo-real.– Dedicado a tarefas específicas, tipicamento de controlo de
equipamentos (leitores MP3, controladores de equipamentosfabris,…)
Nota: tópico central na disciplina Sistemas Computacionais
Nota: por vezes designados sistemas embebidos
![Page 20: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/20.jpg)
Classificação de Flynn (1)
A. SISD– Um único elemento de controlo.
– Um único fluxo de dados a ser processado.
Instru
ction
sProgramação de Sistemas Historial : 39/44
ProcessorData Input Data Output
Instru
ction
s
Exemplos: estações de trabalho, portáteisNota: desempenho do sistema limitado pela transferência interna de informação
Classificação de Flynn (2)
B. MISD– Vários elementos de controlo.
– Único fluxo de dados processado por instruções distintas.
Instruction Stream Az1=fooA(x,y);
Paralelismo funcional
Programação de Sistemas Historial : 40/44Nota: não são conhecidas aplicações práticas
Data
Input Stream
Instruction Stream C
Data
Output Stream
Instruction Stream B
Processor
A
Processor
B
Processor
C
z2=fooB(x,y);
z3=fooC(x,y);
![Page 21: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/21.jpg)
Classificação de Flynn (3)
C. SIMD– Único elemento de controlo.
– Vários fluxos de dados processados em paralelo. Instruction Stream
for(i=0;i<N;i++)
Paralelismo dados
Programação de Sistemas Historial : 41/44Exemplos: supercomputadores Cray
Data Output
stream A
Data Output
stream B
Data Output
stream C
Data Intput
stream A
Data Intput
stream B
Data Intput
stream C
Processor
A
Processor
B
Processor
C
for(i=0;i<N;i++)
z[i]=foo(x[i],y[i]);
Classificação de Flynn (4)
D. MIMD– Vários elementos de controlo.
– Vários fluxos de dados processados em paralelo. Instruction
Stream A
Instruction
Stream B
Instruction
Stream C
Programação de Sistemas Historial : 42/44
Data Output
stream AData Intput
stream A
Data Intput
stream B
Data Intput
stream C
Data Output
stream B
Data Output
stream C
![Page 22: Programação de Sistemas - fenix.tecnico.ulisboa.pt · História dos Sistemas Operativos Introdução • Evolução dos SO catalogada pelos métodos de processamento: 1. Série](https://reader035.vdocuments.site/reader035/viewer/2022062601/5be5059709d3f2f9648d5a69/html5/thumbnails/22.jpg)
Sistemas Operativos vistos em PSis (1)
• Em PSis-Programação de Sistemas são estudados:– Aspectos teóricos de SOs de tempo virtual.
• Processos e Fios de execução
• Comunicação e Sincronização
• Gestão de memória e E/S
Programação de Sistemas Historial : 43/44
• Gestão de memória e E/S
• Sistema de ficheiros
– Descritas técnicas de implementação no sistema operativo LINUX
• Sistema aberto, i.e. código acessível e gratuito.
• Corre em PC e portáveis.
• Amplamente divulgado no meio académico.
• Amplamente usado em servidores.
Sistemas Operativos vistos em PSis (2)
• Previsões sobre computadores são, frequentemente, muitoduvidosas �
– “I think there is a world market for, maybe, five computers.”Thomas Watson, chairman of IBM, 1943.
– “There is no reason for any individual to have a computer in their home”.Ken Olson, president and founder of Digital Equipment Corporation,
Programação de Sistemas Historial : 44/44
Ken Olson, president and founder of Digital Equipment Corporation, 1977.
– “640K [of memory] ought to be enough for anybody”Bill Gates, 1981: Nota: alegação desmentida pelo próprio.
– “The tablet PC... is virtually without limits -- and within five years I predict it will be the most popular form of PC sold in America.”Bill Gates, Comdex 2001.
– “On several recent occasions, I have been asked whether parallel computing will soon be relegated to the trash heap reserved for promising technologies that never quite make it.”Ken Kennedy, CRPC Directory, 1994