introdução - sistemas operativosso.dcti.iscte.pt/www/uploads/material/so-t1.pdf ·...
TRANSCRIPT
ObjetivosdeumSO
§ Transformarohardwarenumamáquinasimplesdeusar
§ ObteromáximorendimentodoHardware◦ oscomputadoressãodispositivosdispendiosos◦ cedoseviuquepoderiamfazerváriascoisasemsimultâneo
Avidasem umSistemaOperativo◦ Onde está oficheiro?qual odisco,pista,setor?qts blocos?◦ Seohardwareentretanto mudar ocódigo temdemudar…
Avida comumSistemaOperativo
2
file = open ("test.txt", O_WRONLY);write (file, "test", 1);close (file);
EvoluçãoHistórica
7
Page 7
Sistemas Operativos – DEI - IST
UMA PERSPECTIVA DA EVOLUÇÃO HISTÓRICA
Sistemas Operativos – DEI - IST
Evolução histórica
3
4
História:1ªGeração(1945-55)
§ Inexistênciadoconceitodesistemaoperativo
§ Computadoresaválvulas,grandeselentos
§ Aprogramaçãodasmáquinaserafeitaatravésdaligaçãode“plugboards”(placascomcomponenteseléctricos)
§ ENIAC(1946)- Desenvolvidopeloexércitonorte-americanoparacálculobalístico
5
História:2ªGeração(1955-65)
§ Introduçãodosistemadeprocessamentoporlotes(batch systems)◦ Input,processamentoeoutputfeitosemmáquinasdiferentespararentabilizarotempodeCPU
§ Computadoresatransístores
§ Primeirossistemasoperativos:◦ FMS(FortranMonitorSystem)◦ IBSYS(BellLabs)
§ Exemplo:IBM1401eseusperiféricos
História:3ªGeração(1965-80)
§ Multi-programação eMulti-utilização◦ Multi-programação (multiprogramming):Capacidadedeexecutarváriosprogramassimultaneamente
◦ Multi-utilização (timesharing):Capacidadedeváriosutilizadorespoderemutilizarsimultaneamente omesmocomputador
§ Omecanismodasinterrupçõespermitemultiplexaroprocessadorentreváriasatividadesconcorrentes.
§ ComputadorescomCIs
§ Primeiraslinhasdecomputadorescomerciais
§ Aparecimentodosmini-computadores
CI com 3 transístors
3 trabalhos em memória6
História:3ªGeração(1965-80)
§ SistemasOperativos:◦ OS/360,CTSS,MULTICS,UNIX(System VeBSD)
IBM System/360
Text
DEC PDP-117
História:4ªGeração(1980-)
§ Computadorespessoais
§ LSIeMicro-computadores
§ Memóriavirtual
§ Interfacesgráficas(GUI)
§ Sistemasemrede
§ Sistemasdistribuídos
§ SistemasOperativos:◦ VMS,Xenix,Minix,Solaris,Linux,MAC-OS,CP/M,DOS,Windows,etc...
8
Históriamaisrecente
§ portáteis
§ telefones
§ tablets
§ carros
§ máquinas fotográficas (firmware)
§ TV
§ eletrodomésticos
10
Oquefazumsistemaoperativo?
Háváriospontosdevista
§ Osutilizadoresqueremconveniência,facilidadedeutilização,bomdesempenhoenãoseimportamcomosrecursosutilizados
§ Computadorespartilhados,taiscomomainframesoumicrocomputadores têmdemanterosutilizadoressatisfeitos
§ Computadoresdebolsotêmmenosrecursosesãootimizadosparausabilidade evidadabateria
§ Computadores,taiscomosistemasembebidosemdispositivoseautomóveis,têmpoucoounenhuminterfacecomoutilizador
TiposdeSistemasOperativos
§ SOs paraMainframes◦ Capacidadeparalidarcommuitastransaçõesdedados◦ Acessoremotodemilharesdeutilizadores◦ DesempenhodemúltiplasoperaçõesdeI/O◦ Utilizadosemcompanhiasaéreas,bancos,seguradoras,etc.◦ Exemplo:IBMOS/390◦ TêmvindoasergradualmentesubstituídosporLinuxououtrasvariantesdoUnix.
§ SOs paraComputadoresPessoais◦ Oferecemumbomconjuntodeserviçosaumúnicoutilizador(emgeral)eumainterfacegráficaamigável(ex:Windows,MacOS,Linux)
13
TiposdeSistemasOperativos
§ SOsparaServidores◦ Oferecemumconjuntodeserviçosnumarededecomputadoreslocal(LAN- LocalAreaNetwork)◦ Partilhadeficheiroseperiféricos(e.g.impressoras)◦ Acessoàinternet
◦ Exemplos:◦ Solaris,FreeBSD,Linux,WindowsServer201x
§ SOsparaMultiprocessadores◦ CapacidadedepermitiremaligaçãoentrediversosCPUsdeumsistema◦ Muitossistemasoperativosrecentescorrememmultiprocessadores.◦ Exemplo:Unix,Windows,Linux,Android,IOS...
14
TiposdeSistemasOperativos
§ SOs tempovirtual◦ Otempodeexecuçãodosprogramasnãotemrelaçãocomotempoexterioraocomputador
◦ Sistemasmaisutilizadosnamaioriadoscomputadores,querclientes,queservidores(ex:Windows,MacOS,Linux)
§ SOs temporeal◦ Utilizadosparacontrolodeprocessosnosquaisotempoéofatormaisimportante.Dárespostaaumacontecimentonumintervalodeterminado,casocontrárionãocumpreaespecificaçãoefalha.
◦ Inicialmenteusadosemprocessosindustriaisehojetambémparajogos,sistemasdecontroloemautomóveis,aviões,etc
◦ OfertaextensadeSOs detemporeal,muitosparasistemasembebidos
15
TiposdeSistemasOperativos
§ SOs paracomputadoresdebolso◦ Tablets,smartphones,etc.HojeemdiabastantesofisticadoselidamcomváriosCPU,muitamemóriaesensores,taiscomo:GPS,cameras,etc.
◦ Exemplos:Android,iOS,...
§ SOs parasistemasembebidos◦ Controlodeelectrodomésticos epequenosdispositivosquenãoseolhamcomocomputadores(e.g.,televisão,carro,telefonesantigos)
◦ Softwareintegradocomohardware.◦ Sistemadesenvolvidoparaumconjuntodeoperaçõesenãoofereceinterfaceparadesenvolveraplicações
◦ Exemplos:ITRON,Embedded Linux,LynxOS,Vxworks,etc.
16
ClassificaçõesdeSOs
§ Mono-utilizador vs.Multi-utilizador
§ Mono-programação vs.Multi-programação
§ Dedicadovs.usogeral
§ Centralizadovs.distribuído
§ Proprietáriovs.aberto
17
ClassificaçãodeSOs
§ Mono-utilizador◦ OCPUsópodeestardedicadodeformainterativaaumconjuntodeprocessosdomesmoutilizador◦ MS-DOS,todososWindows
§ Multi-utilizador◦ OtempodeprocessamentodoCPUdeumcomputadorpodeserpartilhadopormaisdoqueumutilizadordeformainterativa.◦ Unix,Linux
18
ClassificaçãodeSOs
§ Mono-programação/processamentoporlotes◦ Cadaprogramamonopolizaoprocessadoratéterminar◦ Spectrum◦ DOS(àpartedosprogramasresidentes)
§ Multi-programação◦ Capacidadedecorrerváriosprogramassimultaneamente(emconcorrência)◦ Unix,Linux◦ todososWindows
19
ClassificaçãodeSOs
§ Dedicado◦ SistemaOperativoprojetadoparaaplicaçõesespecíficas◦ Exemplos:◦ Controlodeumalinhademontagem- SOs emtemporeal◦ Gestãodetransaçõesnumacompanhiaaérea- SOs paraMainframes◦ Interfaceparaumtelemóvel– SOembebido(embedded)
§ Usogeral◦ Projetadosparaumafácilutilização◦ Permitemaexecuçãodeumagrandevariedadedeprogramas◦ Reconhecemumagrandediversidadedeperiféricos
20
ClassificaçãodeSOs
§ Centralizado◦ OSistemaOperativocriaumamáquinavirtualsobreumúnicocomputador
§ Distribuído◦ OSistemaOperativoquecorresobreumconjuntodecomputadores,dandoailusãodequeesteconjuntoéumaentidadeúnica◦ Sistemasdistribuídospuros◦ Sistemasemrede
21
ConceitodeSistemaOperativo
§ O SistemaOperativo podeserdefinidocomoumconjuntodeprogramasquepermitemumainteração simplificadaentreoutilizadoreamáquina
Hardware
Sistema Operativo
AplicaçõesUtilizador
CPU, memória, dispositivos I/O22
processador de texto, web browser, compiladores, bases de dados, jogos
23
SOvistocomoGestordeRecursos
§ OSistemaOperativo podeservistocomoumGestorderecursos◦ Efetuaagestãodosdiversoscomponentesdaarquiteturadeumcomputador,impondoordemnaatribuiçãoderecursosaosprogramas.
◦ Tiramáximopartidodosrecursosdisponíveis◦ TempodeCPU,memória,disco,periféricos,etc.
◦ Aspetosdamáquinafísica(interrupções,memória,dispositivos,...)dificilmentepoderiamsercontroladospelasaplicaçõesdiretamente
◦ Permiteabstrairosrecursosfísicos,oferecendoàsaplicaçõesumconjuntoderecursoslógicos.
Recursos lógicos Recursos físicosvirtualizados
Processos CPU
Espaçosdeendereçamentovirtuais
MemóriaRAM,unidadedegestãodememória
Ficheiros Dispositivos dememóriademassa
Periféricosvirtuais Periféricosfísicos
Canaisdecomunicação Redes dedados
Utilizadores Utilizadoreshumanos
SOvistocomoMáquinaVirtual
§ OSOtambémpodeservistocomoumaMáquinaVirtual◦ Dáaoutilizadorailusãodedispordeumamáquinamuitomaisfácildeutilizareprogramardoqueohardware.
◦ Criaumamáquinavirtualsobreamáquinafísica,queofereceosrecursoslógicosbásicosparaodesenvolvimentodeaplicações,Independentedohardwareondeexecuta
Aplicações
Sistema OperativoMáquina física
Hardware
Máquina virtualAplicações Aplicações
Modoutilizadoremodonúcleo
§ Processador (CPU)◦ Elementoativodosistemaqueexecutaprocessos
§ Osprocessadoresmaisrecentessuportam◦ Modoutilizador(User Mode /protected mode)◦ DisponívelumsubconjuntodasinstruçõesdoCPU.Énestemodoquecorremasaplicações
◦ Modonúcleo(Kernel Mode /supervisormode)◦ Modoprivilegiadodoprocessador,paraoqualtodasasinstruçõesestãodisponíveis.SóoSistemaOperativoéquetemacessoaestemodo
26
FunçõesdoSistemaOperativo
§ Gestãodeprocessos
§ Gestãodememória
§ Input/outputcomperiféricos
§ Sistemadeficheiros
§ Comunicaçãopelarede
§ Autenticaçãoesegurança
§ ...
Processos
§ Umprocesso ébasicamenteumprogramaemexecução◦ Numsistemamulti-programado,váriosprocessospodemestaracorrersimultaneamente
◦ Contudo,quandoexisteumsóprocessador,apenasumprocessopodeutilizá-loemcadainstantetemporal
◦ Osprocessosconcorrempeloprocessadorecooperamentresipararealizartarefasmaiscomplexas
28
Gestãodememória
§ Gestãodememória◦ Divisãoestruturadadamemóriademodoaserpossívelocarregamentodediversosprogramasnamemóriaprincipal◦ ColocaçãoeProteção
◦ Existênciademecanismosquepermitamocrescimentodamemóriadedadosdeumprograma◦ Reservadememória
◦ Gestãodoespaçodeendereçamentodemodoaquesepossaterumacapacidadedememóriasuperioràdamemóriaprincipal(aRAM)–MemóriaVirtual
30
Input/outputcomperiféricos
§ PeriféricoseI/O(input/output)◦ Gestãodasoperaçõesdeescritaeleituranosdiversosperiféricos◦ Teclado,impressora,terminaisdetextoegráficos,discos,etc.
◦ Tratamentodeinterrupções edeerros◦ Device drivers◦ Programasparagestãodeperiféricosespecíficos
32
Sistemadeficheiros
§ Sistemasdeficheiros◦ Gestãodainformaçãonão-volátilarmazenadaemmemóriasecundária(discos,tapes)
◦ Providenciarumníveldeabstraçãoparaqueoutilizadornãosepreocupecomosdetalhesdautilizaçãodediscos,disquetes,etc.
◦ Chamadasaosistema:◦ Criação,remoção,cópia,escritaeleituradeficheiros
33
SOeaplicações,comocoexistem?
Épossíveldevidoàexistênciade
§ 2modosdeexecução
§ Instruçõesprivilegiadas
§ Traduçãodememória
§ Exceções
§ Interrupções
§ ChamadasaoSistema
AplicaçãoA
Núcleo
call open
open()
open_syscall
Tabeladeinterrupções
espaçodeendereçamentodoprocesso
espaçodeendereçamento
donúcleo
exceção
BasedaSegurançadosistema
Razõesparapassaraomodonúcleo
§ Exceções◦ causadaspeloprocesso◦ acessoaendereçoinválido,divisãoporzero,etc...
§ Interrupções◦ originadasemperiféricos...◦ detemporização
§ ChamadasaoSistemaExceção
Chamadaaosistema
Formataparâmetros
Verificaseendereçossãoválidos
Guardaparâmetrosnapilhaeemregistos
modonúcleo
modoutilizador
Retiraparâmetrosdesaída
Retornodachamadadosistema
RTI
SO:comopodeestarorganizado?
§ EstruturaMonolítica◦ Umúnicosistema,internamenteorganizadoemmódulos◦ Qualquerfunçãopodecomunicarcomqualquerumadasoutras◦ Estruturasdedadosglobais◦ Comodarsuporteàevoluçãoeemespecialanovosperiféricos?◦ Solução:gestoresdedispositivos(device drivers)
◦ problemas?
39
Biblioteca de chamadas sistema
Núcleo do SO
barreira de proteção
Gestores de periféricos
AplicaçõesAplicações Aplicações
40
SO:comopodeestarorganizado?
§ Sistemaemcamadas(Layers)◦ Núcleoestruturadoemcamadasfuncionais◦ Cadacamadautilizaserviçosdecamadasquelhesãointeriores
◦ Cadacamadaéumamáquinavirtualcomumainterfacebemdefinida◦ Torna-sefácilmodificarocódigodeumacamada
◦ Maiorsegurançaerobustez◦ InfluenciousistemascomoIntel◦ Desvantagemprincipal?
SO:comopodeestarorganizado?
§ Micro-núcleo◦ OSOencontra-seorganizadosegundomódulosàvoltadeummicronúcleo(Micro-kernel),geralmentepequenoequeofereceapenasserviçosbásicos◦ gestãodeprocessos,memória,comunicacomohardwareeestabeleceacomunicaçãoentreosdiversosmódulos
41
Organizaçãodonúcleo
§ Modular(Cliente-Servidor)◦ Podeintroduzir-seoconceitodeprocessoclienteedeprocessoservidorquecorrememmodoutilizador
◦ Facilmenteadaptávelasistemasdistribuídos◦ Estruturamaisestável(teoricamente...)
42