Professional Documents
Culture Documents
SistemasOperacionais
Contempla:visogeraldesistemasoperacionais,DOSeWindows Verso2.1 Fevereirode2007 Prof.Jairo jairo@uninove.br professor@jairo.pro.br
http://www.jairo.pro.br/
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/1/50
SistemasOperacionais
SistemasOperacionais
Ocontedoapresentadoem"SistemasOperacionais"temcomofinalidadeservirdeguia didticoevisafornecerconhecimentosbsicosemsistemasoperacionais.Suaorigemvemdasnotas deauladoProf.Jairo,portantoumcontedoacadmicocomintenodeauxiliarnoensinoda disciplina"SistemasOperacionais"ministradonoscursosdeCinciasdaComputaoeTecnlogos (cursotcnicos)emRedes,Internet,TecnologiaeSistemasdeInformao. Ocontedoaquiexpostopodeserlivrementeredistribudoeusadocomoapoiodeaula, desdequemantenhaasuaintegridadeoriginal. Oarquivo"jairoso.pdf"estem"http://www.jairo.pro.br/soii/basico/". Qualquercrticaousugesto,favorentraremcontatocomoProf.Jaironoendereo eletrnico"jairo@uninove.br"ou"professor@jairo.pro.br".
SoPaulo,25defevereirode2007.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/2/50
SistemasOperacionais
SISTEMASOPERACIONAIS
Sumrio
1Introduo................................................................................................................................. ................5 2TiposdeSistemasOperacionais...................................................................................... .......................7 2.1Sistemamonotarefa.................................................................................................. .......................7 2.2Sistemamultitarefa............................................................................................................ ..............8 2.3Sistemamultiusurio............................................................................................................ ............8 2.4Sistemadeprogramasemlote............................................................................... .........................8 2.5Sistemadetemporeal................................................................................................................... ...9 2.6Sistemadescentralizado........................................................................................ ..........................9 2.7Sistemacentralizado............................................................................................................ ............9 2.8Sistemadistribudo..................................................................................................... ...................10 2.9Sistemaclienteservidor................................................................................................ ................11 2.10SistemabaseadonaWWW.......................................................................................... ...............12 3Conceitosgerais.............................................................................................................................. .......13 3.1Arquiteturadecomputador.............................................................................................. ..............13 3.2IBMPC......................................................................................................................... .................15 3.3Arquiteturadesistemaoperacional................................................................................ ...............16 3.3.1Chamadasdesistema(systemcalls).......................................................... ...........................16 3.3.2Programasdesistema.................................................................................................... .........17 3.3.3Interpretadordecomandos(shell).............................................................................. ...........17 3.4Arquivos.......................................................................................................................................... 18 3.5Ambientegrfico........................................................................................................ ...................18 4Componentesdosistemaoperacional...................................................................... ............................19 4.1Gerenciamentodememria...................................................................................... ....................19 4.1.1Monoprogramaopura................................................................................. .......................19 4.1.2Multiprogramaocompartiesfixas....................................................................... ..........20 4.1.3Multiprogramaocompartiesvariveis.............................................................. .............20 4.1.4Multiprogramaocomswapping......................................................................... ................21 4.1.5Realocaodeendereoseproteodememria...............................................................21 . 4.1.6Memriavirtual........................................................................................................... ...........21 4.1.7Paginao.................................................................................................................. ..............21 4.1.8Segmentao............................................................................................................... ............22 4.2Gerenciamentodeprocessadoreprocessos................................................................. ................22 4.2.1Conceitodeprocessos...................................................................................... .....................22 4.2.2Escalonadoreescalonamentodeprocessos...................................................... ...................23 4.2.3Concorrncia......................................................................................................................... ..24
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/3/50
SistemasOperacionais
4.2.4Threadouprocessoleve.............................................................................................. ..........24 4.2.5Comunicaoentreprocessos(InterProcessCommunicationIPC)..................................25 4.3Gerenciamentodearquivos...................................................................................................... .....26 4.3.1Interfacedosistemadearquivo................................................................................ .............26 4.3.2Gernciadeespaoemdisco...................................................................................... ...........27 4.3.3Estruturadediretrio................................................................................... ..........................27 4.4Gernciadeentradaesada.................................................................................. .........................28 4.4.1Unidadedeentradaesada............................................................................ ........................28 4.4.2Sistemadeentrada/sada(IOouE/S)............................................................................... ......29 5PrincipaisSistemasOperacionais.................................................................................................... ......30 5.1Histrico......................................................................................................................................... .30 5.2DOS........................................................................................................................................... ......30 5.2.1Origem................................................................................................................................. ...30 5.2.2DOSCompatible............................................................................................................... .....31 5.2.3VersesDOS....................................................................................................................... ...33 5.2.4FAT...................................................................................................................... ...................35 5.2.5ComandosbsicosDOS........................................................................................ ................38 5.2.6Exemplodeusodalinhadecomando............................................................. .....................39 5.3Windows........................................................................................................................ .................40 5.3.1Histrico................................................................................................................................. .40 5.3.2VersesWindows................................................................................................... ...............41 5.3.3WindowsNT............................................................................................................... ...........42 5.3.4SistemadearquivodoNT............................................................................................. ........44 5.3.5OrganizaodaredeWindows...................................................................... .......................45 5.3.6RegistrodoWindows......................................................................................... ...................47 5.3.7InterfacedoWindows............................................................................... ............................48 5.4OS/2..................................................................................................................... ...........................48 5.5UNIX........................................................................................................................................... ....48 5.6Linux............................................................................................................................... ................49
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/4/50
SistemasOperacionais
1 - Introduo
Apalavracomputadorvemdoinglscomputer,quetemsuaorigemnoverbotocompute (computar,calcular).Ouseja,computeraentidadequerealizaclculoseficazmentepoisfoi construdaparatal.InicialmentevoltadoparaasUniversidadeseInstitutosdepesquisa,ondesempre houveanecessidadederesolverproblemasmatemticos,ocomputadorfoicriadocomaintenode agilizarasoluonumricadeequaes. Nesseinciodesculo21,diferentementedosprimrdioshvriasdcadasatrs,o computadorjestbeminseridotantonomercadodetrabalhocorporativoquantoambientedomstico, chegandoaopontodeserconsideradoumamquinaindispensvelsociedadecientfica/tecnolgica emquevivemos. Diferentedasoutrasmquinas,paraumcomputadorfuncionarnecessrioduaspartes complementares:ohardwareeosoftware.Hardwareapartefsica(aquelaspartesquepodemser jogadasnaparede...),jsoftwareapartelgica(apartequenormalmentexingada...). Porexemplo,umdisquetehardware,josarquivosediretrios(pastas)queelecontmsosoftware. Masnemsemprefoiassim.Nopassadooscomputadoreserammecnicose,claro,no tinhamcircuitoseletro/eletrnicosnemsoftware.Nessecaso,asuaoperaoeratotalmentemanual. Mesmodepoisdosurgimentodocomputadordigitalcomoconhecemoshoje,nassuasfasesiniciais aindanohaviasoftware. Comaevoluoeconseqenteaumentodacomplexidadedocomputador,foinecessrio introduziroconceitodesoftwarequerepresenta,basicamente,umatcnicaparapermitirprogramar logicamenteamquinaparaqueelaefetuedeterminadatarefa.Programarusualmenteconsisteem codificarumconjuntodeinstruesnumadadalinguagemdeprogramaosemelhantelinguagem humana,porissochamadadelinguagemdealtonveleposteriormentetraduziressasinstruespara alinguagemdamquina(linguagemdebaixonvel),quepassaentoapoderexecutaressasintrues. Hojeemdiaocomputadortocomplexoqueexisteatumsoftwarebsico,chamado SistemaOperacional,queservedeinterfaceentreosoftwareaplicativo(porexemplo,oprocessador detextosOpenOffice1)eamquinafsica(hardware)ondeeleroda. Osistemaoperacionaloprimeirosoftwareaserinstaladonumcomputador.Osdemais softwaresdeummodogeralosaplicativossoescritospararodarsobreessesistemaoperacional. Podemostambmimaginarosistemaoperacionalcomoumaestruturacompostadegerenteslgicos encarregadosdeorganizareotimizarofuncionamentodocomputador. Osistemaoperacionalcompostodeumkernel(ncleo)quefazainterfacede comunicaoentreohardwareesoftwareaplicativo.Nossistemasmodernos,essencleo representadoporumacamada(casca)queenvolveohardware,isolandoocompletamentedoacesso diretopelosdemaisaplicativos.Apesardenessasistuaooncleosecomportarcomoum "atravessador"entresoftwareaplicativoehardware,existembenefciospoisnessecasotodooacesso aosrecursossointermediadospeloncleo.Comissoosconflitoseconseqentestravamentosda
1
Notadoautor:"SistemasOperacionais"foiescritointegralmentecomoOpenOfficehttp://www.openoffice.org/.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/5/50
SistemasOperacionais
mquinasominimizados.Entreoutrasfunes,oncleogerenciaoprocessador(CPUCentral ProcessUnit),ousodamemria,osprocessos,oInputeOutput(I/OEntrada/Sada)dedados,o armazenamentoeacessoaosdispositivos. Almdoncleo,tambmfazpartedosistemaoperacionalumconjuntodeutilitriosque tmporfunobsicafacilitaressacomunicaocomocomputador.Emmuitossistemasmodernos desenvolvidosparatrabalharemcomoestaodetrabalhoexisteumainterfacegrficaatravsdaqual ousuriointeragecomosistemausandoumdispositivoapontador(mouse).Nocasodeumsistema operacionalservidor,normalmentenoexisteafiguradousuriointerativopoisoacessofeitopela rede,entoemmuitoscasostambmnoexisteumainterfacegrficanemteclado,mousee/ou monitor.Masmesmonessecasoosoftwareservidor(aquelequeatendeaosprocessoclientesnarede) precisasecomunicareficientementecomohardwarequehospeda(host)esseservio,daa necessidadedosistemaoperacionalcomcaractersticasdeservidor. Poroutrolado,explicitarvantagensnoimplicaemdizerqueocomputadormodernono possafuncionarsemsistemaoperacional,masapenasqueficariamuitomaisdifcilprogramareoperar essamquinasemapresenadeumsistema.Porexemplo,numcomputadorsemsistemaoperacional, osoftwareaplicativoprecisariaterembutidotodoumconjuntodefunesdecomunicaocomo hardware,queporsuavez"engordaria"excessivamenteocdigodesseaplicativo.Almdisso,todaa interfacedecomunicaocomousrio(ooperador)tambmprecisariaestarembutidanesse aplicativo.Parapiorar,umoutroprogramaaplicativoescritoparaessemesmocomputadortambm precisariaterembutidotodoesseconjuntodebibliotecasdecomunicao.Logo,ficaevidentequea criaoesubseqentedesenvolvimentodossistemasoperacionaispartiudeumanecessidadede racionalizaodeusoderecursosepadronizaodeinterfaceusurio/mquina. Comooprpriohardwareevoluiaolongodotempoacadainstantesurgemmquinas novasmaisrpidasecommaisrecursoscorretoconcluirqueosistemaoperacionaltambmdeva evoluiracompanhandoessatendncia.Comoosistemaoperacionalumsoftwarebsico,asua evoluotambmimplicaemfornecernovosrecursossnovasgeraesdesoftwareaplicativoque oqueousurio/operadordefatoveutilizanocomputador.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/6/50
SistemasOperacionais
2.1Sistemamonotarefa
aquelesistemaquesomenteconsegueexecutarumatarefadecadavez.Ouseja,o usurioprecisaesperarosistemaconcluirumatarefaparapoderexecutaroutra.Amonotarefatambm chamadademonoprogramao.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/7/50
SistemasOperacionais
2.2Sistemamultitarefa
Osistemamultitarefaconsegueexecutarmaisdeumatarefasimultaneamente.Num exemplo,ousuriopodeabrirdeterminadosoftwareaplicativo,minimizlo,abriroutroaplicativoe continuartrabalhandonormalmente,oralendo/escrevendonum,oranooutro.Nessecaso,osistema precisaimplementaralgummtododeescalonamento,queconsisteemarbitrarquandoumaplicativo irusarosrecursosdeCPU(processamento)eporquantotemposeresseuso. Numsistemamultitarefa,ousuriotemaimpressodequeassuastarefasestosendo realizadassimultaneamente,masnaverdadeaCPUsomentepodeprocessarumaatividade(processo) decadavez,daanecessidadedoescalonadorcedertempodeusodeCPUparadeterminadoprocesso edepoisretirar.Amultitarefatambmchamadademultiprogramao.Exemplo:WindowsNT4.0 workstation.
2.3Sistemamultiusurio
Osistemamultiusurioquandoconsegueatendermaisdeumusuriosimultaneamente. Aidiadosistemamultiusuriovemdealgumasdcadasatrs,quandoocustodohardwareaindaera muitoelevado,entonessapocatodososrecursoscomputacionaisprecisavamsercompartilhados paradiminuir(oudiluir)essecusto.dessapocaquevemoconceitodeterminaisburros,ouseja,os recursoscomputacionais(CPU,memriaRAM,disco,impressora,etc.)estonumcomputadorcentral eosusuriosacessamessecomputadoratravsdeterminaisremotos,ditos"burros"pornoterem capacidadecomputacionalnemdisco.Convmnotarqueesseacessoviaterminal,emboraremoto,no seencaixanadefinioderededecomputadores. Atualmente,ossistemasmultiusuriosnormalmenteatendemseususuriosnumacesso emrede,geralmenteusandooprotocolopadroTCP/IP.
2.4Sistemadeprogramasemlote
Osistemadeprogramasemlote(batchprograms)dominouacomputaodesdeadcada de1950atocomeodadcadade1970etinhaporcaractersticacodificaroscomandos(instrues paraosistema)emcartesoufitaperfuradosqueeramentocolocadosemumaleitoraparaqueo sistemaoperacionalpudesselereinterpretarseqencialmente.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/8/50
SistemasOperacionais
2.5Sistemadetemporeal
Osistemadetemporealnecessrioquandoseexigerespostasimediatas.Osusurios interativospreferemrespostasrpidas,masnocasodosistemadetemporealumarespostamuito rpidanecessria.Porexemplo,umsistemadecontroledetrfegoareodevesercapazdeprocessar emanteralocalizao,altitude,velocidadeedireodetodososaviesnascercaniasdeum aeroporto:qualqueratrasonessarespostapoderiralmdeumsimplesinconvenienteesetornarum srioacidente.Umoutroexemploclssicoocasododirecionamentoautomticodatrajetriadeum mssil,quedeveacionarcomandosrapidamenteenodepoisqueomsseljdestruiuoalvoerrado.
2.6Sistemadescentralizado
Emumambientedescentralizado,cadausuriocuidadoseusistema,dosseusaplicativos edosseusdados(arquivos).Contudo,essaindependnciapodelevaraduplicaodedadose inconsistncias,almderedundnciasdesnecessrias.Almdosproblemasjcitados,essa implementaotambmimplicaemmaiorescustosdehardware,manuteno,suporteeoperao. Osistemadescentralizadosomenteestsendocitadoaquiparaefeitodecomparaocomoprximo item,queosistemacentralizado.Afinal,sistemadescentralizadoestrelacionadoaoambientede trabalhoadotadoemdeterminadaorganizao,enoespecificamenteaumtipodesistema operacional.
2.7Sistemacentralizado
Nosistemacentralizado,umnicocomputadoracomodaosdadoserecursos computacionaisdaorganizao.Nestecaso,oacessoaocomputadorcentralsedapartirdeterminais remotosqueformamumconjuntochamadoderededeterminais.Porm,tecnicamenteemalguns casosessaconstruonopodeserclassificadacomorededecomputadores.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/9/50
SistemasOperacionais
Asuaprincipalvantagemresidenaeconomiaobtidapelaaquisiodeumnicosistema centralizadoaoinvsdevrioscomputadoresdescentralizados,almdefacilitarasoperaesde gerenciamento,suporteecomunicaoentreosusurios. Nopassadoessesistemaerachamdode"terminalburrodaIBM",mashojeemdia apesardequaseextintoesseconceitoestrenascendojustamentepelareduodecustosque proporcionaquandocomparadocomosistemadescentralizado. Convmcitarqueesse"renascimento"ocorreagoradentrodeumconceitodeambiente emrede,atravsdeumprotocolopadronizadodecomunicao. Aqui,reduodecustosnosignificaapenaseconomiadehardwareesoftware,mas tambmestsendolevadoemcontaofatodequemquinascompletas(inclusivecomumsistema operacionaleaplicativosinstaladosnodiscorgido)estomaissuscetveisaproblemasqueacarretam custosdehelpdeskesuportetcnico. Anicadesvantagemresidenoprpriosistemacentralizado,queumpontodefalha nico:seeleparar,todaaorganizaoirparartambm.
2.8Sistemadistribudo
Umsistemadistribudoconsistedecomputadoresindependentesconectadosunsaos outrosviarede,mascomadiferenadequeosrecursossodisponibilizadosnarededeforma transparenteaousurio.Teoricamente,implicaemdizerqueosusuriosnempercebemqueesses recursosestodisponveisnaredeenonamquinalocal. Alis,essaadiferenaentresistemadistribudoerededecomputadores:noprimeiro casoousuriovumnicosistemaeachaquetodososrecursossolocais,nosegundocasoousurio precisaexplicitamentesolicitarpelorecursonarede. Numadefinioresumida,umsistemadistribudorepresentaumcasoespecialderede,e aprincipaldistinoentreelesestnosoftwaredecomunicaoenonohardware.Estesoftware usualmentedenominadodesistemaoperacionalderede. Dessadefinioconcluisequeosistemaoperacionalderedeindependentedosistema operacionalnativonaquelecomputador,ouseja,tratasedeuma"casca"adicionalqueforneceacesso emredebaseadonumprotocoloespecfico.ComoexemplotemosoNetWaredaNovell. NocasodossistemasSunSolaris,HPUXereencarnaesdoWindows2000(spara citaralgunsexemplos),elesjpossuem"embutido"essesuporteredeoferecidopelosistema operacionalderede,entonessecontextoelessoconsideradoscomosistemasoperacionais compatveiscomredes. Dopontodevistadoacessoemrede,osistemadistribudoditopontoapontopelo acessoserumparaum,diferentedomodeloclienteservidor(item2.9)quemuitosparaum.Nesse caso,comocadaestaosecomportasimultaneamentetantocomoclientequantoservidor, necessrioqueosrecursosquepossamseracessadosemdeterminadaestaosejamantesmarcados comodisponveisnessarede.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/10/50
SistemasOperacionais
Porexemplo,temosoMacOSdaAppleeosWindows9.x/NTs,ondeosrecursosaserem disponibilizadosprecisamserantescompartilhados. Avantagemdessesistemajustamenteasimplicidadeefacilidadedeinstalao, administraoeuso.Contudo,osistemadistribudomenosconfivelqueosistemaclienteservidor, eemgeralrequerestaesdetrabalhomaispoderosasparaalgumasatividades,comoocasode compartilharumabasededadosaoinvsdedisponibilizlanumservidordebancodedados.Nesse exemploespecfico,noapenasasestaesenvolvidasnocompartilhamentosofrem,comotambma redeficasobrecarregadapelotrfegodedadosexcessivosedesnecessrios. Parececlaroqueoaspectodimensodaredeafetaamelhorescolhadosistemaaser implantado,deummodogeralsearedeforpequena(poucasestaesdetrabalho)osistema distribudoideal,jsearedeforgrandedevesepartirparaosistemaclienteservidor. Eataobrigatoriedadedainstalaodomesmosistemaoperacionalderedepodeser relaxadanocasodeseconheceroprotocolodecomunicaoemrede.ocasodocompartilhamento derecursosdoWindowsqueusaoSMB(servermessageblock),queporserconhecidopermiteaos sistemasUnixinstalaremoservidor(servio)e/ouclienteSambaquepermiteacomunicaotipo sistemadistribudoentreWindowseUnix.
2.9Sistemaclienteservidor
Atualmente,amaioriadasaplicaesemredeocorrenumparadigmaclienteservidor. Comooprprionomediz,nessatransaoexistemduaspartesenvolvidas:adocliente,naformade umprocessoclientegeradoporalgumaplicativo(porexemplo,navegadordainternet),eapartedo servidor,tambmnaformadeumprocesso(porexemplo,servioouservidorweb). Nocasodoprocessocliente,elegeradoparaconectaretransferirosdadosparao processoservidor,queprecisaestarotempotodo"escutando"poralgumarequisiodocliente. Umexemploclssicoaimpressoraderede:oclienteusadeterminadoaplicativoque,ao solicitarqueimprima,geraumprocessoclientequeconectanoprocessoservidor,esseltimojna impressora.Aqui,aredeumveculoquetransportaosdadosdaestaodetrabalhodoclienteparao servidordeimpressoatravsdeumprotocolodecomunicaocomumsduaspartesenvolvidas nessatransao. Convmnotarqueesseacessodiferentedocasojcitadoacima,sistemadistribudo, poisagoraousurioprecisamanifestaraintenoemimprimiremdeterminadaimpressora, nitidamenteforadoseucomputadordesktop. Outroaspectodomodeloclienteservidoroprotocolodecomunicao(normalmente TCP/IP)padronizadotantoparaoclientequantoservidor,almdaportadeacesso(portaTCP)no servidor,quetambmdevesepadronizadaeporissomesmoconhecidadoaplicativocliente. Comisso,tantoclientequantoservidortmaliberadedeusarosistemaoperacionalqueformais eficienteparaatarefaemquesto,poistodaacomunicaoestbaseadanumprotocolode comunicaoemredequecomumsduaspartesenvolvidas.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/11/50
SistemasOperacionais
2.10SistemabaseadonaWWW
Oconceitodeaparelhoderede,aparelhodeinformaoouaparelhodeinternetengloba umagrandequantidadedeequipamentosquenormalmentediferedoscomputadorespessoaispor suportargeralmenteumaaplicaonicacomonavegadorweboucorreioeletrnicoe,emmuitos casos,nemaomenospossuiremteclado,mouseoumonitor. Essesequipamentossomuitoteisparaaquelesusuriosquequeremteracesso internetsemterdearcarcomosproblemasecustosdeumcomputadornormal.Comoexemplostemos computadoresdemocomooPalmPilot,aparelhostelefnicosavanados,convencionaisoucelulares quedoacessointernetedispositivosdeTVcomooWebTV. Existetambmoconceitodecomputadoresderede,similaresaestaesdetrabalhoUnix semdisco(Xterminaldiskless),quesosistemasreduzidoseusamaredeparaacessarasaplicaese guardararquivosepastasdetrabalho.Porserembemsimples,oscomputadoresderedeexigemmuito poucamanuteno,suporteehelpdesk,daocrescenteinteressenelesatualmente. Porexemplo,podeseimaginardeterminadaempresaque,paraeconomizarcustosde hardware,softwareehelpdesk,adotacomputadoresderedeecontrataosserviosdeumprovedorde serviodeaplicao(ASPApplicationServiceProvider)parafornecertantooacessointernet quantoadisponibilizaodeaplicativoscomoeditoresdetextoeespaoemdiscoparaqueseus funcionriospossamtrabalharesalvarseusarquivos.Osfuncionriospodementorodartodosos aplicativosdisponibilizadospeloASP,almdedisporemdealgumespaoemdiscoparasalvarseu trabalho. Paradoxalmente,osistemabaseadonaWWWnosremetedevoltaaoquadroantigodo sistemacentralizado,squeagoracomumacaranovaquandocomparadocomoteminalburro.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/12/50
SistemasOperacionais
3 Conceitos gerais
3.1Arquiteturadecomputador
OscomponentesbsicosdeumcomputadorsoCPU,memriaedispositivosdeEntrada eSada(Input/OutputI/O). Oprocessador(CPU)aunidadeprincipaldocomputador,elecontrolaofluxodos programas,executaoperaeslgicasearitmticas,acessaamemriaefazsolicitaesaos perifricos.Aarquiteturadocomputadordadapelatecnologiadoseuprocessador.Atualmente,as principaisarquiteturassoRISC(ReducedInstructionSetComputer),CISC(ComplexInstructionSet Computer),EPIC(ExplicitlyParallelInstructionComputing)eX8664(X86extended). OENIAC(EletronicNumericalIntegratorandCalculator)construdoem1946,serviu deinspiraoparatodasasarquiteturasdecomputadoratuais.EstassochamadasdeMquinasde VonNeumannouArquiteturadeVonNeumannemhomenagemaJohnVonNeumannpeloseu pioneirismonocomputadordigital.Porm,oENIACeraimenso,pesava27toneladaseocupava completamenteumasalagrande.Eaoinvsdosatuaischipscompactoscommilhesdetransistores microscpicos,oENIACusoucercade18000tubosdevcuoerelseltricosparaconstruirsuaCPU ecircuitosdeentrada/sada(input/output). Foisomenteem1971,naIntelCorporation,queTedHoffconseguiuconstruirum processadorquetinhatodasasunidadesreunidasemumschip,o4004,quefoioprimeiro microprocessador.Adiferenabsicaentreoprocessadortradicionaleomicroprocessadorofato desteltimopoderserproduzidoemlargaescalanalinhademontagem,comissodiminuindo drasticamenteocustodeproduo.Atualmenteomicroprocessadoresttodifundidoquechegaaser tratadotambmporprocessador. Todoprocessadortrabalhaemlinguagembinria,poisassimquefuncionamoscircuitos digitaisdamquinae,dadaumaarquiteturadecomputador,definealinguagemdemquina. Atualmente,aprogramaonormalmentefeitaemlinguagemdealtonvel,daanecessidadede traduziressasintruesparaalinguagemdemquinaparapoderrodarosprogramas.Enormalmente ocompiladorquefazessatraduo.Oproblemaqueatoinciodosanos1970nohaviaainda compiladorescapazesdefazereficientementeessatraduo,entohouveanecessidadedeincluir microcdigonoprocessador,quedeuorigemaoconceitoCISC. Microcdigooumicroprogramaconsistedeumasriedemicroinstruesquecontrolam aCPUnumnvelmuitofundamental.Dopontodevistadalinguagemdeprogramao,omicrocdigo provumconjuntodeinstruesmuitograndeque,decertamaneira,"eleva"onveldalinguagemde mquina.Parafacilitaraprogramao,osarquitetosdecomputadorcriarammuitasinstrues complexas(microcdigo),asquaiseramrepresentaesdefunesdealtonveldelinguagemde programao.Poroutrolado,omicrocdigodeixaoprocessadormaislento. Em1974,naIBM,JohnCocketeveaidiadeconstruirumprocessadormaissimples, quenonecessitassedemicrocdigo,deixandoentootrabalhopesadoparaosprogramase
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/13/50
SistemasOperacionais
compiladores.Estavacriadaafilosofiadocomputadorcomconjuntoreduzidodeinstrues(RISC), umprocessadormenor,maisbarato,maisfrio.JohnCocketeveessaidiaporacreditarquea utilizaodesubrotinasoumicrocdigosnoprocessadorfossemcontraproducentes. NoRISC,asinstruesmaisfreqentessoexpressasemtermosdeoperaessimples possibilitandoselecionareexecutarumainstruoacadaciclodeclock(osprocessadoresCISClevam vriosciclosdeclockparaselecionarumanicainstruo),pormnessecasootempodeacesso memriacrticoeporissoousodememriacachetornaseobrigatrio.Almdisso,existemaior dependnciadocompiladornaotimizaodedesempenhodaaplicao. Comotempo,otermoRISCacabouporsegeneralizaredenominartodamquinaque obedeceaumconjuntoespecficodeprincpiosdearquitetura.Comoeraprecisoidentificarosoutros computadoresnoRISC,foicunhadootermoCISC. Porm,umprodutoRISCschegouaomercadoem1985,pelasmosdaSun Microsystems,comoprocessadorSparc. Pelainexistnciademicrocdigonoprocessador,acomplexidadeagoraestno compilador.Porisso,asmquinasRISCssetornaramviveisdepoisdeavanosdesoftwareque resultaramnoaparecimentodecompiladoresotimizados. ComoexemplosdeCISCtemososprocessadoresX86daIntelecompatveisdaAMD. NocasodaIntelalinhaCISCvaidesdeosprocessadorestradicionais(386,486,etc.)atosatuais PentiumseXeons.Atualmente,alinhaX86de32bits,emboraalgunsprocessadoresjtenham extensode64bitsparapermitiralocarmemriaalmde4GRAM. ComoexemplosdeprocessadoresRISCtemosoPowerPC(IBM),MIPS(Silicon Graphics),PARISC(HP),Sparc(SunMicrosystems)eAlpha(DigitalEquipmentCorporation,DEC), cadaqualcomseuchipRISC.Osprocessadorescitadosacimasotodosatualmentede64bits.Ea DEC(hojeexDECpoisfoicompradapelaCompaqqueposteriomentefoiadquiridapelaHP)jtinha processadorAlphade64bitsdesdemeadosdosanos1990. AarquiteturaEPICteveorigemnoprojetoIA64cujonomeoriginaleraMerced,efoi criadopelasempresasInteleHP(HewlettPackard)em1994.Posteriormentefoirebatizadopara Itanium.OItaniumumprocessadorde64bitsvoltadoparafunesdeservidorescorporativos (mdioegrandeporte)quetemporobjetivocompetirnumespaotradicionalmenteocupadopor servidoresRISC. Discutesehojequalodestinodasarquiteturasdecomputadortradicionais.OIA64vem confirmaratendnciadeconvergnciadasarquiteturasRISCeCISC. AarquiteturaX8664(X86extended)foidesenvolvidainicialmentepelaAMDedeu origemaosprocessadoresAthloneOpteron.AocontrriodoItanium,temavantagemdepermitir compatibilidadedeaplicaes32bitsnumaCPUde64bits. AtualmenteaprpriaIntel,nasualinhaXeoneP4EM64T(ExtendedMemory Technology),adicionaextensesde64bitsquetornaessesprocessadorestambmcompatveiscomo X8664.Anicavantagemdaextensode64bitsacapacidadedealocarmaisde4GBdememria RAM,equejumanecessidadenosegmentodemdiosegrandessistemasservidores. Sobresistemasoperacionais,outroaspectoimportanteasernotadoque,deummodo geral,temosasegmentaodaarquiteturadecomputadoresemdoisgrandesmundos:doladoCISC
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/14/50
SistemasOperacionais
3.2IBMPC
OIBMPCoComputadorPessoaldaIBM,efoilanadoem1981comumprocessador Intel8088(arquiteturaCISC).Nesselanamento,aintenodaIBMeraentrartambmnomercadode computadorespessoais,quenessapocaeradominadopeloAppleIIetambmporumconjuntode mquinasquerodavamosistemaoperacional CP/M(ControlProgram/MonitorouControl ProgramforMicrocomputers),taiscomooIntel 8080/85eoZilogZ80.Portanto,oIBMPCno foioprimeirocomputadorpessoalafazer sucesso. AIBMdesenvolveuoIBMPCe decidiutornloumaarquiteturaaberta,isso comoestratgiaparabaratearopreodesse computadorpelalivrecompetioentre fornecedoresdecomponentes.Afinal,oIBMPC foiconstrudoapartirdeumagrandevariedade Figura1OIBMPCem1981 departesfornecidaspordiferentesfabricantes. Devidoaisso,aIBMpublicouasespecificaesdesuaROMBIOS(BasicInput/Output SystemouBasicIntegratedOperatingSystem)naexpectativadeatrairfabricantesaproduzirIBMPCs compatveis(IBMPCcompatibles)ecobrarroyaltiesdaslicenasdessaBIOS,eassimmanterna prpriamoodomniodessamquinaefrentedacompetio. MasparainfelicidadedaIBM,algunsfabricantes,apartirdeengenhariareversanessa BIOS,passaramaproduzirassuasprpriasversesdeIBMPCscompatveis,agoralivresderoyalties ousimplesmenteclones.Dessemodo,omercadoescapoudasmosdaIBM. EparaseterumaidiadaimportnciadolanamentodoIBMPC,osprojetistasdaIBM documentaramaviabilidadedodesenvolvimentodessamquinaprevendoavendade240.000 unidadesem5anos.Antesdofinaldesseprazo,jvendiam240.000unidadesporms!Eissotendo queenfrentaraconcorrnciadeslealdosclones,quejapartirde1987passaramadominaro mercado,ouseja,vendiammaisIBMPCsdoqueaprpriaIBM. Numatentativaderetomaressemercado,emabrilde1987aIBMlanouoPersonal System/2ouPS/2,queeraumaarquiteturaproprietriaavanadaemrelaoaoIBMPC.Entreas
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/15/50
SistemasOperacionais
novidadesdoPS/2estavamodisquetede3,5"com1440KB, portasPS/2paratecladoemouseeopadrodevdeoVGA. AnteriormenteopadrodevdeoeraEGA,Enhanced GraphicsAdapter,comapenas16coreseresoluo640x350 pixels.OsistemaoperacionalOS/2foiintroduzidojuntocom oPS/2,naintenodesetornarosistema"nativo"dessa mquina. OPS/2foidesenvolvidoparamantera compatibilidadedesoftwarecomPC/AX/XT,eissonum hardwarelevementediferente.Porm,oPS/2nofoisucesso devendasdevidoaoaltocustodessaarquiteturafechada.No entanto,muitasdasinovaesdoPS/2posteriormentese Figura2OPS/2emabrilde1987 tornarampadronomercadoabertodoIBMPC. Ento,apartirde1987perdeuosignificado termoscomoIBMPCcompatibleouclone,poisomercadopassouaserorientadopelalivre competiodediferentesfabricantesdecomponentesdeumladoeasgrifes(Compaq,HP,Dell,IBM, etc)dooutro.Nessecaso,agrifepodesermelhorentendidacomoumagrandemontadoradeIBM PCs.Eessemercadotovastoqueofereceoportunidadeataospopulares"xingling",queso mquinasmontadasapartirdecomponentessemmuitocontroledequalidadeparabaixarmaisaindao preofinal. EomaissurpreendentedetudoverarealidadedoIBMPChoje:apsconquistarmais de90%domercadodecomputadorpessoal,essamquinajoferecidaemconfiguraesque atendemaosegmentoservidordepequenoeatmdioporte.Porexemplo,umtpicoservidorCISC podeter4CPUsIntelXeon,4GdememriaRAMe5discosSCSI,enessecasonopodedemaneira algumasertratadopejorativamentepor"computadorpessoal". OutraprovadapopularidadeepredomniodoIBMPCadiversidadedesistemas operacionaisqueforamcriadosouposteriormenteportadosparaessaarquitetura.Comoprincipais exemplostemosDOS,Windows,Linux,FreeBSDeSolaris.
3.3Arquiteturadesistemaoperacional
Aarquiteturadeumsistemaoperacionalcorrespondevisoquesetemdessesistema,na formadeumainterfaceformadapelaschamadasdesistema(systemcalls)epelosprogramasdo sistema. 3.3.1Chamadasdesistema(systemcalls) Aschamadasdosistemaconstituemainterfaceentreprogramasaplicativoseosistema operacional.Essaschamadasdosistemasofunesquepodemserligadascomosaplicativospara
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/16/50
SistemasOperacionais
proverservioscomoleituradorelgiointerno,operaesdeentrada/sada(Input/OutputI/O)e obtercomunicaoentreprocessos. umaformadosprogramadoresfazeremsolicitaodeserviosaosistemaoperacional, similarchamadadesubrotinas.Aschamadasdesistematransferemaexecuoparaosistema operacional,eoretornodessaschamadasfazemcomqueaexecuodoprogramasejaretomada. Porexemplo,achamadawrite(fd,buffer,n_to_write)nalinguagemCpermiteescrever numarquivopreviamenteaberto.Almdeacessarosistemadearquivo,aschamadasdesistema tambmpermitemocontroledeprocessos.Porexemplo,fork(),exit()ekill()atuamemprocessos. Emlinguagensdealtonvel,aschamadasdesistemasoencapsuladasnabibliotecado compilador.Porexemplo,printf()nochamadadesistema,massimumarotinadebiblioteca (libraryroutine). Oresponsvelpelaimplementaodaschamadasdesistemaokernelouncleodo sistema. 3.3.2Programasdesistema Osprogramasdesistemasoalgumasvezeschamadosdeutilitrios,poissoprogramas executadosforadoncleoequeimplementamtarefasbsicasparafacilitarautilizaodosistema. Comoexemplotemosumagrandevariedadedeutilitriosparaamanipulaodearquivosepastas, quepermitemlistar,visualizar,criar,excluir,etc. Oprogramadesistemamaisimportanteointerpretadordecomandos(shell),quedefine umainterfaceentreosusurioseoncleodosistema. 3.3.3Interpretadordecomandos(shell) Ointerpretadordecomandosumprocessoqueperfazainterfacedousuriocomo sistemaoperacional.Esteprocessoesperapeloscomandosenviadosviateclado(entradapadro), interpretaepassaseusparmetrosaoncleodosistemaedepoisenviaoresultadodocomandoparaa sadapadro(monitor). exceodossistemasoperacionaisgrficos,oshellativadosemprequeousurio iniciaumasesso.Ainterpretaonormalmentefeitaatravsdeumalinguagemdecomandos,porm shellsmodernospodemutilizarinterfacesgrficas. Servicoscomologinelogout,manipulaodearquivoseexecuodeprogramasso solicitadosatravsdointerpretadordecomandos. Algunssistemasoperacionais(porexemplo,Linux)permitemaousurioescolherentre vriosshells,comoporexemploBorneShell,Cshell,KornShell,Bash. VersesmaisantigasdoWindows(Windows3.Xambienteoperacional)eram essencialmenteshellsdesubstituioaointerpretadordecomandosCOMMAND.COMdoDOS.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/17/50
SistemasOperacionais
3.4Arquivos
Umadasfunesassociadasasistemasoperacionaisesconderosdetalhesdehardware dousurio.Oconceitodearquivosofereceumnveldeabstraoqueadequadoparamanipular gruposdedadosarmazenadosemdiscoseperifricosdeentradaesada. Osistemaoperacionaltambmtemaincumbnciadetransferirdadosentrediscose/ou perifricos,almdeorganizarosdadosdodiscoemdiretrios. Osarquivosestonosistemadearquivo,queestruturaquedeterminacomoosdados podemsergravados,lidos,alteradoseatremovidosdodisco.Osistemadearquivofacilitana manipulaodosdados.Exemplosdesistemasdearquivos:
3.5Ambientegrfico
Umadasfunesdosistemaoperacionaloferecerumainterfaceamigvelcomo usurio,queimportanteemsistemasdesktopouestaesdetrabalhoondeexisteoconceitode usuriointerativo. Oambientegrficoummeroaplicativo(ouconjuntodeaplicativos)comaintenode facilitarousododesktopporpartedousuriointerativo,enodeveserconfundidocomosistema operacional.Porexemplo,oWindows3.XumambientegrficoquerodasobreoDOS,deforma anlogatemosocasodossistemasdafamliaUnix,ondeoambientegrficoaplicaoenosistema. Alis,nossistemasdafamliaUnixaconcepoclienteservidoresttoarragaidaque atoambientegrficoobtidocustadeumservidor:oservidorX(Xserver).Inclusive,oservidorX podeatendertantoaumclientelocalquantoremoto,easuafunoproverumainterfacegrfica amigvelparaocliente.Aqui,localeremotodizrespeitoorigemdaaplicaoXqueirrodarna estaodousurio.Normalmenteoterminaldiskless(semdisco)obtmoservidorXremotamente. JnocasodoMacintoshi(Apple)edosWindows9.XeposterioresaoNT(1993),entreos quaisapareceoXP,aprpriaconstituiodosistemaoperacionalinteiramentegrfica,dispensando totalmentealinhadecomando.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/18/50
SistemasOperacionais
4.1Gerenciamentodememria
Afunodogerenciadordememriaalocarespaosdememriaacadaprogramaaser executado,eliberaressesespaosumavezterminadaaexecuo.Amemriaumdosprincipais recursosasercontroladopelosistemaoperacional,eemsistemasquepermitemmultitarefa necessriofornecermemriaparanovosprocessos,medidaqueelessocriados. Ogerenciadordememria(memorymanager)controlaaalocaoeliberaode memriaparaosprocessos,almdegerenciaratrocadeinformaesentreamemriaprincipaleo disco. Umprogramacarregadonamemriatipicamenteapresentaasseguintesdivises:
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/19/50
SistemasOperacionais
Amaneiramaissimplesdegerenciaramemriaconsisteempermitirqueapenasum processoporvezestejanamemria,epermitirqueesseprocessoutilizeparteoutodaamemria disponvel.Nessecaso,aalocaopodesercontguaouno. Ocasodaalocaonocontguamaiscomplexo,poisutilizaespaosnoocupadose fragmentadosdememria. Umprogramamaiordoqueamemriaprincipaldisponvelpodeserexecutadoatravsda tcnicadesobreposio(overlay):oprogramadordivideoprogramaemmdulosindependentesque sotrazidosdamemriasecundria(disco)paraamemriaprincipalapartirdesuanecessidade. 4.1.2Multiprogramaocompartiesfixas Nocasodamultiprogramao,vriosprocessosestocompetindosimultaneamentepelo usoderecursosdememriaprincipal.Amultiprogramaocompartiesfixasconsisteemdividira memriaemumnmeroqualquerdeparties,detamanhosiguaisoudiferentes. Nesseesquema,podeseentoterumafiladeentradaparacadapartio,eosprocessos permaneceremesperandoparaseremservidospelogerenciadordememria.Nestecaso,podehaver desperdciodememria,comoocasodeumapartiograndesemprevazia. Joutrapossibilidaderesideemmanterumafilanicadeentradaquecontempletodasas parties:assimqueumapartiosetornarlivreogerenciadordememriaescolheecarregaatarefa maisprximadoinciodafila,desdequecaibanessapartio. Comoosprocessosinterativossogeralmentemenoresedevemtertemposderesposta maisrpidosdevidoasuamaiorprioridade,podesetersempredisponvelumapartiopequenapara atenderaestastarefaseassimevitardesperdciodememriaatravsdautilizaodeparties maiores. 4.1.3Multiprogramaocompartiesvariveis Comointuitodemaximizarautilizaodamemriafoicriadaamultiprogramaocom partiesvariveis.Adiferenaprincipalemrelaoaoesquemadepartiesfixasqueonmero, localizaoetamanhodaspartiesvariadinamicamentedependendodaexecuodosprocessos. Porm,aotimizaodamemriaimplicaemmaiorcomplexidadedosalgoritmosde alocaoeliberaodememria,poisatodoinstanteprocessossocriadosefinalizadosgerandoo problemaconhecidocomofragmentaodamemria.Nessecaso,os"buracos"ouvaziosgeradosa partirdaentradaesadadeprocessosdamemriapodemsercontornadosatravsdatcnicade compactaodememria,quevisaunirestesespaoslivresemreamaioresmovendoosprocessos vizinhosparaoutrasregiesdamemria. Aprincipalvantagemnautilizaodepartiesvariveisquesomenteamemria necessriaaumprocessodefatoalocada.Porm,algunsinconvenientespodemsurgir,poisemgeral osprocessospossuemreadedadosdinmicasalmdestackeheapquepodemaumentardurantesua execuo,havendonecessidadeconstantederealocaodamemria,comissocausandouma
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/20/50
SistemasOperacionais
sobrecarga(overhead). Nocasodoprocessopossuirdadosdinmicos,podesecontornaroproblemade overheadalocandopreviamenteumapequenaporoextradememria. 4.1.4Multiprogramaocomswapping Nastcnicasdemultiprogramaoanterioresosprocessospermaneciamnamemria principalatofinaldesuaexecuo.Aestratgiadeswappingfazcomqueumprocessopossaser retiradodamemriaprincipalearmazenadoemdisco,permitindoqueoutrosprogramasutilizemessa memriaapseleserretiradodaCPUpeloescalonador.Emsistemasmultitarefaaquantidadede memriaprincipaldisponvelgeralmentenosuficienteparacomportartodososprocessosdeuma svez,oquejustificaousodessatcnica. 4.1.5Realocaodeendereoseproteodememria Apartirdousodamultiprogramao,doisproblemassurgem:arealocaoeaproteo. Arealocaoenvolveaconversodosendereosrelativosdememriautilizadosdurante aexecuodeumprograma,eproteoconsisteemevitarqueosprocessosdeumusurioleiame escrevamemposiesdememriadeoutrosusurios. Umasoluoparaesteproblemaresidenautilizaodedoisregistradoresprotegidospor hardwarechamadosdebaseelimite:quandoumprocessoescalonado,oregistradorbase inicializadocomoendereodoinciodesuapartioeoregistradorlimitecomotamanhodapartio. 4.1.6Memriavirtual Nestemtodoamemriadisponvelnoutilizadadiretamenteatravsdeendereos reais,massimmapeadaemendereosvirtuais. Comocadaprocessopossuiumendereamentovirtualdistintoedeveexistirumafuno demapeamentoquetraduzaosendereosvirtuais(utilizadospelosprocessos)emendereosreais (disponveisnohardware),osistemaoperacionalcontrolaaspartesnecessriasexecuodo processoquedevemestarpresentesnamemriaprincipal. Ousodememriavirtualpermite,porexemplo,queumprogramade200MBpossa executaremumamquinacom128MBdememriaprincipal. Asduasprincipaistcnicasdememriavirtualsopaginaoesegmentao. 4.1.7Paginao Nestatcnicadegerenciamentodememria,oespaodeendereamentovirtual divididoempginas(pages)detamanhofixo(geralmenteentre512bytesat8KB),eoespaorealde endereamento(memriafsica)divididoemquadrosdepgina(pageframes)demesmotamanho
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/21/50
SistemasOperacionais
queaspginasvirtuais. Astransfernciasdedadosentrediscoememria(swap)semprefeitoemunidadesde pgina,eapginavirtualpossuiumbitdepresenaqueindicaseelajestcarregadanamemria. Casodeterminadapginanoestejanamemria,estacarregadadodiscoparaamemriaemum quadrolivre;seumprogramareferenciarumapginaquenoestejanamemriaprincipalocorreuma faltadepgina(pagefault),senohouverpginaslivresnamemriaprincipalosistemaoperacional deveescolherqualpginaserenviadaparaodisco. Paradeterminarqualpginaserenviadaparaodisco,diversasestratgiaspodemser utilizadas:NRU(NotRecentlyUsed),FIFO(FirstIn,FirstOut),LRU(LeastRecentlyUsed),entre outras. Aspginasvirtuaissotraduzidasempginasreaisatravsdeusodeumatabelade pgina(pagetable),emqueexisteumrelacionamentoentreendereoslgicos(virtuais)efsicos (reais). 4.1.8Segmentao Noesquemaanteriordepaginao,aspginaspossuemtamanhosfixos.Pararesolver esteobstculocriouseomecanismodesegmentaoqueconsisteemdividiramemriaemsegmentos quepodemaumentarediminuirdetamanhoduranteaexecuodosprocessos. Paraisso,oscompiladoresdividemocdigodoprogramaemsegmentosdistintos(pilha, dados,cdigo,funes),quesoarmazenadosemposiesdememriadiferentes. Oesquemademapeamentosimilaraodapaginao,enormalmenteossistemas operacionaisutilizamsegmentaocompaginao.
4.2Gerenciamentodeprocessadoreprocessos
4.2.1Conceitodeprocessos Programaocdigofonteescritoemalgumalinguagemdeprogramao(porexemplo, C,Pascal,Fortran),jexecutvelessecdigotraduzidoparaalinguagemespecfica(binrio)da mquinarealondeeleserexecutado. Umprocessopodeserdefinidocomoumfluxodecontroleseqencialeseuespaode endereamento,ouseja,aexecuodeumprogramajuntocomosdadosusadosporele.Processo,de formaresumida,entoumprogramaemexecuo.Comoexemplo,omesmoprogramapodeser executadoaomesmotempopordoisusurios,gerandodoisprocessosdistintos.Almdisso,nasua execuoumprogramapodeoriginarvriosprocessos. Ocontextodeumprocessooconjuntodedadosnecessriosasuaexecuonotempo como,porexemplo,aidentificaodoprocesso(PIDProcessIdentification),contadordeprograma (PCProgramCounter),ponteiros(SPStackPointer),asvariveisedadosarmazenadosem
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/22/50
SistemasOperacionais
memria,ocontedodosregistradoresdaCPU,alistadearquivosqueestosendoutilizados,tempo deCPUdisponveleprioridadedeexecuo,entreoutros.Essasinformaessofundamentaispara queoprocessointerrompidopeloescalonadorpossavoltaraexecutarexatamenteapartirdopontode paradasemperdadedadosouinconsistncias.Taisinformaessoarmazenadasemestruturasde dadosconhecidascomoTabeladeProcessos. Oprocesso,quandoemexecuonaCPU,estnoestadoexecutando(run).Aoterminar suaquotadetempoparaexecuo,oescalonadorointerrompeecolocaonoestadopronto.Aochegar novamentesuavezdeexecutar,oescalonadorinvoca(acorda)oprocessopermitindosua continuidade. Umprocessopodeserbloqueadoseosdadosdeentradaaindanoestiveremdisponveis eelenopodercontinuarsuaexecuo,eistopodeocorrerpelosinalenviadoporoutroprocessoou pelaprpriadecisodoescalonador. Oprocessodesbloqueadoporumeventoexterno(chegadadosdados,sinalizaode outroprocesso),eentopassaaoestadopronto. ParaefetuarocompartilhamentodaCPUentreprocessos,osistemaoperacionalpossui duasfilasdecontrole:adeprocessosprontos(ReadyList)eadeprocessosbloqueados(BlockedList). Amanipulaodessasfilasdependedapolticadeescalonamentoadotadapelosistema,queum critrioparadeterminar,entreosdiversosprocessosnoestadopronto,qualoprximoprocessoa executar. 4.2.2Escalonadoreescalonamentodeprocessos Aentidaderesponsvelpeloescalonamentooescalonador(scheduler),quequem determinaqualprocessodevesairouirparaaCPUemdeterminadomomento.eleoelemento responsvelpelaalocaodeprocessosaprocessadores,definindosuaordemdeexecuo.Apoltica deescalonamento(scheduling)umproblemacomplexoedependedotipodesistemasuportadoeda naturezadasaplicaes. Emsistemasdotipolote(batch),oescalonamentoerafeitosimplesmenteselecionandoo prximoprocessonafiladeespera,jemsistemasmultiusuriodetemporepartidogeralmente combinadosasistemasemlote,oalgoritmodeescalonamentodevesermaiscomplexoemvirtudeda existnciadediversosusuriosinterativossolicitandoservios,edaexecuodetarefasemsegundo plano(background). Umescalonadorpoderiafuncionardaseguinteforma:quandoaCPUtornasedisponvel, oprimeiroelementodafiladeprocessosprontosretiradoeiniciasuaexecuo.Casosejabloqueado, esteirparaofinaldafiladeprocessosbloqueados.Seasuaquotadeexecuoseesgotar,esteser retiradodaCPUecolocadonofinaldalistadeprocessosprontos. Oescalonamentotemcomoprincipaisobjetivos:
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/23/50
SistemasOperacionais
minimizarotempoderespostaparaousurio.
Ostiposdeescalonamentoso: nopreemptivo:ocorrequandooprocessoqueestexecutandonopodeser interrompido.Essetipodeescalonamentoestavapresentenosprimeirossistemasmultiprogramveis, ondepredominavaoprocessamentoembatch,easpolticasqueimplementamescalonamentono preemptivonosoaplicveissistemasdetempocompartilhado.Osprimeirossistemasde programasemlote(batch)inicialmenteliamtodasasintruesseqencialmenteedepoisas executavamumaapsaoutra. preemptivo:oprocessopodeserretiradodoprocessadorqueestexecutando.Permite atenoimediataaosprocessosmaisprioritrios(temporeal),melhorestemposderesposta(tempo compartilhado)ecompartilhamentouniformedoprocessador. Existetambmamultitarefacooperativaondenoexisteafiguradoescalonador,pois nessecasosoosaplicativosquecooperativamenteserevezamnousodosrecursosdeCPUe memria.Porm,nessecaso,sedeterminadoaplicativoapresentaralgumproblematravaosistema. EraamultitarefacooperativaquedavaaosaplicativosescritosparaWindows3.Xaimpressodeser multitarefa,muitoemboratodoselesrodassemsobreoDOS,umsistemamonotarefa.Eratambmesse oprincipalmotivodas"travadas"freqentes,almdeestimuladordaposteriorincorporaodo botozinhoresetnapartedafrentedogabinetedoIBMPC. 4.2.3Concorrncia Numsistemamultitarefa,normalmentevriosprogramassoexecutados simultaneamenteeonmerodeprocessosmaiorqueodeCPUs.Umdosproblemasmaisdifceisna administraoderecursosestrelacionadoaofatodemuitosprocessosexistiremsimultaneamente, ocorrendoemalgunscasosumadisputaentreprocessospelousodomesmorecurso. Nocasodehaverdisputadizemosentoqueessesprocessossoconcorrentes.Por exemplo,processosconcorrentesfreqentementeacessamomesmoarquivo,eosistemaoperacional devegarantirqueumprocessonopossaalterarosdadosqueoutroprocessoestejausando. Outroexemplodeprocessosconcorrentesocorrequandoumprocessogeradadosqueum outroprocessousar,nessecasoosistemaoperacionaldevegarantirqueosegundoprocessonotente usarosdadosantesqueoprimeiroostenhagerado.Issoimportantenoprocessamentodeentradae sada,ondevriosprocessosdiferentesparticipamnatransfernciadedados. Nocasodehaverconcorrnciaentreprocessos,osistemaoperacionaldeveregulara ordemsegundoaqualosprocessosacessamosdados,queoconceitodesincronizao. 4.2.4Threadouprocessoleve
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/24/50
SistemasOperacionais
Umprocessotemduaspartes:aativaqueofluxodecontrole,eapassivaqueo espaodeendereamento. Umathreadumcasodeprocessoleve,poispossuisomenteofluxodecontrole.Asua vantagemresidenoespaodeendereamentosercompartilhadoeporissoconsumirmenosrecursos dosistema. Muitasvezesosprocessosusamdadoscompartilhados,eousodevriasthreads(mult thread)nomesmoespaodeendereamentomaiseficienteeeconmicoquemltiplosprocessos. Pormnemtudosovantagens.Umadesvantagemjustamenteofatodo compartilhamentedoespaodeendereamento,quecriaumproblemadesegurana.Outroproblema estnarobustezdessaconstruo.Porexemplo,numcasodemltiplosprocessos,seumdelestiverde serfinalizadoosdemaisnoseroafetados,jnummultthreadaparalisaodeumathreadpoder afetaroprocesso,ouseja,afetatodasasdemaisthreads. 4.2.5Comunicaoentreprocessos(InterProcessCommunicationIPC) Freqentementeosprocessosdosistemaprecisamsecomunicarcomoutrosprocessos paraaexecuodedeterminadastarefas.Nestecontexto,doisparadigmassomaisutilizados: memriacompartilhada(sharedmemory)etrocademensagem(messagepassing).Noprimeiro,os processostemacessoaumareacomumparaleituraeescritadeinformaes.Asegundaabordagem consistenousodeprimitivasparaoenvio/recebimento(send/receive)demensagensentreprocessos. Quandohcompartilhamentoderecursosentredoisoumaisprocessos,diversassituaes estranhaspodemocorrerduranteoprocessamento,eissodevidoprincipalmenteinterrupo provocadapeloescalonadordosistemaoperacional(preempo).Porexemplo,aatualizao "descontrolada"deumavarivelglobalcompartilhadapodegerarresultadosinconsistentes.Estetipo desituaoconhecidacomosituaesdecorrida(raceconditions),porqueoresultadofinalem algumassituaesespeciaisdependeda"competio"entreosprocessosenodoalgoritmo implementado. Umatentativaderesolveresteproblemagarantequeosdadoscompartilhadosspossam sermanipuladosporumprocessodecadavez,eestaestratgiachamadadeexclusomtua(mutual exclusion)entreprocessos.Apartedoprogramaquereferenciadadoscompartilhadosquepossam sofrercondiesdecorridacomoutrosprocessosdenominadaderegioouseocrtica(critical section)doprocesso.Portanto,umamaneiradeevitarsituaesdecorridagarantirquedoisoumais processosnuncaestejamexecutandosimultaneamentenasuaseocrtica. Entretanto,estarestrionosuficienteeumaboasoluoparaoproblemaenvolve quatrorequisitosbsicos:
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/25/50
SistemasOperacionais
situaodestarvation).
4.3Gerenciamentodearquivos
Usualmente,apartemaisvisveldeumsistemaoperacionaloseusistemadearquivo. Atravsdechamadasdesistema,programasaplicativosutilizamosistemadearquivoparacriar,ler, gravareremoverarquivos. Aconveninciaefacilidadedeusodeumsistemaoperacionaldotipodesktopouestao detrabalho(workstation)fortementedeterminadapelainterface,estruturaeconfiabilidadedeseu sistemadearquivos.Dopontodevistadousurio,oaspectomaisimportantedosistemadearquivo comoeleseapresenta,isto,oqueconstituiumarquivo,comoosarquivossoidentificadose protegidos,queoperaessopermitidassobreosarquivos,eassimpordiante. Jnosistemaoperacionaldotiposervidor,oaspectomaisimportanteserelaciona disponibilidade,rapidezeseguranadosarquivos. Paraoprojetistadosistema,poroutrolado,apreocupaocomoorganizaregerenciar arquivosdeformaagarantirboaocupaodoespaoemdiscoebomdesempenhonasoperaes sobrearquivos. 4.3.1Interfacedosistemadearquivo Amaiorpartedossistemasoperacionaistrazaseguintepropostaparaarmazenagemde informao:permitiraosusuriosdefinirobjetoschamadosarquivos,quepodemarmazenar programas,dados,ouqualqueroutrainformao. Estesarquivosnosoparteendereveldenenhumprocesso,eosistemaoperacional suportachamadasdesistemaparacriar,excluir,ler,atualizareprotegerosarquivos.Todosos sistemasoperacionaisvisamaumaindependnciadosdispositivosdearmazenagem,permitindo acessarumarquivosemespecificaremqualdispositivoomesmoseencontrafisicamentearmazenado. Umprogramaquelumarquivodeentradaeescreveumarquivodesadadevesercapaz deoperarcomarquivosarmazenadosemquaisquerdispositivos,semnecessidadedeumcdigo especialparaexplicitarotipodeperifrico(porexemplo,disquete,CD,HD,etc.).Algunssistemas operacionaissuportammaiorindependnciadosdispositivosdearmazenagemqueoutros.NoUnix, porexemplo,umsistemadearquivopodesermontadoemqualquerdispositivodearmazenagem, permitindoquequalquerarquivosejaacessadopeloseunome(pathname)semconsideraro dispositivofsico.NoDOS,ousuriodeveespecificaremqualdispositivo(unidadededisco)cada arquivoseencontra. Amaiorpartedossistemasoperacionaissuportavriostiposdearquivos.Porexemplo, arquivosregulares(ouordinrios),diretriosearquivosespeciais.Arquivosregularescontmdadose programasdousurio.Diretriossomerasestruturasorganizacionaisearquivosespeciaissousados paraespecificarperifricostaiscomoterminais,impressoraseunidadesdefita.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/26/50
SistemasOperacionais
Emmuitossistemas,arquivosregularessosubdivididosemdiferentestiposemfuno desuautilizao.Ostipossoidentificadospelosnomescomqueosarquivosregularesterminam.Por exemplo,"arquivo.c"denotaumprogramafonteemCe"arquivo.obj"paraumarquivoobjeto. Emalgunssistemas,comoocasodosmembrosdafamliaUnix,asextensesso simplesconveno,representandoapenasumafacilidadeparaousurioidentificarotipodecontedo noarquivo.Emoutros,osistemaoperacionaltemregrasrgidasemrelaoaosnomes,porexemplo exigirqueoexecutveltenhaaextenso".EXE". Diretrios,osquaisemmuitoscasossotambmarquivos,permitemorganizaros arquivosdeumsistema.Umdiretriocontmtipicamenteumregistroporarquivo.Sistemas primitivosadmitiamumnicodiretriocompartilhadoportodososusuriosouumnicodiretriopor usurio,jossistemasoperacionaismodernospermitemumnmeroarbitrriodediretriospor usurio,emgeralnumaestruturahierrquica. Quandoosistemadearquivoorganizadocomoumarvoredediretrios,algummeiose faznecessrioparaespecificarnomesdearquivos,nessecasodoismtodossomuitoempregados.No primeiro,cadaarquivoidentificadopelaseqnciadediretriosdesdeodiretrioraizatoarquivo (caminhoabsoluto).Nomesabsolutosparacaminhossemprecomeamnaraizesonicos.Umaoutra formadeespecificarnomesdearquivosatravsdeseucaminhorelativo,queusadoemconjunto comoconceitodediretriodetrabalho(oudiretriocorrente).Umusuriopodedesignarumdiretrio comodiretriocorrente,enessecasotodososcaminhossoreferenciadosapartirdodiretrio corrente 4.3.2Gernciadeespaoemdisco Arquivossonormalmentearmazenadosemdisco,sendoportantoagernciadoespao emdiscodemaiorimportncianosistemaoperacional.Duasestratgiassopossveispara armazenagememumarquivocomnbytes:nbytesconsecutivosdodiscosoalocadosouentoo arquivodivididoemumnmerodeblocosnonecessariamentecontguos. Quandoblocosdetamanhofixosoadotados,necessriodefinirqualotamanhodo bloco.Umaunidadedealocaogrande,talcomoumatrilha,implicaemquemuitosarquivos,at mesmoarquivosde1byte,deveroocuparatrilhainteira.Poroutrolado,usarumaunidadede alocaopequenasignificaquecadaarquivotermuitosblocos,oquepodeprejudicarodesempenho deacesso. compromissousualescolherumblocodetamanhoentre512e8Kbytes.Seumbloco detamanho1Kforescolhidoemumdiscocomsetorde512bytes,entoosistemadearquivosempre irlerouescreveremdoissetorescontguos,etratloscomoumaunidadeindivisvel. Aescolhadaestratgiadealocaodeumarquivonodiscotrazimpactosnodesempenho eflexibilidadedeacessoaosdadosarmazenados. 4.3.3Estruturadediretrio Antesdeumarquivosermanipulado,eledeveseraberto.Quandoumarquivoaberto,o
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/27/50
SistemasOperacionais
sistemaoperacionalusaonomedoarquivoparabuscarasinformaesnecessriasparaprosseguir comasoperaesdeacessoaoarquivo.Estasinformaesadicionaissomantidasnosarquivos diretrios. Aestratgiadeorganizaodearquivosemdiretriosmaissimplesmanterumdiretrio nico.Assim,alocalizaodeumarquivoreduzseprocuranestenicodiretrio.Encontradoo registrodoarquivo,temseonmerodeblocosdodisco,postoqueestessoarmazenadosnoprprio registro.Seoarquivoutilizamaisblocosdediscoqueopermitidonoregistro,oarquivoterregistros adicionaisnodiretrio.Informaesusualmentemantidossonome,tipo,usurio(duranteabusca, apenasosregistrospertencentesaousuriocorrentesoconsiderados),tamanhoecontadordebloco (indicaqualblocoestemuso).Camposadicionaiscontmosnmerosdosblocosdediscoque compemoarquivo. Outraestratgiaaorganizaodesistemasdediretrioemrvore(hierrquicos).Neste caso,tododiretrio(excetooraiz)umarquivo.Quandoumarquivoaberto,osistemadearquivo recebeonomedearquivofornecidoelocalizaseusblocosnodisco.Paranomesabsolutos,primeiroo sistemadearquivolocalizaodiretrioraiz,quemantidoemumlugarfixonodiscoedepoisprocura peloarquivo(diretrio)queoprimeirocomponentedocaminho,enestediretrioprocurapelo prximocomponente,atencontraraentradaparaoarquivoqueestsendoaberto.Nomesde caminhosrelativossopesquisadosdeformaidntica,apenaspartindododiretriodetrabalhoemvez departirdodiretrioraiz. Todososdiretriostmregistrospara"."e"..",criadosjuntamentecomodiretrio,para indicarrespectivamenteodiretriocorrenteeodiretriopai.Nenhummecanismoespecial necessrioparamanipularestesnomes. Noraro,convenientequeummesmoarquivo(oudiretrio)pertenasimultaneamente aoutrosdiretrios.Aassociaoentreumdiretrioeumarquivopertencenteaoutrodiretrio chamadadeconexooulink(noWindowsditoatalho),nessecasoosistemadearquivopassaaser organizadocomoumgrafo,enomaiscomoumarvore.Umapossibilidadedesuportaro compartilhamentodearquivosmanterumlinksimblico.Porexemplo,digamosqueumarquivoX emumdiretrioD1devetambmservistoporumdiretrioD2,entoolinksimblicoseruma entradanodiretrioD2comonomeX,masmarcadacomosendoumtipoespecialdearquivo(link)e cujainformaoassociadaonomeabsolutodoarquivocompartilhadooriginal(/D1/X). Outrapossibilidadedependedautilizaodensndiceparaaorganizaodearquivos nodisco.Nestecaso,aentradadodiretrioarmazenaapenasoapontadorparaonndicedoarquivo compartilhado,eonndicedevemanterumcontadordequantasrefernciassofeitasaoarquivo,de modoagarantirconsistnciaapsoperaesderemoo.
4.4Gernciadeentradaesada
4.4.1Unidadedeentradaesada
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/28/50
SistemasOperacionais
OsdispositivosdeE/Spodemserdivididosemtrscategorias:osquerecebemou transmiteminformaesdiretamenteparaoserhumano(teclado,vdeo,impressora,etc.),osque recebemoutransmiteminformaesinteligveisapenaspelamquina(discosmagnticos,discos ticos,sensores)eosquerecebemetransmitemde/paradispositivosremotos(modens,regeneradores desinais). Quantoformadeseestabeleceraligao,estapodeserserial(ainformaofluibita bit)ouparalela(vriosbitssotransmitidossimultaneamente).Aligaoperifrico/CPU,almdos dadosemsi,tambmcompreendealgunssinaisdecontrole,cujascaractersticastambmvariammuito deumparaoutroperifrico. 4.4.2Sistemadeentrada/sada(IOouE/S) Umadasfunesdosistemaoperacionalcontrolartodososdispositivosdeentradae sada(E/S)docomputador,emitindocomandosparaosdispositivos,atendendointerrupese manipulandoerros.Devetambmproverumainterfacesimplesentreosdispositivoseorestodo sistema,esepossvel,essainterfacedeveseramesmaparatodososdispositivos. Ocdigodeentradaesadarepresentaumafraosignificativadototaldosistema operacional.Todoacessoahardwareobtidoatravsdoncleo(kernel)dosistema,quecontrolaos discos,impressoraseacessorede,entreoutrascoisas.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/29/50
SistemasOperacionais
5.2DOS
5.2.1Origem
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/30/50
SistemasOperacionais
OconceitoDOS(DiskOperatingSystem)tevesuaorigemnosanos1960comouma variaodeTOS(TapeOperatingSystem),efoiusadonosmainframesIBMSystem/360.Nessa mquinaosistemaoperacionaleraoOS/360epodiaserinstaladoemdisco,enessecasotambmera chamadodeDOS/360paradiferenciardeTOS/360(nafita). AhistriadoDOSnoIBMPCiniciaem1978quandoaIntellanouoseuprocessador 8086queoprimeirode16bits.Logonaseqncia,aIBManunciouquelanariaoseucomputador pessoal(IBMPC)comoprocessador8086.Entoestenovocomputadornecessitavadeumsistema operacional,eomaisprximoqueexistiapocaeraoCP/M(ControlProgramforMicroprocessors) daDigitalResearchquerodavanosprocessadoresZ80(Zilog)e8080/85(Intel),quesode8bits.E doZilogZ80podesedizerquefoioprocessadorde8bitsmaispopularnasuapoca,almdeser compatvelcomo8080/85. poca,aDigitalResearchprometeuumaversodoCP/Mparao8086,pormsabemos queposteriormenteaIBMdesistiudo8086,quefoisubstitudopelo8088.Eissotirou momentaneamenteapossibilidadedaDigitalfornecerosistemaoperacionalemtempoparao lanamentodoIBMPC.AproveitandoalacunadeixadapelaDigitalResearch,JimPatersondaSeattle ComputerProductscriourapidamenteumsistemaoperacionalbaseadonoCP/M,quefoichamadode QDOS(QuickandDirtyOperatingSystem,emalusoaonmerodebugsnocdigo)equerodavano 8088.Posteriormente,oQDOSfoirebatizadopara86DOS. OlanamentodoIBMPCocorreuem1981comoprocessadorIntel8088,queidntico ao8086excetoquantoaoBUS(barramento),quefoireduzidopara8bitsparareduziropreo.Ou seja,o8088internamentede16bits,pormobarramentoexternode8bits. ParaolanamentodoIBMPC,aMicrosoftquenessapocaaindaeraumapequena empresadesenvolvedoradesoftwarecomproutodososdireitosdoQDOSdaSeattleComputer Products.EfoiapartirdoQDOSqueaMicrosoftatendeurequisiodaIBMeforneceuoPCDOS paraequiparessanovamquina. PodeseconsiderarqueoprecursordoDOSnoIBMPCfoioCP/MdaDigitalResearch, pormsemesquecerdasinflunciasecontribuiesdoUnixedeoutrossistemasoperacionaisusados poca.Numaanlisemaisrigorosa,podemosatafirmarqueoQDOSfoiumaimitaodoCP/M. ComercialmenteoDOSinicialmentefoidisponibilizadoaomercadodeduasformas:PC DOS,embutidonosequipamentosfabricadospelaIBM,eMSDOS,vendidopelaMicrosoftparaos demaisfabricantesdehardwareIBMPCcompatveis(clones).Dopontodevistatcnico,adiferena entrePCDOSeMSDOSeramuitopequena. Convmnotarque,medidaqueosclonesdoIBMPCforamdominandoomercado,o MSDOSfoialavancadoaumacondiodeplenapopularidade. 5.2.2DOSCompatible EmboraoconceitoDOSsejamuitoanterioraoIBMPC,foramseusdescendentesMS DOSePCDOSquesedestacaramnasuapoca.Eposteriormente,medidaqueoIBMPCse popularizou,apareceramdiversosoutrosfabricantesdesistemasoperacionaisparadisputaralgum espaonessemercado.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/31/50
SistemasOperacionais
SabemosqueapopularidadedasaplicaesparaIBMPCcresceujuntocomessa mquina,assentadonasdefiniesdaarquiteturadesistemaoperacionalqueoriginalmenteequipouo IBMPC.Edevidoaissoficoumuitodifciltersucessoqualquertentativadeimporumanova arquiteturadesistemaoperacionalparaoIBMPC. Comoexemplodaforadomercadodeaplicativos,mesmohojeoLinuxquefoicriado originalmenteparaoIBMPCmuitousadonosegmentoservidormasnopopularnodesktop,e issodevidocarnciadeaplicaestpicasdedesktopquandocomparadocomoWindows. Dessemodo,osfabricantesdesistemaoperacionalqueelegeramoIBMPCcomoalvode suasinvestidastiveramdetornaroseusistemacompatvelcomoPCDOSeassimrodarasaplicaes tpicasdessaarquitetura.EssessistemasoperacionaisforamclassificadoscomoDOScompatibles.Ao longodosltimos20anoselesforamsurgindo(edesaparecendo!)medidaqueoIBMPCse popularizavacadavezmais. MerecemdestaqueosseguintesDOScompatibles:
Dessessistemasoperacionais,sobrevivehojeoFreeDOS, porserumprojetoaberto.Oprincipalresponsvelpelaquase completaaniquilaodoDOScompatiblefoiaprpriaMicrosoft,que apartirdoWindows95embutiuainterfacegrfica(isto,oWindows) noMSDOS,tornandoosindissociveis.Comisso,nofoimais Figura3OpromptdoDOS possvelrodaraplicaesparaWindowsnumsistemaoperacional DOScompatible.Eparacompletar,aatuallinhadeprodutos WindowsestbaseadanoNTenomaisnoDOScomofoiocasodoWindows95. ConvmlembrarqueatolanamentodoWindows95oWindowseraumaaplicao grficaquerodavasobrequalquerDOScompatible.Equenoinciodosanos1990empresascomoa Novell,comseuNWDOS,ofereciamsoluesmuitoatraentesparaoambientecorparativobaseado emPCs,eissoporaliarumsistemaoperacionalcombomsuporteredeaaplicaesparaWindows. OutraobservaoimportantequenoconceitoDOScompatiblenoexisteanecessidade dedriversparadispositivos,poisaaplicaoacessadiretamenterecursosdehardware,eissodevido concepooriginaldoDOSdenosermultitarefa.parteoaspectoseguranaerobustezdesse sistema2,essaabordagemliberaaindstriadohardwaredanecessidadedesealiaraumsistema operacionalespecfico,issopelametaemreduzirocustodedesenvolvimentodedriversde dispositivos. AtualmenteosfabricantesdecomponentesparaIBMPCnodesktop,porumaquestode economianodesenvolvimento,criamdriversdedispositivosapenasparaosistemaoperacionalmais
2
Tecnicamenteesseproblemapoderiaserequacionado,fosseesteorumodarodadahistria.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/32/50
SistemasOperacionais
popular,queporsuavezfechacompletamenteocrculohardware/aplicaoemtornododesktop Windows. AconclusoqueapartirdolanamentodoWindows95,aMicrosoftfinalmente consolidouseumonoplionodesktopdoIBMPC,ecomissopdesedaraoluxodeabandonaro aprimoramentodoDOSemdetrimentodoWindows. NocasodoOS/2,que foiosistemaoperacionalmais avanadoparaoPCnasuapoca,o fracassoteveincioem1990quando aMicrosoftabandonouaparceria comaIBM.Comisso,o desenvolvimentoapartirdeento ficounasmosapenasdaIBM.O fatoqueem1990oOS/2tinha problemastcnicosqueprecisariam serresolvidos,oWindows3.0 comeavaafazersucessoea Microsoftjestavaenvolvidano desenvolvimentodoNT.Nessa poca,oNTeraumprojetoque Figura4DesktopdoOS/2Warp(1994) aproveitavaabasedo desenvolvimentodoOS/2.
5.2.3VersesDOS AolongodahistriadoDOScompatible,omaispopularemaisduradourofoioMS DOS,quesobreviveude1982a2000,quandofoidescontinuadopelaMicrosoft.Porm,deummodo geral,aolongodahistriacadaDOScompatibleacompanhououforouolanamentodenovas versestantodoPCDOSquantodoMSDOS.Atualmente,oDOSsobreviveapenascomoprojetode cdigofonteaberto,comoocasodoFreeDOS. Atabela1abaixomostraacompetioentreessesdoissistemasoperacionais,eincluias melhoriasquecadaumintroduziuaseutempo.ntidoaexistnciadeumalutaacirradaentrePC DOSeMSDOS,ondecadaumnoquerficarparatrs.Ento,considerandoseasemelhanaentre eles,noerradotratlossimplesmenteporDOS.Numaanlisemaisabrangente,tambmno erradotratarqualquerDOScompatiblesimplesmenteporDOS. Outroaspectoimportanteasernotadodatabela1orpidodesenvolvimentodo hardware,issodevidoprincipalmenteaomercadoabertoelivrecompetioentrefabricantes.Mas tambmnosepodeesquecerdaimensademandaproporcionadapelosusuriosdoIBMPC,vidos pornovosrecursos. Outropontoimportantequetambmpodesernotadoapartirdatabela1que
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/33/50
SistemasOperacionais
Data
Ago/1981
Suporteahardware
LanamentodoIBMPC,comdisco flexvel(disquete)de8"e160KB
Sistemadearquivo
FAT12,1nicodiretrio,mximode4096 clustersde4KB,partiomximade16MB
Mai/1982 Disquetede320KB(doublesidedfloppy) IBMXT(PC/XT),HDde10MBe disquetede360KB IBMPCjr(mquinamaissimplesede baixocusto) IBMAT(PC/AT80286de6MHz), disquetede5"e1.2MB Disquetede3,5"e720KB IBMPS/2:PersonalSystem/2com disquetede3,5"e1.44MB HDsmaioresque32MB Compressodedados(DoubleSpace) Compressodedados(Stacker) Suporteanomesdearquivoslongos (Windows95) FAT32(Windows95BOSR2) ltimaversodoMSDOS("embarcado"noWindowsMillenniumMe) ltimaversodoPCDOS FAT16,partiomximade32MB
MSDOS3.0 Ago/1984 MSDOS3.2 PCDOS3.3 PCDOS4.0 MSDOS6.0 PCDOS7.0 MSDOS7.0 MSDOS7.1 MSDOS8.0 Jan/1986 Abr/1987 Jul/1988 Mar/1993 Abr/1995 Ago/1995 Ago/1996 Set/2000
PCDOS2000 2000
Tabela1VersesPCDOSeMSDOS
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/34/50
SistemasOperacionais
possibilitouaousuriocarregardiversosprogramasnamemriadocomputadoreaindaconseguir alternarentreumaplicativoeoutro,semprecisarabandonarumdosprogramas.Estamosfalandodo ambientegrficoWindowsjnasuaverso3.1,queteveumagrandeaceitao.Comonessapocao WindowsnopassavadeumaambientegrficoquerodavasobreosistemaoperacionalDOSum sistemaoperacionalmonousurioemonotarefaparaoferecermultitarefafoinecessriousara multitarefacooperativa,ondeosaplicativosescritosparaoWindowscooperativamentesealternavam nousoderecursoscomputacionais:oprocessoeracarregadonaCPU,rodavae,nasequncia,devolvia aCPUparaoutroaplicativoqueestivessenafila.Nesseesquema,sedeterminadoaplicativono devolvessemaisaCPUosistematravava,fatoessemuitocomum. 5.2.4FAT Desdeoincio,devidosimplicidade,osistemadearquivodoDOSfoiaFAT,que acompanhouaevoluodessesistemaoperacionalchegandoatrsverses:atoDOS3.0foiusadaa FAT12,paraasversesdoDOSposterioresa3.0temosaFAT16,jaFAT32surgecomaverso7.1 doDOS"embarcado"noWindows95BOSR2de1996(MSDOS7.1). ParaentenderaFAT(ouqualqueroutrosistemadearquivo),necessriosaberantes comoasinformaessogravadasnumdisco.Comoexemplotemosumdisquete(floppy)formatado3 com80trilhas(tracks),18setores(sectors)portrilhae1024bytesporbloco(cluster4),entoa capacidadetotaldessedisco80x18x1024=1440KB.Antesdacriaodosistemadearquivonodisco nohcomolernemescrevernele,eparacriarsistemadearquivonecessrioantescriarpartio5. Conformeafigura5abaixo,podeservistoqueastrilhassoregiescirculares concntricasondeocabeoteposicionadoemcimaparaaleituraouescrita.Ossetoressoasregies delimitadaspelainterseoentreumatrilhaeduaslinhasemformatode"fatiadebolo".Emqualquer discoumsetortem512bytese,seessediscoforumHD,tipicamentegiraaalgunsmilharesde rotaesporminuto. Jobloco(cluster)aunidadedealocaoconstitudademltiplosde512bytes,ouseja, umblococonstitudopornomnimoumsetor.Seoblocoformaiorque512bytes,ossetoresqueo compemsocontguos.Paraentenderporquefoicriadaaentidadebloco,vamosanalisarocasode umapartioemHDde2GBemFAT16:seestamosem16bits,onmeromximopossvel enderevelnessesistemadearquivo216=65536,pormseformosmultiplicar512bytespor65536 chegaremosapenasa32MB,muitoinferiorrealcapacidadedessapartio.SefosseFAT32,esse nmeroseria2TB.
3 4
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/35/50
SistemasOperacionais
Dessemodo,numapartiode2GBem Trilha 0 Setor FAT16,64setoressotratadascomoumnico blocode32KB,quepossibilitaocupartodooespao possvel. interessantenotarquequandoum arquivoestnumsistemadearquivo,eletemseu contedodivididopelotamanhodoblocode alocao,eassimocupaumdeterminadonmero dessesblocos.Porexemplo,seumarquivotem 2,5KBeotamanhodoblocodealocao1KB,o contedodessearquivoirocupar3blocos.E mesmoqueoarquivotivesseapenas1byte,ainda assimocuparia1bloco,poisessaamenorunidade dealocao. Cabeote Diantedisso,umblocodealocao Figura5Discocomformataode18setores grandee32KBmuitograndeparaumbloco implicaemperdadeespaorealnapartiopoispraticamenteparacadaarquivoexisteum"resto"que nopreenchecompletamenteumbloco,equeacarretadesperdciodeespaonessesistemadearquivo. PoressemotivonoDOSemFAT16apartiomximaestavalimitadaa2GB.Pelomesmomotivo, emFAT32essalimitaoestem2TB. Umdiscussointeressantenessepontodizrespeitonecessidadedeaumentarotamanho doblocoemFAT16devidolimitaonoespaodeendereamento,pormessalimitaoinexisteem 32bits,mesmoparaumapartiode2TB(oumaior),equepoderiausarblocosde4KB.Masmesmo assim,emFAT32otamanhodoblocotambmaumentamedidaqueaumentaotamanhodapartio. Natabela2abaixo,apareceotamanhomximodapartio,doblocoenmerodesetores paraFAT16eFAT326.
FAT16
Partio At255MB 255a512MB 512a1024MB 1024a2048MB Tamanhodobloco 4KB 8KB 16KB 32KB Ndesetores 8 16 32 64 Partio At8GB 8GBa16GB 16GBa32GB 32GBa2TB 4KB 8KB 16KB 32KB
FAT32
Tamanhodobloco 8 16 32 64 Ndesetores
Tabela2Tamanhosdeblocoemfunodotamanhodapartio
Seporumladoquantomenorotamanhodoblocomenorodesperdciodedisco,por outroexisteumtamanhomdiodedadosqueconvenienteguardarnumnicobloco,issopara
6
OWindows95BOSR2,Windows98eMillenniumusama FAT32noDOS"embarcado".
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/36/50
SistemasOperacionais
agilizartantoaescritaquantoaleituranodisco.Essetamanhofunodotamanhomdiodos arquivos,ondeatualmenteumblocodealocaotpicotem4096bytes7.Outroproblemarelacionadoa umblocomuitopequenoafragmentaodosdados,queocorrepelafaltadeespaocontguopara guardarosblocosdedeterminadoarquivo.Afragmentaoocorremedidaquemaisemaisarquivos vosendoguardadoseexcludosnapartio,esetornariaumproblemamaisgravedoquejcasoo tamanhodoblocofossemuitopequeno. Almdotamanhodobloco,outralimitaoimportantedaFATestnotamanhomximo deumarquivo,queemFAT16de2GBeemFAT32de4GB. OutramudanaqueocorredaFAT16paraaFAT32finalmentepermitirnomesde arquivosextensosaoinvsdotradicional"8.3",comoporexemploonomedearquivo "ARQUIVO2.TXT".Maspoucoantesdisso,nolanamentodoWindows95(MSDOS7.0),asoluo foiusarVFAT(VirtualFileSystem)paragarantirnomesextensosemFAT16. UmavisomaisadequadadaFATvemdafigura6,abaixo,quemostraumarquivode 2,5KBgravadoem3blocosde1Kcada.Adisposiodessesblocosocupados(ocontedodoarquivo) podemnosercontguos,emboracadablococontenhaapenassetorescontguos. AcaractersticamaismarcantedaFATusaratrilha0(atrilhamaisexternadodisco) paraguardaratabeladealocao,quetmentradasparapermitirchegaraosblocosdecontedodos arquivos.Numavisosimples,quandoseescreveumarquivonodiscoocontedodessearquivo quebradoemdeterminadonmerodeblocosquevoem setoresemtrilhasdiferentesdatrilha0,eparaposteriormente FAT poderacessaressearquivonatrilha0vaiumaentradaque 1K 1K 1K 1K 1K 1K 1K 1K levaaesesblocos. 1K 1K 1K 1K 1K 1K 1K 1K Atabeladealocaosimplesepossivelmente 1K 1K 1K 1K 1K 1K 1K 1K foiescolhidacomosistemadearquivodoDOSpelaeconomia 1K 1K 1K 1K 1K 1K 1K derecursosdehardwarequeproporciona.O86DOS(de 1K 1K 1K 1K 1K 1K 1K quemoPCDOSderiva)basicamenteumclonedoCP/M 8 1K 1K 1K 1K 1K 1K 1K queincorporaaFAT . 1K 1K 1K 1K 1K 1K 1K 1K Poroutrolado,todaessasimplicidadedaFAT implicanoriscodeperdadetodocontedodosistemade Figura6SistemadearquivoFATcom arquivocasosejadanificadaatrilha0. blocosdealocaode1K,onde3blocos OutroproblemaainseguranalocaldaFAT. estoocupadoscomoarquivo Umusurionoconsoledamquinaacessaqualquerarquivo "ARQ.TXT"de2,5KB. poisnoexisteoconceitodepermissonoacesso,epode excluir/modificararquivosqueforamcriadosporoutrousurio.Nesseaspecto,asnovasversesde FATtambmnoprezarampelamelhoriadaseguranalocal. Nosetor0(primeirosetordatrilha0)vaiosetordebootMBR(MasterBootRecord),ea tabeladealocaosegueapartirdosegundosetor,queodenmero1. Quantosaossetores,umapartioFATdivididaemdadosadministrativos
7 8
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/37/50
SistemasOperacionais
(administrativedata:MBR,tabeladealocaoediretrioraiz)ereadedados(datastorage).Sempre areadedadosaquetemomaiornmerodesetores. 5.2.5ComandosbsicosDOS Conformejfoidito,oDOSumsistemaoperacionalbaseadonalinhadecomando, ondeasintruessodadasapartirdeumshell(interpretadordecomandos).NoDOS,tantofazusar caixaaltaoubaixa.Porexemplo,ocomandoDIRpodeserdadocomodir,DiroumesmodIr. Paraqualquercomando,aajuda(help)sobreousovemaodigitarumabarradireitaeo caracterinterrogaoapsocomando. Exemplo: Paraobteraajudadocomandodir,devesercomandado OscomandosDOSmaiscomunsseguemnalistaabaixo.
C:\>DIR/?
cd(chdir)mudadeumdiretrioparaoutro. chkdskverificaaintegridadedeumsistemadearquivo. clslimpaatela. copycopiaarquivosdeumlocalparaoutro. del(erase)excluiarquivos. deltreeexcluiumdiretrio,subdiretriosearquivosqueelecontm. dirmostraocontedodeumdiretrio. echopermiteenviarstringsdetextoparaasadapadro. exitfinaliza,saidoshell. fdiskcriapartio. findencontraarquivos. formatcriasistemadearquivo. md(mkdir)criadiretrio. moremostraasadapaginada. movemovimentaourenomeiaarquivos.Diferedacpiaporexcluirooriginal. msdprovinformaotcnicaarespeitosobreohardwareesoftware. rd(rmdir)excluidiretriosvazios. renrenomeiaarquivos. treemostraemformatodervoreosdiretriosdodiretriocorrente. typemostraocontedodeumarquivodetexto. undeletetentarecuperararquivosqueforamacidentalmenteexcludos. vermostraaversodosistemaoperacional xcopycopiadiretriosetodoseucontedo.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/38/50
SistemasOperacionais
Antesdecriarsistemadearquivonecessriocriar C:>FDISK umapartio9,paraissousaseocomandoFDISK. AtravsdomenudocomandoFDISK,bastaescolheraunidadededisconaqual queremoscriarumanovapartioeoespaoqueelairocupar; Depoisdecriadaapartio,criaseosistemade C:>FORMATD: arquivonanovaunidade(D)comocomando FORMAT; Depoisdecriadoonovosistemadearquivo,pode C:>D: semudarparaaunidade"D"; Depoisdetermudadoparaaunidade"D",criaseo D:>MKDIRARQS diretrio"ARQS"naraizde"D"; Depoisdecriadoodiretrio"ARQS"naraizde"D"D:>COPYC:ARQ.TXTD:\ARQS copiaseoarquivo"ARQ.TXT"daraizde"C"para dentrododiretrio"ARQS"naraizde"D"; Comocomando"DIR"feitaaverificaoseo D:>DIR\ARQS arquivoestmesmol; Aseguir,oarquivo"ARQ.TXT"movidoda D:>MOVED:\ARQS\ARQ.TXTA: unidade"D"paraodisquete.
Nosepodecriarpartiesemdisquetes,apenasemHDs(harddisks).
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/39/50
SistemasOperacionais
5.3Windows
5.3.1Histrico Em1985aMicrosoftlanouaprimeiraverso doWindows,quenoerasistemaoperacionalmassim interfacegrficaquerodavasobreoDOS.Emnovembrode 1987veioaverso2.0,queaocontrriodaverso1.0,era capazdesobreporjanelas.Foinaverso2.0quevierampela primeiravezasaplicaesWordeExcelparaWindows, pormdeincionoforamsucessoquandocomparadascom suasversesparaDOS,delinhadecomando. OWindowscomeouafazersucessonaverso 2.1,masficoupopularmesmoapartirdaverso3.0, disponibilizadaem1990,jrelativamentelevemesmopara osPCsmaisbsicosdapoca. Averso4.0doWindows,conhecidacomo Windows95,foidisponibilizadaaomercadoem1995e Figura7Windows1.0(1985) rapidamentetornouseumdossistemasoperacionaismais popularesdevidoasuafacilidadedeuso, compatibilidadeeprincipalmentedevidogrande disponibilidadedesoftwareaplicativoquerodava sobreele.Emborafosseumsistemamultitarefae comestruturade32bits,grandepartedoseucdigo erabaseadonoWindows3.11. Paraoambientecorporativofoi desenvolvidooNT(NewTechnology),quefoio primeirosistemaoperacionalde32bitsdaMicrosoft. AprimeiraversodoNTfoia3.1,de1993,eque tinhaaaparnciadainterfacegrficadoambiente Figura8DesktopdoWindows3.11(1993) operacionalWindows3.1. AolongodasuahistriaoWindows, basicamente,passaportrsfases10distintas:
10
Vertabela3abaixo.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/40/50
SistemasOperacionais
anteriores,iniciaem3.1eatualmenteestem5.2(Windows2003Server). daFASE3aorigemdosatuaissistemasWindows2000,XPe2003Server,queso sistemasoperacionaisgrficosenotemmaisnenhumarelaocomoDOS11.Estessistemassoditos "baseadosnoNT".OutradiferenaqueaFASE3jiniciaem32bits,aocontrriodasanterioresque sempremantiverampelomenosalgumarelaooriginalcomos16bits. OutroaspectointeressanteestrelacionadamultitarefanoWindows,naFASE1 cooperativapoisoWindowsambientegrficoquerodasobreoDOS,nasdemaisfasesj multitarefarealoupreemptiva.NamultitarefacooperativaasaplicaesparaWindowsprecisam cooperarparagarantiramultitarefa,napreemptiva12osprocessossoescalonadosecadaumrecebe determinadotempodeCPU. 5.3.2VersesWindows NumaanlisedasversesdoWindowsdesdeolanamentoem1985athoje(vertabela 3,abaixo),ficantidaumaseqncia.Porm,importantenotarquealinhaatualnascecomaverso NT3.1de1993,enquantoalinhaoriginal(baseadanoDOS)descontinuadaem2000.
VersoWindows
1.0 2.0 3.0 3.1 NT3.1
Data
Nov/1985 Nov/1987 Mai/1990 Mar/1992 Jul/1993
Nome
Windows1.0 Windows2.0 Windows3.0 Windows3.1 WindowsNT3.1 WindowsforWorkgroups3.11 WindowsNT3.5 WindowsNT3.51 Windows95 WindowsNT4.0 Windows98 Windows2000 WindowsMillennium WindowsXP Windows2003Server WindowsVista
Ndebits
16 16 16 16 32 16 32 32 16/32 32 16/32 32 16/32 32 32/64 32/64
FASE
AmbientegrficosobreoDOS AmbientegrficosobreoDOS AmbientegrficosobreoDOS AmbientegrficosobreoDOS Sistemaoperacionalgrfico AmbientegrficosobreoDOS Sistemaoperacionalgrfico Sistemaoperacionalgrfico DOS"embutido"noambientegrfico Sistemaoperacionalgrfico DOS"embutido"noambientegrfico Sistemaoperacionalgrfico DOS"embutido"noambientegrfico Sistemaoperacionalgrfico Sistemaoperacionalgrfico Sistemaoperacionalgrfico
forWorkgroups3.11 Dez/1993 NT3.5 NT3.51 4.0 NT4.0 4.1 NT5.0 4.9 NT5.1 NT5.2 NT6.0 Set/1994 Mai/1995 Ago/1995 Jul/1996 Jun/1998 Fev/2000 Set/2000 Out/2001 Abr/2003 Jan/2007
Tabela3VersesdoWindows
11 12
AtualmenteossistemasbaseadosnoNTapenasoferecemalgumacompatibilidadecomoDOS. Porm,asaplicaesescritasparaWindows3.xaindacausamerrodeproteogeral.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/41/50
SistemasOperacionais
5.3.3WindowsNT OdesenvolvimentodoWindowsNTiniciouem1988,apsaMicrosoftcontratarum grupodeprogramadoresexperientesqueveiodaDigitalEquipmentCorporation(DEC).Oprojetofoi conduzidoporDavidCutler,tambmexprojetistadaDEC. AintenoinicialdoprojetoNTeraseranovaversodoOS/2,verso3.0,desenvolvida emparceriacomaIBM.Porm,ograndesucessodoWindows3.0de1990encorajouaMicrosofta seguirseuprpriorumo,issoapsromperaparcerianodesenvolvimentodoOS/2. OprojetoNTdeveriacontemplarsistemasservidoreseestaesdetrabalhototalmente32 bitsparaoambientecorporativoemredesdecomputadores,efoiconsideradoambiciosonamedida emquepodiaserutilizadoemarquiteturasdecomputadordesenvolvidaspordiferentesfabricantes, comoasdaDigital(Alpha),IBM(PowerPC),Intel(Pentium),SiliconGraphics(MIPS),entreoutros. OobjetivodaMicrosofteradesenvolverumsistemaoperacionalmultitarefaparaserutilizadotanto emambientesmonousuriocomomultiusurio.ONTtambmsecaracterizariaporsercompatvel comosistemaoperacionalMSDOS. OlanamentodoNTocorreuem1993econtemplouversesparaservidoresepara estaesdetrabalho,almdesermultiplataformaedefatototalmente32bits.OnomeWindowsNT vemdeNewTechnology,escolhidodepropsitoparadescolardoantigoWindows3.1que,porrodar sobreoDOS,apresentavaumnmeromuitograndedeproblemasejamaispoderiaserimaginado comoservidorderede.Surpreendentemente,naescolhadaversoinicialparaoNTfoiinvocadaa versodoWindows3.1. Inclusive,aprimeiraversodoNTtinhaainterfacegrficadoWindows3.1enomaisa originaldoOS/2.Logonaseqncia,averso4.0alterouessainterfaceparaserigualadorecm lanadoWindows95. ApropostainicialdoNTeraofertarestaesdetrabalhosuficientementeconfiveise competitivasapontodeseremadotadasemlargaescalanosdiversosambientescorporativos,almdo servidorderedeparaatenderaessasestaes.Naverso3.1doNThaviaapenasworkstationeserver, masposteriormentenasnovasversesessassubdivisesforamaumentando,conformepodeservisto natabela4,abaixo.Adiferenabsicaentreworkstationeserverestavanomododeoperao(cliente eservidor),nosserviosoferecidoseaossegmentosparaosquaiscadaumdelesfoidesenvolvido, almdonmerodeprocessadoressuportados. Comopodeservistonatabela4,abaixo,tantooNT5.0quantoNT5.2oferecem4 subdivisesqueindicamumamaiordiversificaodalinhaquandocomparadoscomooNT3.1.Essa diversificaoocorreparamelhoratenderaosdiferentessegmentosdeservidoresdosambientes corporativos,diversificaoessaqueaparentementecontinuaraaumentarnasfuturasversescaso continueaboaaceitaodoWindowsnessesegmento.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/42/50
SistemasOperacionais
VersoNT
NT3.1workstation NT3.1server NT4.0workstation NT4.0server NT4.0enterprise NT5.0professional NT5.0server NT5.0advancedserver NT5.0datacenterserver NT5.1 NT5.2
Nome
WindowsNT3.1 WindowsNT3.1 WindowsNT4 WindowsNT4 WindowsNT4 Windows2000 Windows2000 Windows2000 Windows2000 WindowsXP XP64bitEdition15
Bits
32 32 32 32 32 32 32 32 32 32 64 32 32
CPU
RAM(GB)
Descrio
Estaodetrabalho ServidorderedeWindows
2 4 8,3214 2 4 8 32
4 4 4 4 4 8 64
2 4 8 8a64
2 4 x86:8,EPIC:64
Tabela4subdivisodasversesNT
14 15
16 17
OnomeXPvemdapalavraeXPierence,indicandoqueagoraalinhadeestaesdetrabalhoWindowsestomelhores devidomaiorexperinciadaMicrosoftnessesegmento.Dequalquermodo,comoXPqueficaramunificadasas linhasdeservidoreseestaesdetrabalho,queapartirdeentopassaramasertodosbaseadosnoNT. Standard:8CPUs,Special:32CPUs. aversodoXPparaItanium,quebaseadonoWindows2003Server.NoconfundircomXPProfessionalx64 Edition,queparax8664eporissotemapenasextensesdememriade64bits. 64bitsapenasnaarquiteturaEPIC(Itanium). Muitodapropagandasobreos64bitsenganosa,comoporexemplooatualanncio"WindowsXP64bits"quena verdadetemapenasextensesde64bitsparapoderalocarumespaodememriaalmdostradicionais4GBlimitado pelos32bits.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/43/50
SistemasOperacionais
incorporamatecnologiaPAE(IntelPhysicalAddressingExtensions),quepermiteenderearat64 GB(236)dememriaRAMnumaCPUde32bits. AtecnologiaPAEextendepara36bitsoendereamentodememria,masparaqueo sistemaoperacionallancemodessasoluonecessriotambmsuportenochipset(placame). NumcasotpicodeestaodetrabalhoWindows,raramentesetornanecessrioiralmdepoucos gigabytesdememria,pormnumsistemaservidormesmodemdioporteimprescindvelirbem almdolimitede4GBimpostopelaarquiteturade32bits. Etendoemvistaanecessidadedepermitirmaioralocaodememriaparaservidores baseadosnox86,aIntellanoutambmaextensode64bits.EssaatecnologiaEM64T(Extended Memory),queumaextensode64bitsparaaalocaodememrianumaCPUde32bits.Como produtos,estooP4(Pentium4)eXeon,quesoCPUstpicasemservidoresbaseadosemCISC.No entanto,aocontrriodoPAE,atecnologiaEM64TnoestdisponvelemtodaalinhadeCPUs,mas apenasnaquelesdestinadosaosgmentoservidor. AntesdaIntellanaratecnologiaEM64T,aAMDjtinhaessasextensesnasua arquiteturaX8664. Outraconclusoimportanteapartirdatabela4,acima,quecomoEPIC(Itanium)oNT 5.2finalmentechegouaos64bitsevoltouasermultiplataforma.NolanamentodoNT(1993)haviao suporteaRISC,queposteriormentefoiretirado. AgeraodossistemasoperacionaisWindowsXP(NT5.1)foiidealizadacomoobjetivo deunificaremtornodeumnicoprodutoomercadocorporativoeodeusuriosdomsticos.Nesse sentidoforamdesenvolvidasduasverses:
SabemoshojequeoXPservernovingou,equeemseulugarveiooWindows2003 Server(NT5.2).Dessemodo,as4subdivisesdoNT5.2apresentadasnatabela4sotodasde sistemasoperacionaisservidores.JoNT5.0tambmtem4subdivises,pormumadelaso Windows2000professionalqueestaodetrabalho,dessemodoconfirmandomaisumavezo aumentonadiversificaodalinhaNTacadanovaverso. 5.3.4SistemadearquivodoNT UmadasgrandesmelhoriasqueoNTintroduziunoambienteWindowsfoiasegurana local,necessrianoambientecorporativo.Basicamente,seguranalocalenvolveagarantiadequeos dadosdeumusurionosejamacessadosoumesmomodificadosporoutro,issonoconsoleda mquina.Ecomosabemos,aFATnoofereceseguranalocal,joNTFSfoidesenvolvidotendoem vistaaseguranalocal. interessantenotarquenoacessopelarede(compartilhamentoWindows),tantoFAT
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/44/50
SistemasOperacionais
quantoNTFSsoseguros. ONTFS(NewTechnologyFileSystem)osistemadearquivopadrodosWindows baseadosnoNT.EssesistemadearquivotrsvriasmelhoriasemrelaoFAT,taiscomomelhor performance,facilidadederecuperaodedados,confiabilidade,melhorutilizaodoespaoem disco,seguranalocal(ACL18)ejournaling19. AespecificaoexatadoNTFSumsegredodaMicrosoft,massuaorigemestno sistemadearquivoHPFS(HighPerformanceFileSystem)quefoicriadoespecificamenteparao sistemaoperacionalOS/2.AintenodoHPFSerasuperarasprincipaislimitaesdaFAT,taiscomo suporteanomedearquivosextensos(at256caracteres)emaioreficincianousodoespaoem disco. ONTFStem5verses,comopodeservistonatabela5abaixo.
VersesNTFS
v3.0 v3.1
Windows
Windows2000 XP,Server2003eWindowsVista
Melhorias
Observao
ConhecidosporNTFS3eNTFS4
v1.0,v1.1ev1.2 NT3.1,NT3.5,NT3.51eNT4.0
Tabela5VersesNTFS
Aindasobresistemadearquivo,naverso4doNThaviaoNTFS4(NewTechnologyFile System),queaocontrriodaFATgarantiaseguranalocal.NoNT5veioaNTFS5queimplementa criptografia20dosdados(aumentaaseguranadosarquivosnodisco)egerenciamentodecotas (quota),quepermiteocontroledousodoespaoemdiscoporusurio. AlmdoNTFS,quenativo,oNTsuportatambmFATeHPFS.OsuporteFile AllocationTableFAT16atoNT4,jFAT16eFAT32sosuportadasdoNT5emdiante.Porm,o HPFSsomentesuportadopelosWindowsNTverses3.1,3.5e3.51.AversoseguinteaoNT3.x, WindowsNT4.0,nosuportaenopodeacessaraspartiescomsistemadearquivoHPFS. UmapartioFATpodeserconvertidaparNTFSsemperdadosdados.Paraisso,pode serusadoocomando"CONVERT".Oinversonopossvelsemformatarapartio. 5.3.5OrganizaodaredeWindows AorganizaodaredeWindowspodeserworkgroupoudomain. Workgroupumaorganizaodescentralizadacujaprincipalmetaestno compartilhamentoderecursostaiscomoimpressoras,aplicaes,arquivos,etc.Essaorganizao apropriadapararedespequenas,tipicamentecomnomximo10computadores,pormfica impraticvelseonmerodemquinasnessaredeformuitogrande.Porexemplo,adescentralizao
18 19
20
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/45/50
SistemasOperacionais
implicaemqueousuriodevaterumacontadeacessoemtodasasmquinassquaisdesejater acessoaalgumrecurso,poisasautenticaessosemprelocais.Quantoaoacesso,oworkgroupprov ummodelodescentralizadoderedepontoaponto. DomainumaorganizaocentralizadaquenecessitapelomenosumWindowsNT servernafunodecontroladordodomnio.Nessecaso,aredepodesergrandequecontinuasendo administrvel,issodevidocentralizaodastarefasadministrativasnocontroladordedomnio.Por exemplo,bastaqueousuriotenhasuacontaabertanocontroladordedomnioqueteracessoa recursoscomautenticaoemtodaarededomain. AtoNT4haviaoconceitoPDC(PrimaryDomainController)eBDC(BackupDomain Controller),quenoNT5foramsubstitudospeloActiveDirectory.Ouseja,oActiveDirectory tambmumcontroladordedomnio,equeconhecidoporserviodediretrios. NocasodoPDC,erausadooservioWINS21eoprotocoloNetBIOSparaqueousurio pudesseacessarorecursonodomnio.AlmdissoeranecessriopelomenosoutramquinaNTserver paraafunodeBDC,equedeveriasermanualmentepromovidaaPDCcasoocontroladorprimrio ficasseindisponvel. NoNT5,oActiveDirectoryusaoservioDNS22eprotocoloLDAP23,queso padronizadoseamplamenteutilizadosemquasetodasasredes.Dessemodo,oconceitocontroladorde domnioficoumaisinteropervelemrelaoaossistemasoperacionaisnoWindows.NoActive Directory,emlugardoPDCexisteocontroladordedomniodoesquemamestre24,queonicoque poderealizaroperaesdeescritanoesquemadoActiveDirectory.EnolugardoBDCestoutroNT 5serverqueassumetambmafunodecontroladordedomnio,pormcomocompromissode replicaratualizaesjuntoaomestre.Emcasodefalhadomestre,outroservidordedomnioassume automaticamenteessafuno. NoActiveDirectoryosobjetossocomputadores,usurios,senhas,discos,impressoras, compartilhamentos,etc.OesquemadoActiveDiretory(ActiveDirectorySchema)contmalista mestredasclasseseatributosdessesobjetos. OActiveDirectoryconstitudodepelomenosumdomnioWindows,ondecada domniotemsuaprpriapolticadeseguranaeconfianaemrelaoaosoutrosdomnios.Quando mltiplosdomniosestoconectadosporrelaesdeconfianaecompartilhamumesquemacomum, configuraoecatlogoglobal25,elesconstituemumarvorededomnio26.Mltiplasrvoresde domniopodemseconectarparaformarumafloresta27. Ocontroladordedomnioresponsvelpeloesquemamestreonicocontroladorde domnioquepoderealizaroperaesdeescritanoesquemaActiveDirectory,easatualizaesdesse esquemasoreplicaesdeleituraapenasdomestreparatodososoutroscontroladoresdedomniona
21 22 23 24 25
26 27
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/46/50
SistemasOperacionais
floresta. 5.3.6RegistrodoWindows OWindows,comoqualqueroutrosistemaoperacionalproprietrio,umproduto comercialondeocdigofontemantidobemguardadoeosoftwarecomercializadoconstitudo basicamentedearquivosbinrios.Dessemodo,osbinriosasereminstaladosnocomputadorsoo resultadodeumacompilaogenricadosistemaoperacional. Porm,dopontodevistadohardware,umcomputadorcomooIBMPCmuito diversificadoeosistemaoperacionalprecisareconhecerosdispositivosquevaiusar.Porissoa instalaodosistemaoperacionalfeitaapartirdeumaaplicaochamada"Instalador",quefazo reconhecimentodohardwareeguardaessainformaonumabasededados.Issoparaqueosistema operacional,apsinstalado,noprecisemaisperdertempotentandoreconhecerohardwaretodavez quederumboot. Eapslevantarosistemaoperacionalrecminstalado,normalmentecriamseusurios, instalamseaplicaes,criamserelaesdeconfiana,etc.Todasessainformaestambmvopara umabasededados,quenocasodoWindowschamadaderegistro.Portanto,registrodoWindows basededadoscominformaessobrehardware,softwareinstalado,usurios,etc. OregistroexistedesdeoWindows3.11,masfoicomolanamentodoWindows95que eleatingiuostatusdebasededadosconformedescritoacima. Essabasededadosestestocadaemalgunsarquivos,edependendodaversodo Windowshaverdiferentesnomeselocaisparaencontraressesarquivos.TipicamentenumWindows baseadonoNTessesarquivosestonossubdiretriosSam,Security,Software,System,Defaulte Userdiffdodiretrio\WinNT\System32\Config\.NosWindows9.xeMeestonosarquivos classes.dat,user.datesystem.datnodiretrio\Windows\.NoWindows3.11estnoarquivoreg.datno diretrio\Windows\. Semprequeseest atualizando,instalandoou configurandooWindowsviaPainelde Controle,oregistroestsendoeditado. Squenessecasosoasaplicaesdo paineldecontrolequedeforma transparentefazemaalteraono registro.Umamaneiradiretadealterar oregistroviaREGEDIT(verfigura 9),quealteraaschavesdoregistro. Porm,antesdeexecutaraaplicao REGEDITrecomendvelguardar Figura9OeditorREGEDIT cpiasdosarquivosquecompemo registro,poissealgumacoisadererradabastavoltaressesarquivos. UmaspectointeressantedoregistrodoWindowsjustamenteacentralizaodabasede
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/47/50
SistemasOperacionais
Windows3.0:de1990at1995; Windows95:de1995athoje.
5.4OS/2
AntesdepartirparaodesenvolvimentodoWindows,aMicrosoftlanouem1986,em conjuntocomaIBM,asprimeirasversesdosistemaoperacionalOS/2. Masapartirde1990asduasempresasoptaramporseguircaminhosseparados.Lanada noprimeirosemestrede1992,averso2.0apresentavaumasriederecursosdecompatibilidade, entreosquaisapossibilidadederodarprogramasdoWindowsedoDOS,almdeadotaratecnologia de32bitsqueaproveitavamelhorapotencialidadedosIBMPCs386. AinterfacedoOS/2eramuitosemelhantedoWindows95,apresentandoreade trabalhocompostaporjanelasecones. Em1992,aIBMlanouoOS/2WARP,queintegravaatecnologiaorientadaaobjeto. Porm,oOS/2novingoutantopelacarnciadeaplicaesquantoporsermuito "pesado"paraoscomputadoresdapoca. fatoqueaparceriadaMicrosoftnodesenvolvimentodoOS/2influenciounaposterior concepodoWindowsNT.
5.5UNIX
Precursordemuitossistemasoperacionais,oUNIXcomegouaserdesenvolvidopor
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/48/50
SistemasOperacionais
voltadosanos1960,resultantedeumprojetoconjuntodaAT&T,Honeywell,GEeoMIT (MassachussetsInstituteofTechonology),batizadodeMULTICS(MultiplexedInformationand ComputingService). Tratavasedeumsistemamodular,montadoemumabancadadeprocessadores, memriaseequipamentosdecomunicaodealtavelocidade.Pelodesenho,partesdocomputador poderiamserdesligadasparamanuteno,semqueoutraspartesouosusuriosfossemafetados.No entanto,devidoaatrasosnocronogramadoprojeto,aAT&Tdecidiuabandonloem1969,maso MITcontinuoutrabalhandonoseudesenvolvimento.Nessemesmoano,algunspesquisadoresque haviamtrabalhandonoprojetodoMULTICSseuniramparadesenvolverumoutroprojetonaBell Laboratories,surgindoem1971aprimeiraversodoUnix. Inicialmente,oUnixfoiutilizadoemmquinasdaDECeemmainframes.Masem1973 oUnixfoireescritoemlinguagemC,mantendoapenasumapequenapartedoncleoescritaem linguagemAssembly,oquelhepermitiuserutilizadoemoutrasarquiteturasdecomputador.OUnix comeouasepopularizarapartirde1975,quandofoilanadaaversoV6,aprimeiradisponibilizada foradosdomniosdaBellLaboratories. Nessapoca,aUniversidadedeBerkley(EUA)comprouoscdigosfontesdoUnix, possibilitandoaosalunosrealizaremmodificaesnosistema.Em1979oUnixfoiportadopara mquinasVAX,daDigital,eapartirde1992foiadaptadoparaaarquiteturaRISC,comoasdaHP, Sun,IBM,DEC,entreoutras. Apartirdosanos1980diferentesfabricantedeUnixcomearamadivergirdas caractersticasiniciaisdosistema,entofoicriadoocomitPOSIX(PortableOperatingSystemUnix) queespecificoutodasascaractersticasqueumsistemaoperacionaldeviapossuirparapertencerao padroUnix.DesdeentotornousetecnicamentemaiscorretotrataroUnixcomoumafamliade sistemasoperacionais,ouseja,considerasemembrodessafamliatodosistemaoperacionalque apresentardeterminadascaractersticasnainterfaceeconjuntodebibliotecadesistema.Atualmente existemcercade30"sabores"deUnix,algunsexemplosdemembrosdessagrandefamliasoSunOS (Solaris),HPUX,AIX,BSD,FreeBSDeLinux. HojeoUnixpopularnasUniversidades,InstitutosdePesquisaenosCPDsdoambiente corporativo,rodandoprincipalmentesobaarquiteturaRISCeatendendoaomdioegrandeporte.As exceessoLinuxeFreeBSD,quelentamenteestoconquistandotambmosegmentodesktop.
5.6Linux
OriginalmenteescritoporLinusTorvalds,doDepartamentodeCinciadaComputao daUniversidadedeHelsinki,naFinlndia,econtandocomacolaboraodevriosprogramadores voluntriosquetrabalharamemconjuntoatravsdaInternet,oLinuxtevesuaprimeiraversooficial lanadaem5deoutubrode1991. OsistemafoidesenvolvidocomoumhobbyporTorvaldsqueseinspirounoMinix,o minisistemaUnixdesenvolvidoporAndyTanenbaum.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/49/50
SistemasOperacionais
Depoisdaverso0.10,muitaspessoasdomundotodocomearamatrabalharnosistema, quesempretevecomoprincipalcaractersticaadeserumsoftwarelivre(OpenSource),ouseja,ser distribudosemrestriodeinstalao,deformagratuitaejuntocomocdigofonte,quepermitea qualquerdesenvolvedorfazermodificaeseadaptaesconformesuasnecessidadesespecficas. MuitoutilizadonoambienteacadmicoesistemaservidorvoltadoparaaInternet(web server,DNSserver,mailserver)noambientecorporativo,oLinuxtevevriasreviseseatualmente podeserconsideradocomoumclonecompletodoUnix. UmpontoimportanteaserditosobreoLinuxquesetratadeumncleodesistema operacional,equeopacotevendidoouofertadogratuitamentepelasdistribuiesoresultadoda uniodessencleocomutilitrioseaplicativos,geralmentetambmnacondioOpenSource. Muitasfornecedorasdesoftwareesoluesestoinvestindoemaplicativosquerodam sobreoLinuxeapostamnoseucrescimento.Inclusive,todasasgrandesempresasfornecedorasde sistemasUnix(IBM,Sun,HP,etc.)jofertamtambmservidorescomosistemaoperacionalLinux devidamentehomologado. ExistematualmentedezenasdedistribuiesLinux,entreasquaispodemosdestacar Mandriva(exConectiva+exMandrake),RedHat,SUSE,SlackwareeDebian. OLinuxfoidesenvolvidooriginalmenteparaaarquiteturaCISC(X8632bits),mas hojejfoiportadoparaAlpha,Sparc,UltraSparc,Motorola68000,PowerPC,PowerPC64,MIPS, PARISC,IntelIA64,AMDX8664entreoutros.Semdvidaalgumaomodelodedesenvolvimento abertoqueteveorigememTorvaldssemostroumuitoprodutivo.
SistemasOperacionaisfevereiro/2007Prof.Jairoprofessor@jairo.pro.brhttp://www.jairo.pro.br/50/50