O documento discute os processos e threads no Windows Vista. Explica que processos são criados por objetos de sessão e agrupados em tarefas, e que threads formam a base do escalonamento de CPU, podendo acessar os objetos do seu processo. Também aborda mecanismos de comunicação e sincronização entre processos, como mailslots, soquetes e regiões críticas.
1. Instituto Federal de Educação, Ciência e Tecnologia da Paraíba – Campus Cajazeiras
1
Curso: Tecnologia em Análise e Desenvolvimento de Sistemas;
Disciplina: Sistemas Operacionais;
Professor: André Atanásio;
Fátima Ferreira
Sérgio Diniz
2. Roteiro
Histórico;
Principais Versões;
Estrutura do Sistema;
Inicialização e Registro;
Processos e Threads;
Gerenciamento de memória;
Caching;
Entrada/Saída;
Sistema de Arquivos NT;
Segurança;
2
4. Um pouco de história...
MicrosoftWindowséumapopularfamíliadesistemasoperacionaiscriadospelaMicrosoft,empresafundadaporBillGatesePaulAllen.OWindowséumprodutocomercial.
Éosistemaoperacionalmaisusadodomundo,emboraumagrandequantidadedecópiassejamilegais.
AatualversãoestáveldoWindowsparadesktopéoWindows7,lançadoem2009.ParaservidoresoWindowsServer2008R2éaversãomaisrecenteeestável.
OWindowsnãofoiinovador,foiumacópiadeumsistemadesenvolvidopelaApple,que,porsuavez,foiumamelhoriadosistemadaXerox.
4
5. Um pouco de história
OssistemasoperacionaisdaMicrosoftparadesktops,portáteiseservidoressãodivididosemtrêsfamílias:
MS-DOS;
WindowsbaseadonoMS-DOS;
WindowsbaseadoemNT;
5
6. Década de 1990 -Windows MS-DOS
Eraumsistemaoperacionalde16bits;
Monousuário;
Memórialimitadaa1Mb->640eradedicadoaprocessosusuários;
FAT16;
6
7. Década de 1990: Windows baseado no MS-DOS
Windowsinspiradonainterfacegráficacomousuário.
Principaisversões:Windows3.0,Windows95,Windows98, WindowsMe.
Estessistemasincluíaminterfacesdeprogramaçãode32bits.
Porém,eleaindanãoeratotalmenteseguroeoisolamentoentreasaplicaçõeseosistemaoperacionaleraprecário.
7
8. Década de 2000: Windows baseado em NT
Windowsdesenvolvidoparafuncionaremdiferentesprocessadoreseenfatizavaasegurançaeaconfiança,bemcomoacompatibilidadecomasversõesbaseadasnoMS-DOS.
Problemas:ONTdemandavamaismemória,incompatibilidadeentreosdriversdedispositivoseasaplicações.
8
21. Estrutura do Sistema
Acamadadeabstraçãodohardware;
Acamadadonúcleo;
Chamadasdeprocedimentodiferidas–DPC;
Chamadadeprocedimentoassíncrona-ACP;
Objetosdespachantes
Acamadaexecutiva;
Osdriversdedispositivos;
21
22. A camada de abstração do hardware -HAL
Camadaresponsávelporofereceraorestodosistemaoperacionalhardwaresabstratosqueocultamdetalhesespecíficos;
EssasabstraçõesdaHALsãoapresentadasnaformadeserviçosindependentesdemáquinas;
22
29. Inicialização do Windows Vista
QuandoumPCéligado,umúnicocódigodisponívelestánaformanãovolátilnamemóriadoCMOS,queéinicializadapelofabricantedocomputador.
NamaiorparteelaeinicializadapelaBIOS,quesabesecomunicarcomodispositivopadrãodocomputador.
Sãocarregadosprimeiroospequenosprogramasdeinicialização(bootstrap)encontradosnoiniciodaspartiçõesdodisco.
Essesprogramasdeinicializaçãosabemondeencontrarasinformaçõessuficientesparaverificaroestadodosistema.
29
30. Inicialização do Windows Vista
Verificaoestadodosistema:suspenso,hibernadooudesligado;
HibernadoouSuspenso–CarregaeexecutaoWindResume.exe;
Desligado–CarregaeexecutaoWindoLoad.exe;
Lidacomproblemascomunsqueousuárioencontraquandoainicializaçãofalha.
Hásuporteparaignorarmudançasrecenteserealizarainicializaçãoparaultimaconfiguraçãoseguradosistema.;
Incluemainicializaçãosegura,quedesligamuitodosdriversopcionais;
Consolederecuperação,quedisparaumajaneladelinhadecomandocmd.exe;
30
31. Inicialização do Windows Vista
GerenciadordeObjetos
OcomponentemaisimportantenoexecutivodoWindows, eleforneceumainterfaceconsistenteeuniformeparagerenciarosrecursosdesistemaeestruturasdedados;
Essauniformidadedogerenciadordeobjetosfazcomquetodososobjetosusemomesmomecanismoparacomosãocriados,destruídos;
31
32. Inicialização do Windows Vista
GerenciadordeObjetos
Quandoosistemareinicializa,todososobjetossãoperdidos;
Quandoumobjetonãoémaisnecessário,eledeveserremovidoesuamemoriaeendereçosdevemserdevolvidosaosistema;
32
33. Inicialização do Windows Vista
OWindowsusamanipuladoresparafazerreferênciaaobjetosdomodonúcleo.
Essesmanipuladoressãoorganizadosemtabelas;
33
35. Sistema de arquivos
OSistemadearquivosdoWindowséchamadoderegistroéorganizadoemvolumesseparados,chamadosdecolmeias.
QuandooWindowséinicializado,umacolmeiaemparticular, chamadaSYSTEMécarregadanamemória;
WindowsmantémumagrandequantidadedeinformaçãocrucialnacolmeiaSYSTEM,porexemplo:informaçõessobrequaisdriversutilizaremquaisdispositivos,qualsoftwareexecutarprimeiroetc.
35
36. Sistema de arquivos
Antesdaintroduçãoderegistros,asinformaçõesdeconfiguraçãonoWindowserammantidasemcentenasdearquivos.iniespalhadospelodisco.
Oregistroreúneessesarquivosemumarmazenamentocentral,queficadisponívelnoprocessodeinicializaçãodosistema.
Osregistros,entretanto,tornaram-sedesorganizados, conformeoWindowsevolui.
36
37. Sistema de arquivos
Paraexploraroregistro,oWindowstemumprogramadeGUIchamadoderegedit,quepermitequeseabrameexploremosdiretórios(chaves)eitensdedados.
Quandoosistemaédesligado,amaioriadasinformaçõesdoregistroéarmazenadaemdisconascolmeias.
Backupssãofeitosautomaticamenteparaimpediracorrupçãonaeventualidadedeumtravamentodosistema.
Aperdadoregistroimplicanareinstalaçãodetodosossoftwaresdosistema.
37
47. Escalonamento
O quantum do thread em execução expira
Othreadexecutaocódigodoescalonadorparaverificarqueméopróximoaexecutar;
Uma operação de entrada e saída
Nestecasooescalonadorverificaseessethreaddeveriacausarpreempçãonothreademexecução.
47
51. 51
Os 64 kbdo topo e da base não estão mapeados, visando auxiliar a identificação de erros de programas, causando um desvio em vez de gerar uma leitura de lixo ou escrita em um local incorreto
Nos 2GB que se seguem, vem o código e os dados privados do usuário.
Memoria Virtual
53. 53
Alocação de endereço virtual
Aspaginaspodemestarem3estados:Inválida,ReservadaouComprometida.
Invalida:Nãoestáatualmentemapeadaparaumobjetodeseçãodememória.
Comprometida:Ocódigoouosdadosestãomapeadosemumapaginavirtual.
Reservada:Sãoinválidosmascomaparticularidadedequeosendereçosvirtuaisnuncaserãoalocadospelogerenciadordememoriaparanenhumoutroproposito.Elagarantequeapilhaaumenteateseutamanhamáximosemcorreroriscodequealgumaspaginascontiguasdoespaçodeendereçamentovirtualnecessárioapilhasejamliberadasparaoutrofim
54. 54
Arquivo de Paginas
OWindowsusaumaestratégiaJust-In-Time.
Aspaginassãocomprometidaseacompanhadasdoarquivodepaginas.
Nãorecebemespaçonessearquivoaomenosqueprecisemvoltarparaodisco.
Nenhumespaçodediscoéalocadoparaaspaginasquenãoprecisamsairdamemória.
Seamemóriavirtualtotalemenorqueamemóriafísicadisponível,nãohánecessidadesdeumarquivodepaginas.
55. 55
Arquivo de Paginas
Comaestratégiadepréalocação,todaamemóriavirtualdosistemautilizadaparaoarmazenamentodearquivosprivadosficalimitadaaotamanhodosarquivosdaspaginas.ComaalocaçãoJustintimeelapodesertãograndequandootamanhodosarquivosdepaginasedamemóriafísica.
Comparandoosdiscoscadavezmaioresemaisbaratos, comamemóriafísica,aseconomiasdeespaçonãosãotãosignificativasquantoapossibilidadedemelhorardesempenho.
56. 56
Chamadas de sistema para gerenciamento de memoria
A API Win32 contem diversas funções que permitem a um processo gerenciar explicitamente sua memoria virtual.
57. 57
Implementação do gerenciamento de memoria
Naplataformax86,oWindowsVistasuporta,porprocesso,umúnicoespaçodeendereçamentolinearde4GBcompaginassobdemanda.Ostamanhosdaspaginaspodemserqualquerpotenciade2até64KB.NoPentium,porexemplo,estáfixadoem4KB.
Alémdissoosistemapodeusarpaginasde4MBparaaumentaraeficiênciadaTLB(TabeladeTraduçãoRápida),melhorandonataxadeacessoenareduçãodonumerodevezesqueatabeladepaginasprecisaservarrida.
Ogerenciadordememoriasepreocupaexclusivamentecomosprocessos,poissãoosprocessosquepossuemoespaçodeendereçamento.
58. 58
Tratamento de Falta de Paginas
Faltasdepáginapodemocorrerquando:
1.Páginareferenciadanãoestácomprometida
2.Ocorreumaviolaçãodeproteção
3.Apáginacompartilhadadotipocopiarseescrita
estavaparasermodificada.
4.Apilhaprecisacrescer.
5.Apáginareferenciadaestácomprometida,mas
nãoestámapeada
59. 59
Tratamento de Falta de Paginas
1ºe2ºcaso:Sãoerrosdeprogramação,causadoquandoumprogramatentautilizarumendereçoparaoqualnãosesupõeexistirummapeamentoválidooutentaexecutarumaoperaçãoinválida.
3ºcaso:Ocorrequandoháumatentativadeescritaemumapáginadesomenteleitura.
4ºcaso:Ocorrequandoumthreadcolocaumvalornapilhaereferenciaumapáginaqueaindanãofoialocada.
5ºcaso:Tem-seumafaltadepáginanormal,ouseja,apáginareferenciadaestácomprometidamasnãoestámapeada.
60. 60
Tratamento de Falta de Paginas
Quandoogerenciadordememóriaconseguesatisfazerumafaltadepáginasemanecessidadedelê-lanodisco, afaltaéclassificadacomofaltaaparente.Sefornecessáriaaleituranodiscoentãoéumafaltaestrita. Faltasaparentessãomuitomaisbaratasecausammenosimpactonodesempenhodaaplicação.
Quandoumapáginafísicanãoestámaismapeadapelatabeladepáginasdenenhumprocesso,elaécolocadaemumalistalivre,modificadaouemespera
61. 61
Tratamento de Falta de Paginas
Páginasquenuncamaisserãonecessáriassãoautomaticamenteliberadas.
Páginasquepodemcausarnovasfaltasvãoparaalistademodificadasouparaalistadeespera.
Aspáginasnalistademodificadasserãoescritasnodiscoeentãomovidasparaalistadeespera.
62. 62
O Algoritmo de substituição de paginas
Quandoapoucapáginadememóriafísicalivre,éremovidopelogerenciadordememória,páginasdosprocessosnomodousuárioemodonúcleo,comoobjetivodemanteraspáginasvirtuaismaisimportantesnamemóriaeasoutrasnodisco.
Aspáginasmaisimportantessãodefinidaspelousoacentuadodoconjuntodetrabalho.Oconjuntodetrabalhoconsistenaspáginasmapeadasqueestãonamemóriaequepodemserreferenciadassemumafaltadepágina.
Cadaconjuntodetrabalhopossuidoisparâmetros:
-tamanhomínimoetamanhomáximodepáginasnamemória
63. 63
O Algoritmo de substituição de paginas
Existem três níveis de atividade para o gerenciador do conjunto de trabalho:
Muitamemóriadisponível:Varreaspáginasreinicializandoosbitsdeacessoeutilizandoseusvalorespararepresentaraidadedecadapágina.
Amemóriaestádiminuindo:Paradeadicionarpáginasaoconjuntodetrabalhoecomeçaasubstituiraspáginasmaisantigas.
Amemóriaestábaixa:Removeaspáginasmaisantigas,diminuindoosconjuntosdetrabalhoparaqueelesfiquemabaixodovalormínimo.
Alémdalistadelivres,deesperaealistademodificadas,existealistadepáginaslivresqueforamzeradaselistaquearmazenaaspáginasqueforamidentificadascomocontendoerrosdehardware.
67. 67
Cachingno Windows Vista
AcachedoWindowsaumentaodesempenhodesistemasdearquivosmantendonamemóriaasregiõesrecenteefrequentementeutilizadasdosarquivos.
Regiõesdearquivosarmazenadasemcachesãochamadasdevisões(views).
Ogerenciamentorealdamemóriafísicanacacheéfeitopelogerenciadordememória.
Ogerenciadordecacheadministraousodosendereçosvirtuaisdonúcleoparavisões,organizaparaqueogerenciadordememóriamantenhaaspáginasdacachenamemóriafísicaeofereceinterfacesparaosistemadearquivos.
OsrecursosdogerenciadordecachenoWindowssãocompartilhadoscomtodosossistemasdearquivos.
68. 68
Cachingno Windows Vista
Cachingvirtualéconvenienteporqueossistemasdearquivosnãoprecisamprimeirotraduziraspartesdoarquivoemnúmerosdeblocosfísicos,atraduçãoéfeitaquandoogerenciadordememóriachamaosistemadearquivosparaacessarapáginanodisco.
69. 69
Cachingno Windows Vista
OWindowsVistaintroduziuumaformacompletamentenovadecachingnosistema, denominadaReadyBoost.OsusuáriospodemconectarumamemoriaflashaUSBouaoutrasportaseconseguirqueosistemaoperacionalutilizeessamemoriacomoumacachedosistema.
70. 70
Entrada e Saída no Windows Vista
OsobjetivosdogerenciadordeE/SdoWindowssãofornecerumaestruturafundamentalextensíveleflexívelparalidar,demodoeficiente,comumagrandevariedadededispositivoseserviçosdeE/S,suportaradescobertaautomáticadeperiféricos(plug-and-play)efazerainstalaçãodeseusdriverserealizarogerenciamentodeenergiadosdispositivosedaCPU.
72. 72
Chamadas API de entrada e saída
AschamadasAPIdesistemafornecidaspelogerenciadordeE/Snãosãomuitodiferentesdasoferecidaspelasmaioriadossistemasoperacionais.Asoperaçõesbásicassãoopen,read,write,ioctleclose,mastambémháoutrosrecursosprontosparausarasoperaçõesdeenergia,operaçõesparaconfiguraçãodeparâmetro, descargadebuffersdosistemaetc.
74. 74
Implementação de E/S
OsistemaeE/SdoWindowsconsistedeserviçosplug- and-play,ogerenciadordeenergia,ogerenciadordeE/Seomodelodedriverdedispositivo.
Driversdedispositivos:
ParagarantirqueosdriversdedispositivosfuncionembemcomorestodoWindows,aMicrosoftdefiniuoWDM(modelodedriversdoWindows),aoqual,foiprojetadoparafuncionarcomasdiferenteversõesdoWindows,permitindoquedriversescritoscomcautelafossemcompatíveiscomossistemas
75. 75
Drivers de dispositivos
UmdrivernoWindowsVistaécapazdefazertodootrabalhosozinho.Poroutrolado,osdriverspodemserempilhados,oquesignificaqueumarequisiçãopodepassarporumasequenciadedrivers,cadaumfazendoumapartedotrabalho.
76. 76
Drivers de dispositivos
OsDriversdedispositivosdomodonúcleosãoumproblemagraveparaaestabilidadeeconfiabilidadedoWindows,poisamaiorpartedasfalhasdonúcleonoWindowssedeveaoserrosdosdriversdedispositivos.
Comoosdriversdedispositivosdomodonúcleodividemomesmoespaçodeendereçamentocomascamadasdonúcleoeexecutiva,errosnosdriverspodemcorromperasestruturasdedadosdosistema.
77. 77
Gerenciador de energia
OGerenciadordeenergiacontrolaautilizaçãodeenergiaemtodoosistema.
Historicamente,ogerenciamentodeconsumodeenergiaconsistiaemdesligarateladomonitorepararogirodasunidadesdedisco.
Recursosdegerencialmentedeenergiamaisnovosincluemareduçãodeconsumodeenergiadoscomponentesquandoosistemanãoestaemuso.
78. 78
Gerenciador de energia
OWindowsdasuporteaumamodoespecialdedesligamentochamadohibernação,quecopiatodaamemoriafísicaparaodiscoe,então,reduzoconsumodeenergiaaumaminúsculofluxo.
Umaalternativaahibernaçãoéummodochamadomododeespera,noqualogerenciadordeenergiareduzosistemainteiroparaomenorestadodeenergiapossível.
79. 79
O sistema de arquivos NT do Windows
OWindowsVistadásuporteaváriossistemasdearquivos(FAT- 16,FAT-32,NTFS)
FAT-16éusandonoantigosistemadearquivosdoMS-DOS, queusaendereçosdediscode16bits,oqueolimitaapartiçãodediscoa2GB.
OFAT-32usaendereçosde32bitsesuportapartiçõesdediscodeate2TB.NãohásegurançanoFAT-32,ehojeelesóéusadoemmídiasportáteis.
ONTFS(sistemadearquivosdoNT)usaendereçosdediscode64bitsepodesuportapartiçõesdediscodeate2^64byts.
80. 80
Sistema de Arquivo NTFS
NomesdearquivosindividuaisnoNTFSsãolimitadosa255caracteres
Caminhoscompletossãolimitadosem32.767caracteres.
NomesdearquivosemUnicode(qualquerlíngua)
ONTFSécasesensitive.
AAPIdoWin32nãodasuportecompletoparanomesdearquivosenuncaparaosnomesdediretórios.
ONTFSéumsistemadearquivoshierárquico,similaraosistemadearquivosdoUNIX.OSeparadorentrenomesdecomponentesé“”,emdezde“/”,quefoiherdadodoMS-DOS.
SuporteaLinksSimbólicossurgiunoWindowsVista
81. 81
Sistema de Arquivo NTFS
ONTFSdefine13atributos.Cadacabeçalhoidentificaoatributoeinformaotamanhoealocalizaçãodocampodevalor.
82. 82
Compressão de arquivos
ONTFSsuportaacompressãotransparentedearquivos. Umarquivopodesercriadoemmodocomprimido,oquesignificaqueoNTFStentacomprimirautomaticamenteosblocoquandoelessãoescritosedescomprimi-losautomaticamentequandosãolidos
83. 83
Criptografia de arquivos
Oscomputadoressãousados,atualmente,paraarmazenartodotipodedadossensíveis,entreosquaisplanosdeincorporações,informaçãosobretributosecartasdeamor, enfim,informaçõescujosdonosnãoasqueremverreveladasaqualquerum.
OWindowsresolveessesproblemasdisponibilizandoumaopçãoparacriptografasarquivos,dessemodo,mesmoqueocomputadorsejaroubado,osarquivosserãoilegíveis.
OsprocessosdecriptografasedecriptaremsinãosãofeitospeloNTFS,masporumdriverchamadoEFS(sistemadecriptografiadearquivos).
84. 84
Segurança no Windows Vista
Orginalmente,oNTfoiprojetadoparacumprirasdeterminaçõesdesegurançaC2doDepartamentodeDefesadosEstadosUnidos.Essepadrãoexigequeossistemasoperacionaistenhacertaspropriedadesparaseremclassificadoscomosegurososuficienteparacertostiposdeatividadesmilitares.
85. 85
Segurança no Windows Vista
EmboraoWindowsVistanãotenhasidoespecificamenteprojetadoparacumprimentodasdeterminaçõesC2,eleherdavariasdaspropriedadesdesegurançadoNT.Entreelas,estão:
Autenticaçãoseguracommedidascontratrapaças
Controlesdeacessodiscricionário
Controledeacessoprivilegiado
86. 86
Segurança no Windows Vista
Acessoseguroaosistemasignificaqueoadministradordosistemapodeexigirquetodososusuáriostenhamumasenhaparaseconectarem
OsControlesdeacessosdiscricionáriopermitemaodonodeumarquivooudeoutroobjetodizerquempodeusa-loedequemodo.
Oscontrolesdeacessosprivilegiadospermitemqueoadministradordosistemaignoreoscontrolesdeacessosdiscricionáriosquandonecessários
88. 88
Estrutura de uma ficha de acesso
Cabeçalho:Contemalgumasinformaçõesadministrativas.
Validade:Indicaquandoaficadeixadeservalida.
Grupo:Especificamosgruposaosquaisoprocessopertence.
CACLinicial:éalistadecontroledeacessoatribuídaaosabjetoscriadospeloprocesso.
SIDdousuário:Indicaquempossuioprocesso.
SIDsrestritos:Permitirqueprocessosnãoconfiáveisparticipemdetrabalhos.
Privilégios:Dãoaoprocessopoderesespeciais,comoodireitodedesligaramaquinaoudeacessararquivos.
Níveldepersonificação:Éutilizadoparacomunicaçãoentreclienteseservidores.
89. 89
Chamadas API de segurança
AmaioriadosmecanismosdecontroledeacessodoWindowsVistaébaseadaemdescritoresdesegurança. Opadrãousualéque,quandoumprocessocriaumobjeto,eleforneceumdescritordesegurança.Essedescritordesegurançatorna-se,então,odescritordesegurançaassociadoaoobjeto.Senenhumdescritordesegurançaforfornecidonachamadadecriaçãodoobjeto,seráusadoaconfiguraçãopadrãodesegurança.
90. 90
Chamadas API de segurança
Paracriarumdescritordesegurança,primeirodeveseralocadasuamemoriaeentãoeentãoexecutarumasequenciadefunçõesdaAPIdoWin32
91. 91
UAC(Controle de conta do usuário)
CriadoparatrataroproblemacrônicodoWindowsemquemuitosusuáriosseconectamcomoadministradores.
Seradministradorotempotodoéalgoperigosonãosomenteporqueoserrosdousuáriopodemdanificarosistema,mastambémporque,seousuárioforenganadoouatacadoeexecutarcódigoqueestejatentandocomprometerosistema,ocódigoteráacessoadministrativoepodeenterrar-sebemfundonosistema.
92. 92
UAC(Controle de conta do usuário)
ComaUAC,seocorreumatentativadeexecuçãodeumaoperaçãoquedemandapermissõesdeadministrador,osistemacriaumdesktopespecialeassumeocontroleparaquesomenteentradasdousuáriopossamautorizaroacesso.
Algunsataquesconseguemdestruirosdadosdousuário. Entretanto,oUACrealmenteajudaaimpedircertostiposdeataques