1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional...

42
INTRODUÇÃO Sistemas Operacionais Vinícius Pádua

Transcript of 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional...

Page 1: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

INTRODUÇÃO

Sistemas Operacionais

Vinícius Pádua

Page 2: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

Porquêénecessário?

• Sistemacomputacionalmodernocompostopordiversosdispositivos

• Responsávelpelocontrole?– Programadordeaplicativos?– Necessidadedeterumsoftwarededicadoaestecontrole

2

Page 3: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

OqueéumSO?

• Softwareresponsávelporgerenciardispositivoserealizarassolicitaçõesdousuáriocomosdispositivos

• ParaqueserveoSO?– Executarprogramasdousuário– Resoluçãogeraldeproblemas

3

Page 4: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

• SOéumsoftwarecolocadoentreohardwareeosprogramas

ArquiteturaBásica

4

Programas

SistemaOperacional

Hardware

Page 5: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

Oquefacilitaaosprogramadores?

ArquiteturaBásica

5

Programas

SistemaOperacional

HardwareFacilitaracriaçãodenovoshardware

•Padronizaçãodecomunicação

Facilitarosdesenvolvedoreseusuários finais•Funções,procedimentos•Controledejanelas

Oquefacilitaaoshardware?

Page 6: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ArquiteturaBásica

• OndeoSOseencaixaemumsistemacomputacional?

• ModousuárioX Modonúcleo(supervisor)– Apenasomododonúcleotemacessocompletoaohardwareepodeexecutarqualquerinstrução

6

Page 7: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

Introdução

• SistemaOperacional• Agecomoumintermediárioentreousuárioeohardware• Controlaaexecuçãodeprogramasaplicativos• Interfaceentreaplicativoseohardware

• Objetivos• Tornarconvenienteautilizaçãodeumsistemacomputacional

– “Esconder”detalhesdefuncionamentointerno• Tornarmaiseficientee“justo”autilizaçãodosrecursos• Execuçãodeprogramas

– Carrega-loamemória– Permitirutilizaçãodedispositivos– Prepararrecursosaantesdeseremutilizados

7

Page 8: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

Introdução

• Objetivoscont.• AcessoadispositivosdeE/S

– Facilitarautilizaçãodosrecursospelossoftwareeusuários– Operaçõesbásicas:leituraeescrita

• Acessocontroladoaarquivos– Softwarenãosepreocupacomanaturezadodispositivo– Proteçãoaacessomultiusuário

• Acessoaosistema– Proteçãocontraacessonãoautorizado– Resoluçãodeconflitoemcasodedisputa

• Detecçãodeerros– Errosdehardwareeprogramação

8

Page 9: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

• Máquinaestendida

• Gerenciadorderecursos

Funcionalidades

9

Page 10: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

• Máquinaestendida– Forneceraosprogramadoresumconjuntoderecursosabstratosclaros• Motivos

– Arquiteturabásicaapresentaprogramaçãodifícil

– Ocultarohardwareeofereceraosprogramasabstraçõesclarasecoerentes

– Ex.:Oarquivo.– Visão:top-down

Funcionalidades

10

Page 11: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

• Gerenciadorderecursos– Fornecerumaalocaçãoordenadaecontrolada– Evitarqueprogramasutilizemosrecursossimultaneamente

– Protegerqueprogramasacessemamemóriadeoutrosprogramas• Compartilhamentonotempoenoespaço

Funcionalidades

11

Page 12: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

HistóricodosSO

• 1ºGeração(1945- 1955)• 2ºGeração(1955– 1965)• 3ºGeração(1965– 1980)• 4ºGeração(1980- ?)

12

Page 13: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

HistóricodosSO

• 1ºGeração(1945– 1955)– Válvula

• Dissipavamuitocalor,consumoaltodeenergiaedanificavacomfrequência

– NãoexisteSO

13

• ENIAC- 1946– 17.000válvulas– 170m2– 150.000watts– 27toneladas– 5.000adiçõesesubtraçõespor

segundo

Page 14: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

HistóricodosSO

• 2ºGeração(1955– 1965)– Transistores

• 100xmaismenor,maisduráveleconfiável,consumiamenosenergia,nãoesquentavaquantoaválvula

