SO - Introdução
-
Upload
luiz-paulo -
Category
Documents
-
view
221 -
download
2
description
Transcript of SO - Introdução
-
24/07/2015 SOIntroduo
http://www.ppgia.pucpr.br/~laplima/ensino/soeed/so_common/materia/01_intro.html 1/8
[topo]
Disciplina Introduo Processos & Threads Gerncia de Memria Entrada e Sada Sistemas de Arquivos
Tpicos
Introduo
VisesdoSistemaOperacional
ComponentesdeumSistemaOperacional
ClassesdeSistemasOperacionais
EvoluoehistricodosSOs
Conceitosdehardware
ConceitosbsicosdeSOs
Processos
GernciadeMemria
EntradaeSada
Arquivos
ChamadasdeSistema
Introduo aos Sistemas Operacionais
1.Introduo e Viso GeralUmsistemacomputacionalcompostode:hardware(HW)+software(SW).
1.1.Hardware (HW):
1ou+processadoresmemriaprincipal(RAM)discosimpressorasteclado+mousemonitordevdeointerfacederedeoutrosdispositivosdeentradaesada(E/S)...
Ogerenciamentodestesdispositivosenvolvegrandecomplexidade.
1.2.Software (SW):
Divididobasicamenteemduascategorias:
programasdosistema:oprpriosistemaoperacionalprogramasdeaplicao:demaisprogramas
OSistemaOperacional:
controlarecursosefornecebaseparaaconstruodeaplicaespermiteautilizaodocomputadordeformaeficienteesegura
OSO"esconde"acomplexidadedoHWsubjacentefornecendoaoprogramadorumconjuntodeinstruesmaisconveniente.
Software:comoosrecursosseroutilizados
ProgramasdeAplicao(ex:InternetExplore,Word,Firefox,etc.)
Programasdosistema(shell,compiladores,editores)
SO:Controleecoordenaodosrecursos
Programadosistema
Hardware:recursosbsicos(CPU,memria,dispositivosdeE/S,etc.)
Shell:interpretadordecomandos(modotexto)GUI(GraphicalUserInterfaceInterfaceGrficacomoUsurio)
O cdigo fonte de sistemas operacionais comoWindows e Linux: > 5.000.000 de linhas. SOs possuem programao complexa e, portanto,geralmenteevoluemaoinvsdeseremsimplesmentesubstitudos.
LinuxeSistemaOperacional
"Linux":serefereapenasaokerneldesenvolvidoporLinusTorvaldseoutros.Noentanto,otermotemsidousandocomumentecomosendookernelmaisvrios outrosprogramas (ferramentas e bibliotecas) que formamumSO completo.Os chamados "distribuidores" Linux empacotam softwarepara automatizar oprocessodeinstalaoincluindosistemadearquivos,kerneleoutrosprogramas.
Assim,otermo"SistemaOperacional"(SO)podeter2sentidos:
1. Todoo"pacote"comosprogramasusadosparagerenciartodososrecursoscomputacionaisjuntamentecomasferramentas(porexemplo,interpretadoresdecomandos,interfacesgrficas,utilitriosdearquivoseeditores).
2. Maisprecisamente,serefereaoprogramacentralquegerenciaealocarecursoscomputacionais(CPU,RAMedispositivos).
2.Vises do Sistema Operacional
SistemasOperacionaisIPUCPREscola
PolitcnicaLuizA.P.LimaJr.
-
24/07/2015 SOIntroduo
http://www.ppgia.pucpr.br/~laplima/ensino/soeed/so_common/materia/01_intro.html 2/8
[topo]
OSOpodeservistoapartirdedoisngulosouperspectivasdiferentes,conformeafiguraabaixo:
2.1.O Sistema Operacional como Mquina Estendida
Viso"topdown".
Controladordeentradaesadadeumaunidadededisquete(PD765):
16comandos:leitura,escritamovimentaodobraododisco,formatao,etc...Bsicos:READeWRITEcom13parmetroscada:
endereodoblocoaserlido(trilha/setor);nmerodesetoresportrilha;mododegravaonomeiofsico;espaamentoentresetores;etc.
Valorderetorno:estruturacom23camposdeestadoedeerros.
Almdisso:deveacionarmotorantesdepoderler/escrever,masnopodedeixloligadoininterruptamentesobpenadedanificarodisco.
TudoissoencerraumagrandeCOMPLEXIDADE.
ComoSistemaOperacional,acomplexidade"escondida"doprogramador(edousurio)pormeiodasseguintesabstraes:
Disco=coleodearquivosidentificadospornomes.Manipulaodearquivos:
Abrearquivoparaleitura/escrita;L/escrevedadosnoarquivo;Fechaoarquivo.
EstaavisodosistemaoperacionalcomoumaMquinaEstendida:equivalenteaohardware,pormmaissimples.Osistemaoperacionaltemporobjetivodaraousurioailusodequeamanipulaodosrecursoscomputacionaismaissimplesdoquenarealidade.
2.2.O Sistema Operacional como Gerente de Recursos
Viso"bottomup".
Osistemaformadoporgrandenmerodedispositivos:
processador(es);memria;temporizadores;discos;impressoras;etc.
Oqueacontecesevriosprocessosresolvemimprimirdadossimultaneamentenamesmaimpressora?Ousequiseremacessaraomesmotempoamesmaposiodememriaoudisco?
OutroexemploaquestodaproteodememriadedosdemaisdispositivosdeE/S.
Ocompartilhamentoderecursoscomputacionais:notempo(diferentesprogramasouusuriosaguardamcadaumasuavezdeusarorecursoexemplos:CPUou impressora)enoespao (diferentesprogramasusamsimultaneamentediferentes "partes"dos recursosexemplos:memriaedisco).
OSistemaOperacionaltemoobjetivoderesolverestesproblemasatravsdagernciadocompartilhamentoderecursos.Oseuobjetivogerenciarosusuriosdecadaumdosrecursosdamquinagarantindooacessoordenadodeusuriosarecursosatravsdamediaodeeventuaisconflitos(oquebastantecrticoemsistemasmultiusurio).
3.Componentes de um Sistema Operacional
-
24/07/2015 SOIntroduo
http://www.ppgia.pucpr.br/~laplima/ensino/soeed/so_common/materia/01_intro.html 3/8
[topo]
[topo]
Kernel(ncleo)GernciadeProcessosGernciadeMemriaGernciadeEntradaeSadaGernciadeArquivosControledeusuriosGernciadeJanelaseGUI(interfacegrfica)GernciadeRedesGernciadeErrosContabilidadedeusoderecursosGernciadesegurana
3.1.O Kernel
OkerneldoSOconcentraoacessoaohardware:
driversdedispositivos;gernciadeacesso.
Funesbsicas:
operaesdeacessoaohardwarenoobsicadeprocessos(escalonador)comunicaoentreprocessos
Okernelexecutadoemmodoprivilegiadooumodokernel(tendoacessoatodooHWesendocapazdeexecutarqualquerinstruoqueaCPUcapazdeexecutar).OrestantedoSWdosistemacomputacional(restodoSO+aplicaes)executadoemmodousurio(ondesomentepartedoconjuntodeinstruesdamquinaestdisponvel,porquestesdeseguranadeoperaodosistema).
4.Classes de Sistemas OperacionaisTiposbsicosdesistemasoperacionais:
4.1.Monotarefa
1processo,1usurioExemplo:MSDOSSistemasemlote(batch)Sistemasantigos
4.2.Multitarefa
Vriosprocessos,1usurio(Windows,Linux,MacOS).TempodeesperaparaE/S:80a90%dotempototaldeprocessamento=>divisodamemria:
enquantoumatarefaesperavaqueaE/Ssecompletasse,outrapoderiausaraCPU.Estatcnicaconhecidacomomultiprogragramao
Umamultiprogramaodestetipo(cedendoavezquandofazE/S)noadaptadaparaprocedimentosinterativos,eoprogramador,porexemplo,tinhaqueesperaratquehouvesseacompilaodoseuprogramaparaidentificarumerroe,ento,podercorrigilo.Istopoderialevarmaisde1dia.AssimsurgiuocompartilhamentodetempodeCPU(outimesharing),comovariantedamultiprogramaoparasistemasinterativos.Exemplos:UNIX(Linux),Windows,MacOSX,...(amaioriadossistemasoperacionaisatuais).
4.3.Multiusurio
Vriosprocessos,vriosusuriosExemplos:Mach,Amoeba,Chorus.
4.4.Sistemas operacionais em rede
Usuriossabemdaexistnciadeoutroscomputadoresconectadosrede.Podemconectarseamquinasremotasecopiararquivos.Cadamquinaexecutaoseuprpriosistemaoperacional.
4.5.Sistemas operacionais distribudos
Ilusodeumprocessadornico.Usurionosabeondeoseuprocessoestsendoexecutado,ouondeosseusarquivosestolocalizados.AtrasosdecomunicaonaredeeatualizaoderplicasdedadosprecisamserconsideradospeloSOdistribudos(oqueminimizadoemsistemasemumanicamquina).
5.Evoluo dos Sistemas Operacionais
-
24/07/2015 SOIntroduo
http://www.ppgia.pucpr.br/~laplima/ensino/soeed/so_common/materia/01_intro.html 4/8
5.1.Breve histrico do UNIX, Linux e software livre [2]
fimdosanos60
MIT,BellLabseGEiniciamodesenvolvimentodosistemaoperacionalMULTICS(MultiplexedInformationandComputingService).
1969KenThompsoneDennisRitchiedesenvolvemumaversosimplificadadoMULTICSemumPDP7abandonadonoBellLabs.EssesistemaserbatizadoporBrianKernighancomoUNICSedepoisUNIX.
197273
PortagemdoUNIXparaoPDP11/20,PPDP11/40ePDP11/70;parasimplificaraportagem,KenThompsontentareescreveroUNIXemumalinguagemdealtonvel(B,simplificaodeBCPL);aequipemelhoraalinguagemBecriaalinguagemCparareescreveroUNIX,antesescritoemassembly.
anos70
UNIXusadonasuniversidades;oBellLabsliberalicenciafontesparaensinoepesquisa.
1976 Primeiraversocomercial(Verso6).
1978 IniciaodesenvolvimentodoUNIXBSD(BerkeleySoftwareDistribution),comBillJoyeOzalpBabaoglu.
anos80
UNIXumprodutocomercialgrandeecomplexo.
1983ApstertentadosemsucessoobterocdigofontedofirmwaredeumaimpressoraXeroxparacorrigirumdefeitodeoperao,RichardStallman(MIT)criaoProjetoGNU.Esseprojetovisaconstruirferramentasparaproduzirsoftwarelivre.
1984 OambientegrficoXWindowsdesenvolvidonoProjetoAthenadoMIT.
1987 AndrewTanenbaum,umprofessordaHolanda,escreveumaversodidticasimplificadadoUNIX,denominadaMINIX.
1987 SolanadososprimeirosPCsbaseadosnaCPUIntel386,quetrazmecanismosavanadosparaproteodeacessomemria.
1988 OambienteXWindows11r2divulgadoaopblico.
1991
CriaodoLinux(ncleo0.01)porLinusTorvalds,estudantedeinformticafinlandscombasenoMINIX.
1992OncleoLinuxjsuportaasferramentasdoprojetoGNUeoambientegrficoXWindows,constituindoumambientecompletodesoftwarelivre.
1992 PrimeirasdistribuiesLinux:MCCInterimLinux,TAMUeSLS.
1994 LanadookernelLinux1.0
1996 LanadookernelLinux2.0
2004 LanadookernelLinux2.6
2011 LanadookernelLinux3.0emcomemoraoaos20anosdoLinux.
VejaalinhadotempodoUNIX.
5.2.Breve Histrico do Windows
1974LanadooIntel8080(1aCPUde8bits).AEmpresaDigitalResearchdominaomercadocomoSOCP/M(ControlProgramforMicrocomputers).
1980IBMlanaoPC.PessoaldaDigitalResearchserecusaacriarumSO.BillGatesadquireoDOS(DiskOperatingSystem)daSeatleComputerProductsporUS$50.000,00,fundaaMicrosoft,eorenomeiaparaMSDOS.
dcadade1980
AtesedeDougEngelbart(anos60)propunhaummodelodejanelas,cones,menus,etc.comumaInterfaceGrficacomoUsurio(GUI)noimplementadadevidoquantidadedememrianecessria(muitocaranapoca).Nestadcada,aXeroxdesenvolveuumainterfaceparaassuasmquinascopiadorasbaseadanatesedeEngelbart.SteveJobs,criadordaApple,percebeopotencialdainterfacedaXeroxeaincorporaemseuproduto:oMacintosh.
1985
AMicrosoftcriaoWindows(verso3.1)numatentativadeincorporarGUIaoMSDOS.Durante10anos(i.e.at1995),oWindowsfoimeramenteumambientegrficorodandosobreoMSDOS.
1995Windows95:oprimeiroSOdaMicrosoftindependentedoMSDOS.
1998
Windows98:praticamenteumaatualizaodoWindows95paracorrigirbugs.
EmparaleloaMicrosoftdisparaoprojetodoWindowsNT(NewTechnology)cujoobjetivoerareescreverinteiramenteoWindows95comoobjetivodeaposentarversesantigas.Masapenasaverso4.0doNTfoiquerealmentedeslanchou.
Lanadaaverso5.0doWindowsNT,maisconhecidacomoWindows2000.
-
24/07/2015 SOIntroduo
http://www.ppgia.pucpr.br/~laplima/ensino/soeed/so_common/materia/01_intro.html 5/8
[topo]
1999
TambmlanadooWindowsME(umaversoatualizadadoWindows98).
2001
LanadoWindowsXP,baseadononcleodoNTcomaintenodejuntarNT/200e95/98/MEemumnicoproduto.
2007
WindowsVista:alteraonainterface(Aero)edemecanismosdesegurana.
2009Windows7:umreprojetodeinterfacecomousuriocomumanovabarradetarefas,umsistemaresidencialderede(HomeGroup)emelhoriasdedesempenho.
2012
Windows8:Foconamelhoradaexperinciadousurioemdispositivosmveis(tentativadeunificaodainterface).Outrasmelhorias:suportecomputaoemnuvem,segurana(suporteembutidoaantivrus;suporteabootseguro:UEFI),...
VejaimagemdarvoredeevoluodoWindows:
LinhadotempodafamliaWindows[REF]
6.Conceitos Bsicos de Hardware
6.1.Processadores
CPU(UnidadeCentraldeProcessamento):buscarinstruesnamemriaeexecutlas.CadaCPUpossuiumconjuntoespecficodeinstruesquecapazdeexecutar.TodasasCPUpossuemregistradoresinternosparaarmazenamentodevarveisimportanteseresultadostemporrios:
contadordeprograma(ProgramCounter=PC):contmoendereodememriadaprximainstruoaserbuscadaparaexecuo.ponteirodepilha(StackPointer=SP):topodapilhadeprogramaatualnamemria(informaesnapilha:parmetrosdeentrada,variveislocais,endereoderetornodePC,etc.).
-
24/07/2015 SOIntroduo
http://www.ppgia.pucpr.br/~laplima/ensino/soeed/so_common/materia/01_intro.html 6/8
[topo]
ModosdefuncionamentodasCPUs:Modokernel:executaqualquerinstruodoseuconjuntodeoperaesepodeusartodososatributosdohardware(SOrodaemmodokernel);Modousurio:execuodeapenasumsubconjuntococonjuntodeinstrueseacessolimitadoaohardware(E/Seproteodememriasogeralmenteinacessveisnomodousurio).
ParaacessarserviosdoSO:chamadasdesistema(abaixo).
6.2.Memria
MemriaRAM(RandomAccessMemory)=memriaprincipal(voltil)Memriacache:cachehitecachemissMemriaROM(ReadOnlyMemory)(novoltil):rpidaebarata:programadadefbrica.MemriaEPROM(ElectricallyErasableROM)ememriaflash:novolteis,passveisdereescrita.MaislentasqueRAM.
6.3.Entrada/sada e Interrupes
Controladores:hardwarequecontrolafisicamenteosdispositivos("placa").Drivers:programasquesecomunicamcomoscontroladoresenviandocomandoserecebendorespostas.Precisamserexecutadosemmodokernel.Paratanto,soincorporadosaoSOnomomentodobootdosistemaouoSOpodesercapacitadoainstalarnovosdriversdinamicamentesemanecessidadedereboot.
7.Exemplos de sistemas operacionais em diversos equipamentosComputadoresdegrandeporte:OS/390(sendogradativamentesubstitudosporUNIXouLinux).Servidores:Solaris,FreeBSD,Linux,WindowsServer.Multipricessadores:WindowseLinux.Computadoresportteis:SymbianOS,PalmOS,iOS,Android.Embarcados:QNXeVxWorks.Sensores:TinyOS.Temporeal:verportteiseembarcados.Smartcards:tipicamente,proprietrios.UsamJVMs(JavaVirtualMachines).
8.Conceitos Bsicos de SO
8.1.Processos
OconceitodeprocessoschaveemSistemasOperacionais.
Processo=instnciadeumprogramaemexecuo.
Oespaodeendereamentodoprocessoformadode:
texto:instruesdoprograma;dados:variveiseconstantesestticasusadaspeloprograma;heap:reaondememriadinmicareservada.pilha:readememriaquecresceeencolhemedidaemquefunessochamadasouquandoseretornadelas.Armazenaigualmenteasvariveislocais.
PrincipaisregistradoresdaCPUenvolvidos:
contadordeprograma(PCProgramCounter)ponteirodepilha
Compartilhamento do tempo de CPU produz a iluso de processos rodando simultaneamente. Como o SO interrrompe os processos, h anecessidadedereinicilosmaistardeapartirdopontoondeforaminterrompidos.
Escalonamento: recuperar informaes sobre o estado do processo quando foi interrompido. Esta informao armazenada em estruturachamadatabeladeprocessos.
Umprocessopodecriaroutrosprocessos(filhos).Cadaprocessopossuiumidentificadorniconosistema(PID).Anecessidadedecomunicaoentreprocessos.
8.2.Gerncia de Memria
Amemriaprincipaldocomputador(RAM)utilizadaparaarmazenarosespaosdeendereamentodosprocessos.
SOsimples:1programaporveznamemria.SOsofisticados:vriosprogramassimultaneamentenamemria(necessidadedeproteo).
Omecanismodememriavirtualutilizadopara"estender"amemriaprincipal(fsica)atravsdousododisco.
8.3.Entrada e Sada (E/S)
-
24/07/2015 SOIntroduo
http://www.ppgia.pucpr.br/~laplima/ensino/soeed/so_common/materia/01_intro.html 7/8
DispositivosdeE/S:
teclado;mouse;monitordevdeo;impressora;etc.
impemanecessidadedegerenciamentoporpartedoSO.
8.4.Sistemas de Arquivos
OSOdevesercapazdelocalizardadosemarquivosarmazenadosemdiscosmagnticosououtrosmeios.
Organizaodosistemadearquivos:diretrios=agrupamentosdearquivoseoutrosdiretrios.
Hierarquia:rvoregenrica.
NoUNIX:
Diretrioraiz:/(barra)Diretriosuperior(pai):..(pontoponto)Diretriocorrente:.(ponto)Separadordediretrios:/(barra)
NoWindows:
Diretrioraiz:C:\Diretriosuperior(pai):..(pontoponto)Diretriocorrente:.(ponto)Separadordediretrios:\(barrainvertida)
Umarquivoreferenciadode2formas:
refernciaabsoluta:caminhoapartirdaraiz.Exemplo(UNIX):
/home/prof/laplima
refernciarelativa:caminhoapartirdodiretriocorrente.Exemplo(UNIX):
../home/prof/laplima
Arquivosespeciais:paraquedispositivosdeE/Spossamsertratadospelosusurioscomosefossemarquivoscomuns.
UNIX:
stdout:sadapadro(tela)stdin:entradapadro(teclado)stderr:sadadeerrospadro(tela)
Arquivosespeciaistemporrioschamados"pipes"soutilizadosparacomunicaoentreprocessos.
8.5.Chamadas de Sistema (System Calls ou Syscalls)
Umachamadadesistemaumpontodeentradacontroladoparaokernelquepermitecomqueprocessossolicitemalgumaaodokernelemnomedoprocesso.Usadaspelosprogramasdosusuriosparasolicitarserviosdosistemaoperacional.CadasystemcallnormalmenteespecficadeumSO.
Aseo2dasmanpageslistaaschamadasdesistemadoLinux.
Execuodeumachamadadesistema:
"Trap":instruesdechamadaaosistematransferemocontroleparaoSO(alternandodomodousurioparaomodokernel);Trapsdehardwareavisamsobresituaesexcepcionais(exemplo:divisoporzero)oSOassumeocontroleedecideoquefazernestescasos.chamadasdesistema:semelhantesachamadasdeprocedimentos,excetopelofatodequefazemcomqueosistemaentreemmodokernel.
-
24/07/2015 SOIntroduo
http://www.ppgia.pucpr.br/~laplima/ensino/soeed/so_common/materia/01_intro.html 8/8
Exemplodesystemcall(UNIX):
contador=read(fd,buffer,nbytes);
+seo2dasmanpages.
Leiaocaptulo1dolivrotexto(Tanenbaum,"SistemasOperacionaisModernos",2aedioemdiante)Resolvaosexerccios1,2,7,9,16,21,23.