introdução - sistemas operativosso.dcti.iscte.pt/www/uploads/material/so-t1.pdf ·...

47
Introdução

Upload: truongbao

Post on 11-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Introdução

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ória:1980-presente

9

Históriamaisrecente

§ portáteis

§ telefones

§ tablets

§ carros

§ máquinas fotográficas (firmware)

§ TV

§ eletrodomésticos

10

ProveniênciadosatuaisSOparaPC

Windows10

extraídode:http://ed-informatics.org/healthcare-it/

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

ConceitoseRevisões

bus

MMU

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

Memória

§ Memóriaeasuahierarquiatípica

29

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

Gestãodememória

§ Sistemasmono-programadosemulti-programados

Base

limite

31

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

Sistemadeficheiros

§ Estruturahierárquica(emárvore)- directórios

34

SOeaplicações,comocoexistem?

§ Problema

AplicaçãoA

Núcleo

call open

open()

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

OrganizaçãodoSistemaOperativo

38

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

Monolíticovs Micro-kernelSystem

Ope

ratin

gsystem

LinuxKernel

Android System Architecture

WindowsNT(=7,8,8.1,10)

Paraoscuriosos...

§ ExtratodeumadiscussãoentreoAndyTanenbaum eoLinusTorvalds acercadodesigndokernel,softwarelivre,etc.◦ “Olinux estáobsoleto”,1992https://root.cern.ch/root/Linus_vs_Tanenbaum.html