14

– Sistemaemlote(batch),job,cartãoperfurado

Page 15: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

HistóricodosSO

• 3ºGeração(1965– 1980)– Circuitosintegrados

– Técnicas• Multiprogramação• Timesharing,• Spooling

– IníciodealgunsSO:Unix(SystemV,BSD,Minix),linux

15

Page 16: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

HistóricodosSO

• 4ºGeração(1980- ?)– Computadorespessoais– Iníciodainterfacegráfica– SO:DOS(MS-DOS),Apple,Windows– Sistemasoperacionaisderedeedistribuídos

16

Page 17: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua 17

HistóricodosSO

Page 18: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

HistóricodosSO

• Resumindo– OquemotivouaevoluçãodoSO?

• Avançostecnológicos• Desenvolvimentoemelhoriadohardware• Aperfeiçoamentodetécnicas

18

Page 19: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ZoodeSO’s• Computadoresdegrandeporte

– Jáforammuitoutilizados– GrandecapacidadedeE/S– Atualmente

• Servidoresweb,e-commerce,servidores denuvem, ...• Tempocompartilhado

– Utilizamterminais– Ilusãodemáquinadedicadaaousuário

• Distribuídos– Divisãodetarefasemvárioscomputadores– Podemestarfisicamenteseparados– Vantagens

• Transparência• Compartilhamentoderecursos• Balanceamentodecarga• Aumentodaconfiabilidade

19

Page 20: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ZoodeSO’s

• Temporeal– Tempocomoparâmetrofundamentalnaexecuçãodastarefas– Temporealcrítico

• Processosindustriais,aviação,exército

– Temporealnãocrítico• Sistemadeáudio,multimídia

• Nósdesensores• Smart Cards• Multiprocessadores• Computadorespessoais,portáteiseembarcados

20

Page 21: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ConceitossobreSO

• Processos• Espaçosdeendereçamento• Arquivos• Deadlock• Memória• EntradaeSaída• Segurança• Interpretadordecomandos

21

Page 22: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ConceitossobreSO

• Processos– ConceitofundamentoemSO– Éumprogramaemexecução

– Comoumprocessoéexecutado?• Histórico

– Monoprogramação– Multiprogramação

22

Page 23: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ConceitossobreSO

• Monoprogramação– Execuçãodeumúnicoprograma– Características

• Baixacomplexidadedeimplementação• Sempreocupaçãocomproteção• Subutilizaçãodosrecursos• OciosidadedaCPUporlongosperíodos

23

EsperanormalmenteporalgumeventodeE/S nãofinalizado

Page 24: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ConceitossobreSO

• Monoprogramação

• Comomelhorarodesempenhogeral?• Emquemomentopoderiaoutroprogramaexecutar?

24

Page 25: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ConceitossobreSO

• Multiprogramação

25

Page 26: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ConceitossobreSO• Multiprogramação

– Execução“simultânea”deváriosprogramas– Características

• Altacomplexidadedeimplementação• Preocupaçãocomaproteção• InexistênciadeociosidadedaCPU• Grandeutilizaçãodorecursos

– Inovaçõesquepermitiram• Interrupções

– Sinalizaçãodeeventos• Discosmagnéticos

– Acessorandômicoeveloznodisco– Leituraeescritasvelozesemqualquerpartedodisco

26

Page 27: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ConceitossobreSO

• Espaçodeendereçamento– Regiãoondeoprocessoexecuta– AoiniciaroSOcedeumespeçodeendereçamento

• Iniciandoem0• Qualotamanhomáximo?

– SOantigos:LimitedamemóriaRAM– SOmodernos:Memóriavirtual

27

Page 28: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ConceitossobreSO

• Arquivos– Diretório– Caminho

• \ - Windows /- Unix

– Diretório-raiz– Diretóriadetrabalho– Sistemasdearquivos– Arquivosespeciais

• UNIX

28

Page 29: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ConceitossobreSO

• EntradaeSaída• Segurança– Unix

• Bitsrwx – Proprietário,GrupoeOutrosusuários

• Interpretadordecomandos– Shell– NãofazpartedoSO,masoutilizaintensamente

29

Page 30: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ConceitossobreSO

