Download - Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

Transcript
Page 1: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

1

SOP - TADSFundamentos de Sistemas

Operacionais

Prof. Ricardo José [email protected]

Material cedido por:Prof. Rafael Rodrigues Obelheiro

Prof. Maurício Aronne Pillon

Cronograma

• Introdução

• Histórico dos SOs• Conceitos de SO

Page 2: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

2

Introdução [1/3]

• Complexidade dos sistemas computacionais modernos:– Muitos recursos a serem controlados:

• Hardware � Memória, Processador, Dispositivos de E/S• Software � Aplicativos que interagem com o hardware

– A programação em linguagem de máquina pode ser uma tarefa árdua;

• Ex.: A busca de um arquivo no disco pode ser sofrível, com inúmeras variáveis consideradas;

– O hardware é complexo, os recursos, são complicados de lidar e apresentam interfaces difíceis

• Como seria programar considerando cada parâmetro e particularidade de cada recurso?

Introdução [2/3]

• O que é um sistema operacional?• Duas visões para essa pergunta:

– Uma máquina estendida• Esconde os detalhes complicados do funcionamento do

hardware

• Oferece uma interface mais amigável para as aplicações– Uma espécie de Máquina Virtual

– Um gerenciador de recursos• Cada programa utiliza o recurso durante um tempo• Cada programa ocupa um certo espaço no recurso

Page 3: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

3

Introdução [3/3]

• Camadas do Sistema operacional

Cronograma

• Introdução• Histórico dos SOs

• Conceitos de SO

Page 4: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

4

Histórico dos SOs [1/15]

• Podemos dividir em 4 gerações:– Primeira geração (1945-1955)

• Válvulas, painéis de programação

– Segunda geração (1955-1965)• Transistores, sistemas em lote (batch)

– Terceira geração (1965-1980)• CIs, multiprogramação

– Quarta geração (1980 – Dias atuais)• Computadores pessoais

Histórico dos SOs [2/15]

• Primeira Geração (1945-1955):– Howard Aiken (Harvard), John von Neumann (Princeton), J.

Presper Eckert e William Mauchley (Pensilvânia) e Konrad Zuse(Alemanha) construíram máquinas de calcular;

– Sistema totalmente mecânico (relés lentos), ciclo medidos em segundos;

– A primeira evolução foi substituir relés por válvulas– O mesmo grupo de pessoas, projetava, construía, programava,

operava, realizava a manutenção de cada máquina• Engenharia, Desenvolvimento, Operação e Suporte

– Programação feita com código absoluto, muitas vezes conectando plugs em painéis

– Não haviam ainda sistemas operacionais• Os próprios usuários

Page 5: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

5

Histórico dos SOs [3/15]• ENIAC

Histórico dos SOs [4/15]

• Quadro de Plugues IBM 402

Page 6: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

6

Histórico dos SOs [5/15]

• Segunda Geração (1955-1965):– Introdução do transistor (substituição das válvulas)– Computadores passaram a ser mais confiáveis

• Fabricados e comercializados na expectativa de tivessem uma vida útil maior, executando algum trabalho importante

– As funções foram bem separadas:• Projetistas, Fabricantes, Programadores e técnicos de

manutenção– Passaram a ser denominadas de computadores de

grande porte (mainframes)– Devido ao alto custo do equipamento, buscou-se uma

maneira de reduzir o desperdício• Adotou-se o sistema em lote (batch)

Histórico dos SOs [6/15]• Sistema em lote (batch)

– 1401 � Máquina inferior, mas suficiente para ler, copiar fitas e imprimir saída

– 7094 � Muito superior, mas cara, melhor utilizar em operações mais complexas

a) Os programadores levavam os cartões para o 1401

b) O 1401 gravava o lote de jobs em fitac) O operador levava a fita de entrada para o 7094d) O 7094 executava o processamento

e) O 1401 imprimia as saídas

Page 7: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

7

Histórico dos SOs [7/15]

• Estrutura de um job típico

