You are on page 1of 3

Estudo de Caso do Windows 7

Danilo Ferreira: Depto de Cincia da Computao


Universidade Federal de Mato Grosso Campus do Mdio ra!uaia "arra do Garas# Mato Grosso# "rasil danilo$cid%&'otmail(com
Este artigo faz um estudo de caso do Sistema Operacional Windows 7. Os temas aqui abordados so basicamente a Histria do Windows 7, Processos e Threads, Gereciamento de emria, !ntrada"Sa#da no Windows 7 e o Sistema de $rqui%os do Windows.

)ssica Marin'o: Depto de Cincia da Computao


Universidade Federal de Mato Grosso Campus do Mdio ra!uaia "arra do Garas# Mato Grosso# "rasil *lmarin'ocosta&!mail(com Um processo no Windows essencialmente um container Mue contem a eNecuo de um arMuivo de ima!em eNecut4vel( P representado por um processo o%*eto em modo 3ernel e o Windows usa o processo o%*eto e suas estruturas de dados associadas para armaFenar e controlar in$ormaGes da ima!em( 2or eNemplo# um processo possui um espao de endereo virtual Mue contem dados privados e partil'ados do processo em Mue a ima!em eNecut4vel e suas D;;s associadas so mapeadas( / Windows re!istra as re$erncias do processo para o%*etos do sistema operacional na ta%ela de 'andles( 2rocessos operam com um conteNto de se!urana# c'amados de to3en# Mue identi$ica a conta do usu4rio# !rupos de contas# e privil!ios atri%u5dos ao processo( Finalmente um processo inclui um ou mais t'reads Mue realmente eNecutam o c8di!o em um processo# e Mue so representados por um t'read o%*eto do Qernel( Uma das raFGes para aplicaGes criarem t'reads alm do seu t'read inicial: processos com inter$ace de usu4rio !eralmente criam t'reads para eNecutar o tra%al'o de $orma Mue o se!mento principal continue respondendo R entrada do usu4rio e aos comandos de *anelas( +E( GE.E,C+ ME,-/ DE MEM:.+

+(

+,-./DU01/

/s sistemas operacionais da Microso$t para 2Cs des3top e port4teis e para servidores podem ser divididos em trs $am5lias: M67D/6# Windows %aseado no M67D/6 e Windows %aseado em ,-( -ecnicamente# cada um desses sistemas su%stancialmente di$erente de seus pares e cada um dominou o mercado em dcadas distintas da 'ist8ria dos computadores pessoais( ++(
9+6-:.+ D/ W+,D/W6

;anado em )ul'o de <==>? 7@ Windows User est4vel: W>A B W>C B ME B <=== B D2 B Eista B 7? 2oucas atualiFaGes se comparado ao Eista? ;eitura nativa de "lu7.aH e 9D7DED? +nstalao do sistema em 9D virtual Iima!ensJ? +E C e > K Windows Media 2laHer L<? Conceito de %i%liotecas? Modo Windows D2? rMuitetura modular# semel'ante ao Windows 6erver <==C? +++( 2./CE66/6 E -9.E D6

/ Windows possui na sua 2+ um con*unto de $unGes necess4rias para a comunicao entre processos e t'reads: as C/M# e recentemente o Windows Communication Foundation( 2rocessos e t'reads eNi!em mem8ria $5sica# mem8ria virtual# ento o nOmero de t'reads ou processos Mue podem ser criados no Windows determinado por um desses recursos# dependendo da maneira Mue os processos so criados e Mue restrio atin!ida primeiro(

,o Windows 7# todo processo de usu4rio tem seu pr8prio espao de endereamento virtual( ,as m4Muinas NCS# os endereos virtuais so de T< %its de lar!ura? portanto# cada processo tem U G" de espao de endereamento virtual Mue podem ser or!aniL(ados tanto como < G" de endereos para o modo usu4rio de cada processo ou os sistemas de servidores do Windows podem opcionalmente con$i!urar o sistema para o$erecer T G" no modo usu4rio( /s %Htes restantes so utiliFados pelo modo nOcleo( ,as m4Muinas NSU $uncionando no modo SU %its# os endereos podem ter T< ou SU %its( /s endereos de T< %its so minimiFados para os processos em eNecuo com WOW64 para compati%ilidade com T< %its( Como o nOcleo tem endereos su$icientes dispon5veis# esses processos de T< %its podem aca%ar o%tendo um espao de endereamento de U G"# caso Mueiram( -anto nas m4Muinas NCS Muanto nas NSU# o espao de endereamento pa!inado so% demanda# com taman'o de p4!ina $luNo de U Q"7em%ora em al!uns casos# tam%m se*am usadas p4!inas de U M" IutiliFando somente um diret8rio de p4!ina e contornando a ta%ela de p4!inas correspondenteJ(

/s SUQ" do topo e da %ase do espao de endereamento virtual de cada processo normalmente no esto mapeadas( Essa escol'a $oi intencional# visando auNiliar a identi$icao de erros de pro!ramas( 2onteiros inv4lidos so muitas veFes# = ou 7L? portanto( a tentativa de us47los no Windows causa um desvio em veF de !erar uma leitura de liNo ou# pior ainda# uma escrita em um local incorreto da mem8ria( 2artindo dos SU Q" vm o c8di!o e os dados privados do usu4rio( +sso se estende por Muase < G"( /s < G" superiores contm o sistema operacional# inclusive c8di!o# da dos e reservat8rios pa!inados e no pa!inados Iusados para o%*etos etc(J( /s <G" superiores rmam a mem8ria virtual do nOcleo# Mue compartil'ada entre todos os processos dos usu4rios# eNceto pelos dados da mem8ria virtual( Como ta%elas de p4!inas e listas de tra%al'o# Mue so eNclusivas de cada processo( mem8ria virtual do nOcleo somente est4 acess5vel Muando em eNecuo no modo nOcleo( / motivo para o compartil'amento da mem8ria virtual do processo com o nOcleo Mue# ao laFer uma c'amada de sistema# o t'read desvia o controle para o modo nOcleo e continua eNecutando sem alterar o mapa da mem8ria( -udo o Mue precisa ser $eito alternar para a pil'a do nOcleo do t'read( Como as p4!inas do processo do modo usu4rio ainda esto acess5veis# o c8di!o do modo nOcleo conse!ue ler parVmetros e acessar %u$$ers sem ter de ir e vir entre os espaos de endereamento ou ter de temporariamente duplicar o mapa de p4!inas nos dois espaos( / compromisso aMui entre menos espao privado de endereamento por processo e retorno mais r4pido de c'amadas de sistema( / Windows permite Mue os t'reads se conectem a outros espaos de endereamento Muando eNecutados no modo nOcleo( coneNo a espaos de endereamento permite ao t'read acessar todo o espao de endereamento do modo usu4rio# assim como as partes do espao de endereamento do nOcleo espec5$icas ao processo# como o automapa para as ta%elas de p4!inas( /s t'reads devem voltar ao espao de endereamento ori!inal antes de voltar ao modo usu4rio( E(
E,-. D E 6 WD ,/ W+,D/W6

/ !erenciador de E+6 li!ado intimamente com o !erenciador de recursos plug-and-play. ideia principal por tr4s dos recursos plug-and-play o %arramento enumer4vel( Muitos %arramentos# incluindo 2C Ca rd# 2CX# 2C+7N# G2( U6"# lEEE LT>U# E+DE c 6 - # $oram pro*etados de modo Mue o !erenciador de recursos plug-andplay possa enviar uma solicitao pYZra cada slot c pedir Mue o dispositivo se identi$iMue nele? tendo desco%erto Mual # o !erenciador de recursos plug-and-play aloca recursos de 'ardware# como n5veis de interrupo# localiFa os drivers apropriados e os carre!a para a mem8ria( [ medida Mue cada driver carre!ado# um o%*eto de driver criado para ele# e depois# para cada dispositivo( pelo menos um o%*eto de dispositivo alocado( 2ara al!uns %arramentos( corno o 6C6+# a enumerao acontece apenas no momento da inicialiFao? para outros( como o U6"# pode acontecer a MualMuer momento# sendo

necess4ria uma estreita cooperao entre o !erenciador de recursos plug-and-play, os drivers de %arramento IMue de $ato realiFam a enumeraoJ c o !erenciador de EK6( ,o Windows# todos os sistemas de arMuivos# $iltros antiv5rus# !erenciadores de volume# pil'as de protocolo de rede e at servios do nOcleo Mue no tm 'ardware associado so implementados usando7se drivers de EK6( con$i!urao do sistema deve ser a*ustada ele modo Mue al!uns desses drivers se*am carre!ados# pois no '4 dispositivo associado para enumerar no %arramento( /utros# corno os sistemas de arMuivos# so carre!ados por c8di!o especial Mue detecta Muando eles so solicitados# como o recon'ecedor de sistemas de arMuivos Mue ol'a para um volume %ruto e deci$ra Mue tipo de $ormato de sistema de arMuivos ele contm( Urna caracter5stica interessante do Windows o suporte a discos dinVmicos# Mue podem co%rir v4rias partiGes e at mesmo v4rios discos podendo ser recon$i!urados em tempo real# sem nem mesmo ter de reinicialiFar( Dessa $orma# os volumes l8!icos no so mais $orados a uma IOnica partio ou a um Onico discoJ( de modo Mue apenas um sistema de arMuivos possa a%ran!er v4rias unidades de $orma transparente( E+6 para volumes pode ser $iltrada por um driver especial do Windows para produFir c8pias som%ra de volume( / driver de $iltro cria uma ima!em instantVnea do volume Mue pode ser montada separadamente e representa um volume em um ponto anterior no tempo( Ele $aF isso re!istrando as mudanas Mue ocorrem depois do momento da !erao da ima!em instantVnea( +sso muito conveniente para a recuperao de arMuivos Mue $oram apa!ados de maneira acidental ou para voltar no tempo e ver o estado de um arMuivo nas ima!ens instantVneas peri8dicas !eradas no passado( Entretanto# as c8pias som%ras tam%m tm seu valor por $aFerem %ac3ups precisos de sistemas do servidor( / sistema tra%al'a com as aplicaGes de servidor para Mue elas alcancem um ponto conveniente para um %ac3up limpo de seu estado persistente no volume( Uma veF Mue todas as aplicaGes esto prontas# o sistema inicialiFa a ima!em instantVnea do volume e# ento# diF Rs aplicaGes Mue elas podem continuar( / %ac3up $eito do estado do volume no ponto da ima!em instantVnea# e as aplicaGes $oram %loMueadas apenas por um curto espao de tempo no lu!ar de terem de $icar desconectadas durante o tempo do %ac3up( s aplicaGes participam na !erao de ima!ens instantVneas de modo Mue# o %ac3up re$lete um estado $4cil de restaurar no caso de uma $al'a no $uturo( Caso contr4rio# o %ac3up pode ainda ser Otil# mas o estado Mue ele capturou seria mais parecido com o estado se o sistema tivesse ca5do( .ecuperar um sistema no ponto de uma Mueda pode ser mais di$5cil ou at mesmo imposs5vel# *4 Mue essas Muedas ocorrem em tempos ar%itr4rios na eNecuo de uma aplicao( lei de Murplly diF Mue as Muedas tm maior pro%a%ilidade de acontecer no pior momento poss5vel# isto # Muando os dados da aplicao esto em um estado em Mue no poss5vel a recuperao( /utro aspecto do Windows seu suporte R E+6 ass5ncrona( P poss5vel Mue um t'read comece uma operao de

EIS e ento continue sendo eNecutado em paralelo com a operao de EK6( Essa caracter5stica especialmente importante nos servidores( 94 v4rias maneiras de um t'read desco%rir se uma operao de E+6 $oi conclu5da( Uma especi$icar um o%*eto de evento no momento Mue a c'amada $or realiFada e# ento# esperar para Mue ele acontea( /utra especi$icar uma $ila na Mual um evento de concluso ser4 postado pelo sistema Muando a operao de EIS estiver terminada( Urna terceira $ornecer um procedimento de retorno Mue se*a c'amado pelo sistema Muando a operao de EK6 $or conclu5da( Uma Muarta ele!er uma localiFao na mem8ria Mue o !erenciador de EIS atualiFe Muando a operao estiver conclu5da( / aspecto $inal Mue vamos mencionar a E+6 prioriFada# Mue $oi introduFida no Windows Eista( prioridade de E+6 determinada pela prioridade do t'read em Muesto ou pode ser con$i!urada de $orma eNpl5cita( 94 cinco prioridades especi$icadas: cr tica, alta, normal, !ai"a e muito !ai"a. cr5tica reservada para Mue o !erenciador de mem8ria impea a ocorrncia de impasses Mue poderiam de outra $orma# acontecer Muando o sistema estivesse so% eNtrema presso com relao R mem8ria( s prioridades %aiNa e muito %aiNa so usadas em processos de se!undo plano# como o servio de des$ra!mentao de disco# detedores de spHware e %usca na 4rea de tra%al'o# Mue temam no inter$erir na operao normal do sistema( maior parte das E+6 tem prioridade normal# mas aplicaGes multim5dia podem marcar suas operaGes de E+6 como altas para evitarem $altas( Essas aplicaGes podem# de $orma alternativa# usar reserva de largura de banda para solidar lar!ura de %anda !arantida para acessar arMuivos em tempo cr5tico# como mOsicas ou v5deos( / sistema de E+6 $ornecer4 R aplicao Muantidades otimiFadas para o mel'or taman'o de trans$erncia e o nOmero de operaGes pendentes de E+6 Mue deveriam ser mantidas para Mue ele consi!a atin!ir a !arantia da lar!ura de %anda solicitada(

E+(

/ 6+6-EM DE .\U+E/6 D/ W+,D/W6

pesar de ser um sistema relativamente simples e 4!il Mue atendia Rs necessidades da poca# o F -LS tin'a al!umas limitaGes como permitir o uso de nomes de arMuivo de# no m4Nimo C caracteres de comprimento mais trs de identi$icao de tipo Iapelidado de $ormato C(TJ# como por eNemplo ta%elaL=(Nls# %i6uite(com# leima]me(tNt e assim por diante( +sso desa$iava a ima!inao de MualMuer usu4rio tanto na 'ora de criar Muanto para deci$rar o Mue aMueles pun'ado de letrin'as si!ni$icam# como mid!nsms(doc( /utra limitao Mue se mostrou mais sria com o tempo Mue o F -LS s8 conse!uia criar volumes de disco Iou partiGes l8!icasJ de at U G" o Mue comeou a ser um pro%lema a medida Mue os novos 9Ds %em acima dessa capacidade se tornavam mais comuns no mercado de 2Cs( 2ara resolver esse pro%lema# a Microso$t introduFiu o F -T< *unto com o Windows >A /6.< cu*o taman'o m4Nimo de cada volume de disco saltou para Muase L<C G" alm de permitir o uso de nomes com mais de C caracteres( ssim ao invs de escrever mid!nsms(doc a!ora o usu4rio pode usar nomes mais compreens5veis como metodo]in$alivel]de]!an'ar]na]super]me!a]sena(doc Mas a medida Mue tra%al'o com o 2C comeou a $icar mais compleNo Icomo !erenciar o acesso simultVneo de mais de um usu4rio ao mesmo arMuivoJ e eNi!ir mais mecanismos de se!urana# desde a dcada de L>>= a Microso$t *4 'avia desenvolvido o Windows ,- I,- ^ ,ew -ec'nolo!HJ Mue traFia um novo sistema de arMuivos %atiFado de ,-F6 I,ew -ec'nolo!H File 6HstemJ( /ri!inalmente criado para ser usado em servidores corporativos# o ,-F6 *4 utiliFa al!umas estruturas de SU %its o Mue permite pelo menos na teoria Mue ele consi!a tra%al'ar com volumes de at LS ENa%Htes IL ENa%Hte ^ L mil'o de -era%HtesJ mas atualmente o ,-F6 limita esse taman'o de LS a LAS -era%Htes de acordo com a maneira como o disco $ormatado( +nteressante notar Mue com a c'e!ada do Windows <=== e o Windows D2# na 'ora de instalar o sistema operacional eNistia a opo do usu4rio optar pelo uso do F -T< ou ,-F6( )4 o Windows Eista e o Windows 7 s8 se instalam em discos $ormatados em ,-F6( .EFE._C+ 6 "+";+/G.`F+C 6
aLb a<b .U66+,/E+C9# M(? 6/;/M/,# D( (? +/,E6CU# ( Windo#s Internals( Sc Ed( .edmond# Was'in!ton: Microso$t 2ress# <=L<( S7< p( - ,E," UM# ( 6( Sistemas Operacionais Modernos( Tc Ed( 6o 2aulo: 2earson Education do "rasil# <=L=( SAS p(

/ $ormato mais anti!o o F - Ide File llocation -a%le ou -a%ela de locao de rMuivosJ depois re%atiFado de F -LS( Ele $oi criado *unto com o M67D/6 no in5cio dos anos L>C= e Mue $oi usado por um %om tempo at as primeiras versGes do Windows >A(

You might also like