Tipos de Sistemas Distribuídos Sistemas Distribuídos Prof. Daniel Leite.
1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional...
Transcript of 1 - Introdução - viniciuspadua.com.br · Arquitetura Básica 4 Programas Sistema Operacional...
INTRODUÇÃO
Sistemas Operacionais
Vinícius Pádua
ViníciusPáduaViníciusPádua
Porquêénecessário?
• Sistemacomputacionalmodernocompostopordiversosdispositivos
• Responsávelpelocontrole?– Programadordeaplicativos?– Necessidadedeterumsoftwarededicadoaestecontrole
2
ViníciusPáduaViníciusPádua
OqueéumSO?
• Softwareresponsávelporgerenciardispositivoserealizarassolicitaçõesdousuáriocomosdispositivos
• ParaqueserveoSO?– Executarprogramasdousuário– Resoluçãogeraldeproblemas
3
ViníciusPáduaViníciusPádua
• SOéumsoftwarecolocadoentreohardwareeosprogramas
ArquiteturaBásica
4
Programas
SistemaOperacional
Hardware
ViníciusPáduaViníciusPádua
Oquefacilitaaosprogramadores?
ArquiteturaBásica
5
Programas
SistemaOperacional
HardwareFacilitaracriaçãodenovoshardware
•Padronizaçãodecomunicação
Facilitarosdesenvolvedoreseusuários finais•Funções,procedimentos•Controledejanelas
Oquefacilitaaoshardware?
ViníciusPáduaViníciusPádua
ArquiteturaBásica
• OndeoSOseencaixaemumsistemacomputacional?
• ModousuárioX Modonúcleo(supervisor)– Apenasomododonúcleotemacessocompletoaohardwareepodeexecutarqualquerinstrução
6
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
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
ViníciusPáduaViníciusPádua
• Máquinaestendida
• Gerenciadorderecursos
Funcionalidades
9
ViníciusPáduaViníciusPádua
• Máquinaestendida– Forneceraosprogramadoresumconjuntoderecursosabstratosclaros• Motivos
– Arquiteturabásicaapresentaprogramaçãodifícil
– Ocultarohardwareeofereceraosprogramasabstraçõesclarasecoerentes
– Ex.:Oarquivo.– Visão:top-down
Funcionalidades
10
ViníciusPáduaViníciusPádua
• Gerenciadorderecursos– Fornecerumaalocaçãoordenadaecontrolada– Evitarqueprogramasutilizemosrecursossimultaneamente
– Protegerqueprogramasacessemamemóriadeoutrosprogramas• Compartilhamentonotempoenoespaço
Funcionalidades
11
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
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
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
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
ViníciusPáduaViníciusPádua
HistóricodosSO
• 4ºGeração(1980- ?)– Computadorespessoais– Iníciodainterfacegráfica– SO:DOS(MS-DOS),Apple,Windows– Sistemasoperacionaisderedeedistribuídos
16
ViníciusPáduaViníciusPádua 17
HistóricodosSO
ViníciusPáduaViníciusPádua
HistóricodosSO
• Resumindo– OquemotivouaevoluçãodoSO?
• Avançostecnológicos• Desenvolvimentoemelhoriadohardware• Aperfeiçoamentodetécnicas
18
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
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
ViníciusPáduaViníciusPádua
ConceitossobreSO
• Processos• Espaçosdeendereçamento• Arquivos• Deadlock• Memória• EntradaeSaída• Segurança• Interpretadordecomandos
21
ViníciusPáduaViníciusPádua
ConceitossobreSO
• Processos– ConceitofundamentoemSO– Éumprogramaemexecução
– Comoumprocessoéexecutado?• Histórico
– Monoprogramação– Multiprogramação
22
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
ViníciusPáduaViníciusPádua
ConceitossobreSO
• Monoprogramação
• Comomelhorarodesempenhogeral?• Emquemomentopoderiaoutroprogramaexecutar?
24
ViníciusPáduaViníciusPádua
ConceitossobreSO
• Multiprogramação
25
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
ViníciusPáduaViníciusPádua
ConceitossobreSO
• Espaçodeendereçamento– Regiãoondeoprocessoexecuta– AoiniciaroSOcedeumespeçodeendereçamento
• Iniciandoem0• Qualotamanhomáximo?
– SOantigos:LimitedamemóriaRAM– SOmodernos:Memóriavirtual
27
ViníciusPáduaViníciusPádua
ConceitossobreSO
• Arquivos– Diretório– Caminho
• \ - Windows /- Unix
– Diretório-raiz– Diretóriadetrabalho– Sistemasdearquivos– Arquivosespeciais
• UNIX
28
ViníciusPáduaViníciusPádua
ConceitossobreSO
• EntradaeSaída• Segurança– Unix
• Bitsrwx – Proprietário,GrupoeOutrosusuários
• Interpretadordecomandos– Shell– NãofazpartedoSO,masoutilizaintensamente
29
ViníciusPáduaViníciusPádua
ConceitossobreSO
• Deadlock (Impasses)
30
ViníciusPáduaViníciusPádua
ConceitossobreSO
• Memória– Monoprogramação
• Dedicaçãoaúnicoprocesso• Semproteção
– Multiprogramação• Proteçãoentreváriosprocessos• Tamanhoinsuficientedememóriaexistente
31
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
ViníciusPáduaViníciusPádua
ChamadaaoSistema
• Fornecemabstraçõesaosprogramas• Administrarrecursosdoscomputadores
33
AplicaçãoChamadaao
Sistema Núcleo
Hardware
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.
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
ViníciusPáduaViníciusPádua
EstruturadosSO
• Sistemasmonolíticos• Sistemasdecamadas• Micronúcleo• ModeloCliente-Servidor• Máquinasvirtuais
36
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
ViníciusPáduaViníciusPádua
EstruturadosSO
• Sistemasdecamadas– Nívelmaiorqueorganização– Hierarquizadoemcamadas
• Superiorutilizavaainferior• Proteção
38
THE(TechnishcheHogeschool Eindhoven) foioprimeirosistemadesenvolvidoemcamadas.
ViníciusPáduaViníciusPádua
EstruturadosSO
• Micronúcleo– Diminuiroexcessodecódigodomodonúcleo– DivisãodoSOemmódulospequenos– Modulomicronúcleoéoprincipalmódulo
• Únicoexecutadonomodonúcleo
– Exemplos:Minix3,Symbiam
39
ViníciusPáduaViníciusPádua
EstruturadosSO
• Cliente-Servidor– Semelhanteaomicronúcleo– Processos:ServidoreseClientes– Comunicaçãoéfeitaportrocademensagens
40
ViníciusPáduaViníciusPádua
EstruturadosSO
• MáquinaVirtual– ComputadorFictício– Implementadaaníveldesoftware– Hipervisor deTipo1eTipo2
41
ViníciusPáduaViníciusPádua 42