Histórico dos SOs [8/15]• Terceira geração: famílias de computadores

– Na segunda geração os computadores eram radicalmente entre si, e se tornavam incompatíveis:

• IBM 7094: Cálculo intensivo, orientado a palavra• IBM 1401: Processamento comercial, orientado a caracter

– Estas diferenças representavam:• Custos significativos ao fabricante;• Custos e inconveniências para os usuários que precisavam migrar de

plataforma– A IBM introduziu a família 360

• Primeiros computadores a usar CIs (circuitos integrados)• Série de máquinas: Porte do 1401 � Porte do 7094• Idéia principal é propiciar compatibilidade de software e hardware

– O SO devia executar tanto nas máquinas pequenas quanto nas grandes

– Os requisitos e características diferentes se tornaram um pesadelo para os desenvolvedores:

• Milhões de linhas de Assembly, milhares de programadores• Corrigia-se um bug, gerava-se outro;• Fred Brooks, escreveu um livro contando suas experiências com esse

projeto: The Mythical Man-Month

Page 8: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

8

Histórico dos SOs [9/15]• Sistema Multiprogramado (3ª Geração)• No 7094, quando um job parava para aguardar uma E/S, a CPU

simplesmente mantinha-se ociosa;– Em cálculos científicos � Baixa ociosidade– Dados comerciais � 80-90% do tempo era destinado a E/S � Ociosidade– Solução: Dividir a memória em 3 partes

• Enquanto uma tarefa esperava a conclusão da E/S outra poderia ser processada

• Deu origem aos sistemas de tempo compartilhado (timesharing)

Histórico dos SOs [10/15]

• 3ª Geração � MULTICS• MULTiplexed Information and Computing Service

• Computador Utilitário capaz de atender a centenas de usuários simultâneos– CPU equivalente a um 386, maior capacidade de E/S;

• O projeto foi um fracasso comercial (menos de 100 instalações), contudo, com usuários fiéis (até a década de 90)

• Extremamente influente no ponto de vista técnico– Lançou diversas idéias usadas até hoje

• Servidor de internet centralizado, onde máquinas mais simples são conectadas, a maior parte do trabalho ocorre no servidor

– Em alguns casos ainda superior• Tratamento de E/S

Page 9: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

9

Histórico dos SOs [11/15]

• 3ª Geração � UNIX– Ken Thompson (Bell Labs) e o PDP-7 (origem do UNIX)

• Minicomputador, escreveu uma versão monousuário do MULTICS � UNIX;

– Código amplamente divulgado• Várias organizações desenvolveram suas próprias versões

– System V � AT&T– BSD � Universidade da Califórnia em Berkeley

– Para evitar incompatibilidade entre versões o IEEE lançou um padrão de desenvolvimento o POSIX

– Sistema feito por programadores para programadores– Características principais:

• Ferramentas de desenvolvimento cooperativo• Interfaces simples, elegantes, consistentes e sem “frescuras”• Conceito de ferramentas de software: pequenos programas que

desempenham funções específicas e que podem ser combinados

Histórico dos SOs [12/15]

• 3ª Geração � Thompson, Ritchie e um PDP-11

Page 10: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

10

Histórico dos SOs [13/15]• 4ª Geração � Computadores pessoais (microcomputadores)

– Os microcomputadores não eram muito diferentes do PDP-11, porém eram muito mais baratos

– Desenvolvimento de CIs em larga escala (large scale integration - LSI), que são chips contendo milhares de transistores em um centímetro quadrado de silício

– Em 1974, a Intel lançou o 8080, primeira CPU de 8 bits de propósito geral

– Em 1977, a Digital Research (Gary Kildall) reescreveu o CP/M (ControlProgram for Microcomputers) para rodar em outras CPUs além do 8080

– Nos anos 80, a IBM solicitou a um desconhecido desenvolvedor de interpretador Basic, Bill Gates, o contato de uma empresa que pudesse desenvolver um SO para o IBM PC