• Deadlock (Impasses)

30

Page 31: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ConceitossobreSO

• Memória– Monoprogramação

• Dedicaçãoaúnicoprocesso• Semproteção

– Multiprogramação• Proteçãoentreváriosprocessos• Tamanhoinsuficientedememóriaexistente

31

Page 32: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ConceitossobreSO

• ModoUsuáriox ModoNúcleo• Comoépossívelumprogramalerumarquivoseexecutanomodousuário?– Executaremmodonúcleooprograma?– Modificar,apenasnomomento,paraomodonúcleo?

• ChamadaaoSistema

• Chamadaaosistema– InterfaceentreoSOeoníveldousuário– Mecanismodeproteçãodonúcleo

32

Page 33: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ChamadaaoSistema

• Fornecemabstraçõesaosprogramas• Administrarrecursosdoscomputadores

33

AplicaçãoChamadaao

Sistema Núcleo

Hardware

Page 34: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ChamadaaoSistema

• contador = read( arq, &buffer, nbytes)

34

DespacheTratador dechamadaaosistema

Espaçodousuário

Espaçodonúcleo (SO)

Procedimentoreaddabiblioteca

Programadousuáriochamandoread

Retorneparaquemochamou

Desvieparaonúcleo- TRAP

Coloqueocódigoparareadnoregistrador

Armazenearqnapilha

Armazene&buffernapilha

Armazenenbytesnapilha

IncrementeSP(apontadordapilha)

Chameread

1

2

3

4

5

6

7 8

9

10

TRAP– Instruçãoquedesviaparaonúcleo.

Page 35: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

ChamadaaoSistema

35

Gerenciamento de processospid = fork() Criar processo filho idêntico ao processo pai

pid = waitpid(pid, &staloc, options) Aguarde um processo filho terminar

s = execve(name, argc, environp) Substitua o espaço de endereçamento do processo

exit (status) Termina a execução do processo e retorne o status

Gerenciamento de arquivosfd = open(file, how, ...) Abrir arquivos para leitura, escrita, ambos

s = close(fd) Feche arquivo aberto

n = read(fd, buffer, nbytes) Leia dados de um arquivo para o buffer

n = write(fd, buffer, nbytes) Escreva dados de um buffer para um arquivos

Gerenciamento de diretórios e arquivoss = mkdir(name, mode) Criar novo diretórios

s = rmdir(name) Remover diretório vazio

Diversass = chdir(dirname) Altere o diretório de trabalho

s = chmod(name, mode) Altere os bits de proteção do arquivos

Page 36: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

EstruturadosSO

• Sistemasmonolíticos• Sistemasdecamadas• Micronúcleo• ModeloCliente-Servidor• Máquinasvirtuais

36

Page 37: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

EstruturadosSO

• Sistemasmonolíticos– Nãoexisteocultaçãodefunções

• Todasfunçõespodemchamartodas– Falhaemumfunçãopodederrubarosistema

37

Chamadaaosistema

Hardware

aplicaçãoaplicaçãoModoUsuário

ModoNúcleo

Page 38: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

EstruturadosSO

• Sistemasdecamadas– Nívelmaiorqueorganização– Hierarquizadoemcamadas

• Superiorutilizavaainferior• Proteção

38

THE(TechnishcheHogeschool Eindhoven) foioprimeirosistemadesenvolvidoemcamadas.

Page 39: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

EstruturadosSO

• Micronúcleo– Diminuiroexcessodecódigodomodonúcleo– DivisãodoSOemmódulospequenos– Modulomicronúcleoéoprincipalmódulo

• Únicoexecutadonomodonúcleo

– Exemplos:Minix3,Symbiam

39

Page 40: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

EstruturadosSO

• Cliente-Servidor– Semelhanteaomicronúcleo– Processos:ServidoreseClientes– Comunicaçãoéfeitaportrocademensagens

40

Page 41: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua

EstruturadosSO

• MáquinaVirtual– ComputadorFictício– Implementadaaníveldesoftware– Hipervisor deTipo1eTipo2

41

Page 42: 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional Hardware. Vinícius Pádua ... – Sistemas operacionais de rede e distribuídos 16.

ViníciusPáduaViníciusPádua 42