– Bill Gates comprou o DOS (Disk Operating System) e vendeu à IBM o DOS/Basic. A Microsoft ainda contratou o desenvolvedor do DOS, Tim Paterson, lançando o conhecido MS-DOS

Histórico dos SOs [14/15]

• 4ª Geração � Computadores pessoais (microcomputadores)– CP/M e MS-DOS, entre outros, eram todos baseados na

digitação de comandos– Doug Engelbart (Stanford) inventou uma interface gráfica

voltada para o usuário (GUI - Graphical User Interface)– O Apple Macintosh foi o primeiro SO a incorporar esta idéia– Devido ao sucesso comercial da Apple, a Microsoft também

resolveu incorporar esta idéia– Os computadores tornaram-se cada vez mais poderosos

• Em vez das pessoas esperarem pelo computador, o computador e que espera por elas

• Necessidade de SOs mais sofisticados– Surgimento de redes de computadores, com sistemas

operacionais de rede e sistemas operacionais distribuídos

Page 11: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

11

Histórico dos SOs [15/15]

• Tipos de Sistemas Operacionais– SOs para mainframes

• Processamento simultâneo de muitas tarefas e E/S– SOs para servidores

• Servir múltiplos usuários de uma vez, compartilhar recursos de hardware e software

– SOs para multiprocessadores– SOs para computadores pessoais– SOs de tempo real:

• Tempo é parâmetro fundamental– SOs embarcados:

• Controlam dispositivos que não aceitam aplicativos de usuários (eletrodomésticos)

• Vídeos complementares• http://www.youtube.com/watch?v=gQbTea

yG6Dg• http://www.youtube.com/watch?v=5ocq6_

3-nEw• http://www.youtube.com/watch?v=Nb_W3

Llc9KQ

Page 12: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

12

Cronograma

• Introdução• Histórico dos SOs• Conceitos de SO

Conceitos de SO [1/7]

• Processos– Um processo é basicamente um programa em execução– Cada processo possui um espaço de endereçamento

• Faixa de endereços na memória onde ele pode ler e escrever

– Cada entrada na tabela de processos possuí informações sobre o estado do processo (Executando, Bloqueado, Pronto)

– Processos podem se comunicar � Comunicação interprocessos(IPC)

– Árvores de processos• Um processo não surge do nada, ele é filho de outro processo.

Page 13: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

13

Conceitos de SO [2/7]

• Deadlock– Situações que surgem na interação entre

processos onde o progresso é impossível:a) Deadlock potencialb) Deadlock real

Conceitos de SO [3/7]

• Gerência de memória– Define como a memória principal é alocada

para os processos– Implementa mecanismos de proteção– Lida com espaços de endereçamento

maiores do que a memória disponível �Memória virtual

Page 14: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

14

Conceitos de SO [4/7]

• Gerência de Arquivos– Define uma interface mais refinada para

armazenamento persistente de informações– A maior parte dos sistemas utiliza o conceito de

arquivos organizados em hierarquias de diretórios

Conceitos de SO [5/7]

• Chamadas de sistema– As chamadas de sistema compõem a interface que

o SO oferece às aplicações– Executam no contexto do SO, usando o modo

privilegiado do processador– Tipos de chamada de sistema:

• Processos: Criar, sincronizar, terminar• Memória: Alocar, desalocar• Arquivos e diretórios: criar, ler, escrever, definir

permissões• ...

Page 15: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

15

Conceito de SO [6/7]• Chamadas de sistema POSIX

Conceito de SO [7/7]• Chamadas de sistema API Win32

Page 16: Cronograma - joinville.udesc.br · Cronograma • Introdução ... (Alemanha) construíram máquinas de calcular; – Sistema totalmente mecânico ... Fabricantes, Programadores e

16

Próxima Aula

• Revisão de Hardware

– Cap. 1.4

• Estruturas de sistemas operacionais– Cap. 1.7

Bibliografia

• Andrew S. Tanenbaum. Sistemas Operacionais Modernos, 3a Edição. Capítulo 1.Pearson Prentice-Hall, 2009.