Compartilhar via


[Arquivo de Boletins Informativos ^] [< Volume 3, Número 2] [Volume 4, Número 2 >]

O Boletim Informativo Interno dos Sistemas Volume 4, Número 1

http://www.sysinternals.com
Copyright (C) 2002 Mark Russinovich


7 de janeiro de 2002 - Nesta edição:

  1. EDITORIAL

  2. NOVIDADES NO SYSINTERNALS

    • Sync v2.1
    • DiskExt v1.0
    • NTFSDOS v3.02
    • PsSuspend v1.2
    • PsLogList v2.2
    • PsInfo v1.2
    • PsExec v1.3
    • BgInfo v2.0
    • Gerenciador de Processos V5.2
    • Filemon v4.34 para Win64/Itanium
    • Filemon v1.1 para Linux
    • Sysinternals na Microsoft
  3. INFORMAÇÕES INTERNAS

    • Dentro do Windows 2000, o DVD interativo
    • Dentro do Windows 2000/XP: O Seminário
    • Arquivos de manifesto do Windows XP
    • O que há em um X-Box?
    • Estatísticas aleatórias do Windows XP
    • Novo Windbg Aprimorado
  4. O QUE ESTÁ POR VIR

    • Usando BootVis para criar o perfil do processo de inicialização do Windows XP

PATROCINADOR: WINTERNALS SOFTWARE

O Boletim Informativo Sysinternals é patrocinado pela Winternals Software, na Web em http://www.winternals.com. O Winternals Software é o desenvolvedor líder e provedor de ferramentas de sistemas avançados para Windows NT/2K/XP. Seus produtos incluem o premiado Pak do Administrador, o ERD Commander 2000 e o NTFSDOS Professional Edition.

A Winternals tem o orgulho de anunciar o Defrag Commander versão 1.32, o desfragmentador empresarial mais rápido e completo disponível. Agora você pode gerenciar agendamentos de desfragmentação em toda a sua empresa windows a partir de um snap-in MMC simples , sem precisar instalar nenhum software cliente em seus sistemas NT ou Windows 2000. Uma licença de 10 sistemas está disponível para compra online por apenas US$ 169, e descontos agressivos de quantidade estão disponíveis. Visite http://www.winternals.com/39 para obter mais informações ou para baixar e usar gratuitamente por 30 dias.

Olá, pessoal.

Bem-vindos ao boletim informativo do Sysinternals. O boletim informativo tem atualmente 34.000 assinantes. Passe o boletim informativo para amigos que você acha que podem estar interessados no seu conteúdo.

O Windows XP, principal sistema operacional da Microsoft, ficou "dourado" no final de agosto. O Windows XP é a versão mais recente da linha do Windows NT que começou com o Windows NT 3.1 em 1993 e se baseia nas evoluções tecnológicas e inovações dos últimos oito anos. O sistema operacional definitivamente representa a ponta em termos de funcionalidade e recursos, muitos dos quais David Solomon e eu estudamos e escrevemos no artigo "Windows XP: Kernel Improvements Create a More Robust, Powerful and Scalable OS" ( http://www.msdn.microsoft.com/msdnmag/issues/01/12/XPKernel/XPKernel.asp ).

E com milhões de sistemas Windows NT e Windows 2000 instalados, e centenas de milhares ou milhões de testadores beta, você esperaria que a Microsoft tivesse ajustado, ajustado e corrigido o Windows XP para ser executado praticamente perfeitamente. Afinal, seus anúncios apontam o XP como sendo "virtualmente à prova de falhas". Eu certamente nunca esperava ter problemas , mas eu estava errado.

Mantive o Windows 2000 Professional como o sistema operacional no meu sistema primário durante todo o ciclo de candidatos de versão e beta do XP. Eu tinha aprendido com o ciclo de desenvolvimento do Windows 2000 que até mesmo os candidatos à versão deixam para trás a depuração cruft depois de atualizar para os bits finais. Quando recebi a compilação 2600, a versão final, do programa beta, decidi que era hora de mudar. O assistente de compatibilidade XP encontrou apenas problemas secundários no meu sistema Windows 2000 (como a versão do Partition Magic que eu tinha instalado não entendeu o XP NTFS), então continuei com o caminho de atualização.

Depois de executar no modo de texto e instalar arquivos de instalação no meu disco rígido, a Instalação do XP reinicializou minha instalação do Windows XP parcialmente atualizada para concluir a atualização no modo gráfico. É nesse modo que você especifica configurações de localidade e fuso horário, a Instalação executa a detecção de dispositivo e você configura sua rede. As coisas correram bem até a fase "Instalando dispositivos". Quando a barra de progresso atingiu cerca de 2/3 e a Instalação informou que o tempo restante era de 34 minutos, a Instalação deixou de ser produtiva. As faixas "XP é a melhor coisa que já aconteceu para você" continuaram a alternar e os pequenos botões piscando no canto inferior direito continuaram a girar, mas mesmo duas horas depois eu ainda tinha 34 minutos para ir.

Foi quando comecei a me preocupar. Várias horas frenéticas de tentar tudo o que pude para superar o problema, incluindo reinicialização para permitir que a Instalação tente novamente, atualizar o BIOS, verificar a Base de Dados de Conhecimento MS (nada), não rendeu nenhum resultado. Finalmente entreguei, risquei metade da instalação do Windows XP metade do Windows 2000 e realizei uma nova instalação do XP, passando a maior parte de um dia reinstalando as duas dúzias de aplicativos que uso.

As coisas com minha nova instalação XP foram boas. Não quero dizer que não fiquei decepcionado com falhas inexplicáveis, problemas de GUI e comportamentos estranhos do sistema, mas pelo menos eu poderia ser produtivo. Eu sabia que o CD do programa beta era um CD de avaliação e que teria que atualizar para a versão completa quando o recebi por meio do MSDN, mas esperava que isso não fosse problema.

Exatamente 120 dias após a minha atualização anulada (o tempo limite, não coincidentemente, de uma versão de avaliação) experimentei uma incrível sensação de déjà vu. A atualização de avaliação para completa realmente funciona como uma atualização completa e (você adivinhou) com 34 minutos restantes e 2/3 do caminho para a Instalação de "Instalação de Dispositivos" parou de fazer progresso. Mais uma vez, meu sistema estava no meio da instalação netherworld, totalmente inutilizável. Depois de tentar todas as coisas que tentei 120 dias antes, me resignei a outra reinstalação completa.

Em seguida, encontrei outro problema: o CD XP do MSDN não é inicializável, pois tem subdiretórios Home e Professional. Como tenho apenas uma instalação do sistema operacional (aquela que foi corrompida pela Instalação), não pude executar a versão Win32 da Instalação do CD do MSDN e, como meu sistema é somente NTFS, não pude executar a Instalação dos DOS. O CD também não fornece uma maneira de criar disquetes de inicialização de instalação. Lembrei-me de que os Downloads de Assinantes do MSDN têm uma imagem ISO do Windows XP Professional, então fui obtê-la (usando outro sistema) para gravar um CD inicializável, mas essa linha de ataque foi frustrada por um "Erro ao iniciar o Gerenciador de Transferência de Arquivos. Tente novamente mais tarde." mensagem de erro do site msdn.

Como eu me tirei dessa bagunça? Substituí as colmeias do Registro da atualização anulada por uma de um backup que fiz há algumas semanas. Embora eu não pudesse fazer logon no sistema após uma reinicialização porque a Ativação de Produto do Windows disse que não podia verificar minha licença, eu poderia inicializar no modo de segurança e executar a configuração de CD do MSDN a partir daí. Terminei de reinstalar meus aplicativos e posso ser produtivo novamente.

O que eu acho absolutamente incrível sobre o que aconteceu comigo (duas vezes) é que a Instalação do Windows XP não tem mecanismos de segurança básicos que estão presentes nas Instalações do Windows 9x desde o Windows 95. Como a Instalação do Windows 95, 98 ou Me executa, ela registra pontos de progresso para o disco. Se a Instalação for interrompida inesperadamente, ela será reiniciada de onde parou e, se estiver na fase "Instalando Dispositivos", ela ignorará o último driver que havia sido executado antes de ser interrompido. Dessa forma, se a Instalação travar, você poderá reinicializar o sistema e a Instalação fará progressos além do ponto de travamento.

O Windows 2000 e o XP emprestaram vários recursos interessantes da linha Windows 9x, como Modo de Segurança e Restauração do Sistema. Gostaria que eles tivessem emprestado algumas coisas da Instalação do Windows 9x.

Falando em atualizar para o XP, o colunista de humor Dave Barry está pensando em fazer o salto: http://www.miami.com/herald/special/features/barry/2002/docs/jan06.htm .

Agradecemos!

-Mark

NOVIDADES NO SYSINTERNALS

SYNC V2.1

" Sync", um miniaplicativo que libera dados armazenados em cache de volta para o disco, é um utilitário de sistema principal em sistemas Unix e, portanto, escrevi Sync for Windows NT/2000/XP há vários anos. Garantir que as modificações sejam refletidas em mídia removível de leitura/gravação antes de ejetar a mídia é algo que a Sincronização permite que você faça. Também é útil para minimizar a corrupção de disco ao executá-lo antes de exercer um driver que você está desenvolvendo que pode causar falhas no sistema. Alguém sugeriu recentemente que seria bom se Sync tivesse a opção de ejetar mídia após a liberação, de modo que seja introduzido na v2.1.

Baixar a Sincronização v2.1 em
http://www.sysinternals.com/ntw2k/source/misc.shtml

DISKEXT V1.0

Outra ferramenta relacionada ao disco abordada neste boletim informativo é DiskExt, um miniaplicativo de linha de comando que informa, dada a letra da unidade de um volume, os locais das partições que compõem o volume; Os volumes de várias partes incluem volumes estendidos, espelhados e distribuídos. DiskExt também relata o local, em termos dos setores que ocupam, das partições que ele lista.

Baixar DiskExt v1.0 com código-fonte completo em
http://www.sysinternals.com/ntw2k/source/misc.shtml#diskext

NTFSDOS V3.02

O NTFSDOS, o utilitário que lançou o Sysinternals (no momento da versão do NTFSDOS, "Ntinternals") nos computadores de centenas de milhares de usuários, permite que o DOS leia unidades NTFS. Uma pequena alteração na estrutura em disco do Windows XP NTFS exigiu um ajuste no NTFSDOS para compatibilidade com XP.

Baixar o NTFSDOS v3.02 em
http://www.sysinternals.com/ntw2k/freeware/NTFSDOS.shtml

PSSUSPEND V1.2

Você já quis suspender temporariamente um download de rede, pesquisa de disco ou algum outro aplicativo com uso intensivo de recursos para que pudesse executar outra coisa? Suspender é um recurso de gerenciamento de processos que tem sido extremamente carente das ferramentas administrativas no Windows NT/2000/XP. A mais recente adição ao conjunto de ferramentas PsTools é o PsSuspend, um utilitário que suspende e retoma processos. Como todas as outras ferramentas no pacote PsTools, o PsSuspend é uma ferramenta de linha de comando que você pode direcionar para o sistema local ou um remoto.

Como não há nenhuma funcionalidade de processo de suspensão no Windows NT/2000/XP (há no XP, mas não é exposto por meio da API do Win32), o PsSuspend suspende e retoma os threads em execução em um processo de destino com as APIs Win32 SuspendThread e ResumeThread.

Baixar psSuspend v1.2 em
http://www.sysinternals.com/ntw2k/freeware/pssuspend.shtml
Baixar todo o pacote PsTools em
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

PSLOGLIST V2.2

As ferramentas que compõem o pacote PsTools evoluem continuamente com base nos comentários do usuário, e o PsLoglist gerou mais solicitações de recursos do que qualquer um dos outros utilitários. Esta versão mais recente apresenta uma série de aprimoramentos, incluindo a capacidade de despejar os registros em arquivos de log de eventos salvos, alterar o delimitador de formato de linha única de uma vírgula para outra coisa (para situações em que o texto do log de eventos contém vírgulas), despejar registros de intervalos de data especificados e filtrar no tipo de evento (erro, aviso ou informações). Como antes, o PsLoglist pode despejar logs de eventos do sistema local ou remoto e tem muitas outras opções para controlar sua operação.

Baixar psLoglist v2.2 em
http://www.sysinternals.com/ntw2k/freeware/psloglist.shtml
Baixar todo o pacote PsTools em
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

PSINFO V1.2

Um utilitário PsTools que foi desativado é o PsUptime, um applet que relatou o período de tempo em que o sistema local ou remoto estava ativo. Não é que as informações não sejam úteis – elas são – mas são mais apropriadas para exibição pelo recém-chegado relativo a PsTools, PsInfo. Portanto, o PsInfo v1.2 agora relata o tempo de atividade do sistema, juntamente com uma série de outras informações, como versão do sistema operacional, velocidade do processador, tamanho da memória, instalações de hotfix, se um sistema operacional é uma versão de avaliação e quando expirará e, no Windows XP, o status da Ativação de Produto do Windows.

Baixar psInfo v1.2 em
http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml
Baixar todo o pacote PsTools em
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

PSEXEC V1.3

O PsExec é um utilitário de linha de comando que permite executar programas em um sistema remoto sem instalar nenhum software nesse sistema. Se o programa executado tiver uma interface de linha de comando, o PsExec a aplicará proxies para você, permitindo que você o execute interativamente como se estivesse executando o programa localmente. Esses recursos tornam o PsExec um utilitário de tipo de shell remoto leve conveniente e facilitam a habilitação remota de programas de linha de comando, como ipconfig.

A versão 1.3 do PsExec permite que você inicie aplicativos do Windows (em oposição àqueles que são de linha de comando) em um sistema remoto para que eles apareçam na área de trabalho interativa. Não sei onde isso pode ser útil, mas recebi várias solicitações para essa funcionalidade.

Baixar psExec v1.3 em
http://www.sysinternals.com/ntw2k/freeware/psexec.shtml
Baixar todo o pacote PsTools em
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

BGINFO V2.0

Se você gerenciar mais do que alguns sistemas, então você sabe sobre "confusão do sistema", aquele estado de espírito em que você vai até um computador (ou alterna para ele em sua KVM) e esquece o nome do computador, a versão do sistema operacional, o service pack instalado ou o endereço IP. Embora todas essas informações estejam acessíveis por meio de várias interfaces administrativas, chegar a ela pode ser demorado. É aí que entra o BgInfo de Bryce Cogswell: ele exibe as informações do sistema que você encontra mais importantes na tela de fundo da área de trabalho para que você tenha instantaneamente todas as informações necessárias.

Esta atualização mais recente do BgInfo torna-a mais configurável do que nunca. Você pode definir o texto personalizado em uma chave do Registro, especificar a cor da tela de fundo da área de trabalho ou o bitmap, localizar o texto em segundo plano e muito mais. O mais útil para grandes organizações, no entanto, é a capacidade do BgInfo de salvar e carregar configurações e até mesmo exportá-las para um banco de dados. Usando qualquer um desses recursos, você pode definir configurações uma vez e usá-las em todos os sistemas gerenciados.

Baixar BgInfo v2.0 em
http://www.sysinternals.com/ntw2k/freeware/bginfo.shtml

GERENCIADOR DE PROCESSOS V5.2

Process Explorer é um visualizador de processo e utilitário de controle que continua de onde o Gerenciador de Tarefas sai. Entre sua extensa lista de recursos, o Process Explorer mostra a árvore de criação do processo, exibe identificadores que os processos abriram, lista as DLLs carregadas pelos processos e permite que você pesquise o processo ou os processos que têm um arquivo específico aberto.

Versões anteriores do Process Explorer funcionaram em sistemas Windows 9x e NT/2K/XP, mas somente com a versão 5.2 processa Explorer mostram informações de uso da CPU do processo para sistemas Windows 9x. Outro aprimoramento para o v5.2 ajuda a rastrear vazamentos em sistemas Windows XP e 2000 informando o número de identificadores GDI e USER (manipula para recursos GUI Win32) que um processo abriu na caixa de diálogo de propriedades do processo. Ao contrário da crença popular, mesmo no Windows 2000 e no XP, o número desses recursos é limitado: há um limite de todo o sistema de 65.536 identificadores de usuário e um limite por processo de 16.384 identificadores GDI.

Baixar Gerenciador de Processos V5.2 em
http://www.sysinternals.com/ntw2k/freeware/procexp.shtml

FILEMON V4.34 PARA WIN64/ITANIUM

A Microsoft gentilmente me emprestou uma caixa itanium inicial da Intel para que eu pudesse começar a portar os aplicativos Sysinternals mais populares para Win64/Itanium. A caixa é impressionante: tem 2 processadores de 733 MHz e 8 GB de memória. Decidi o Filemon como o primeiro aplicativo a ser portado. Filemon consiste em uma GUI win32 (agora Win32/64) e um driver de dispositivo, portanto, dois esforços de portabilidade diferentes foram necessários. O que é um pouco inesperado é que você cria aplicativos Win64 e drivers de 64 bits em um sistema de 32 bits que executa o Windows NT, 2000 ou XP usando um compilador cruzado.

As versões mais recentes do SDK da plataforma (disponíveis como download gratuito da Microsoft: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/) incluem subdiretórios que contêm o compilador e o vinculador do Itanium de 64 bits, arquivos de cabeçalho Win64 e bibliotecas Win64. Fiz esse arquivo em lote simples para definir meu ambiente para criar executáveis Win64:

@echo off
set PATH=D:\Mssdk\Bin\win64;%PATH%
set INCLUDE=D:\Mssdk\include\win64;D:\Mssdk\include\win64\crt
set LIB=D:\Mssdk\lib\ia64
echo 64-bit environment set.

Observe que você não pode criar aplicativos Win64 do Visual Studio, mas precisa fazer isso na linha de comando.

Alguns pequenos problemas de conversão foram os únicos problemas que encontrei durante a compilação. Em seguida, eu construí o driver. As versões mais recentes do DDK (não mais disponíveis como download gratuito) incluem atalhos para prompts de comando que têm o ambiente de build do driver IA64 configurado. Basta criar o driver no ambiente de destino de 64 bits, como faria com um driver de 32 bits.

O compilador me informou que eu precisava ser mais explícito sobre algumas conversões. Por exemplo, os números de sequência que Filemon atribui a operações são ULONGs, que o compilador não me deixaria converter em um PVOID para passar como um parâmetro de contexto para a função gerenciador de E/S IoSetCompletionRoutine. Em vez disso, tive que convertê-lo primeiro para ULONG_PTR e depois PVOID. De qualquer forma, em poucos minutos o driver foi compilado sem erros.

Em seguida, copiei o aplicativo e o driver de 64 bits para o sistema Itanium e o executei. A GUI do Filemon apareceu e desapareceu. Isso significava que eu tinha que usar o depurador Win64 para descobrir o que estava errado. O depurador Win64 também vem no SDK da Plataforma e você pode executá-lo em um computador de 32 bits ou 64 bits. Ele se parece com um depurador do Visual Studio despojado e funciona apenas no modo remoto em que você instala uma peça de cliente de depuração no computador de destino no qual você executa o aplicativo.

Depois de percorrer o código do Filemon por meia hora ou mais, finalmente percebi que meus procedimentos do Windows precisavam declarar seus parâmetros lparam como LPARAM – eles tinham sido LONG devido a algum código copiado do SDK quando escrevemos a primeira versão do Filemon em 1996. Curiosamente, o compilador não havia reclamado disso, mas isso significava que qualquer ponteiro passado como um lparam era truncado. Isso apareceu no manipulador de WM_MEASUREITEM do Filemon, que interpreta o parâmetro lparam como um ponteiro para estrutura. Filemon estava falhando nesse código. Surpreendentemente, quando corrigi esse problema, Filemon foi executado perfeitamente no Itanium. Tempo total para a porta: 1 hora.

Estou trabalhando na portabilidade do Regmon agora e, em seguida, portarei DebugView. Ambos devem ser desafiadores, especialmente DebugView, que tem um driver pouco ortodoxo.

Baixar o Filemon com a origem completa em http://www.sysinternals.com/ntw2k/source/filemon.shtml

FILEMON V1.1 PARA LINUX

Se você visitou o Sysinternals nos últimos meses, provavelmente ficou chocado ao ver uma nova entrada na barra de menus: Utilitários do Linux. Isso mesmo, eu decidi que seria muito legal ter Filemon em execução no Linux. Eu já tinha usado o ambiente DELphi Rapid Application Development (RAD) da Borland no Windows, então quando Kylix foi lançado (basicamente, Delphi para Linux) percebi que a GUI seria muito simples.

A pergunta que permaneceu foi como interceptar a atividade do sistema de arquivos. A maioria das versões do Unix, incluindo Linux, implementa uma chamada do sistema chamada ptrace() que permite que um processo intercepte todas as chamadas do sistema feitas por um processo de destino. Considerei usar ptrace() para monitorar a atividade do sistema de arquivos e pode modificar o Filemon no futuro para usá-lo por motivos que ficarão claros, mas decididos contra ela.

As desvantagens de usar ptrace() são que Filemon teria que enumerar todos os processos em execução e executar um ptrace() em cada um deles. Além disso, ele também teria que anexar a processos recém-criados e a ptrace() funcionalidade não fornece uma maneira de garantir que as primeiras chamadas do sistema executadas pelo novo processo não seriam perdidas. Quando um processo que está sendo rastreado executa uma chamada do sistema, o sistema operacional o bloqueia, envia um sinal para o processo de rastreamento e aguarda o processo de rastreamento para permitir que o processo continue. Isso pode causar uma degradação de performance grave se você quiser ver todas as atividades do sistema de arquivos. Por fim, a maior desvantagem é que ptrace() altera o comportamento dos processos rastreados. Enquanto eles estão sendo rastreados, o rastreamento é o processo pai, o que significa que o pai real de um processo rastreado não verá as notificações que normalmente veriam quando seus processos filho os causassem.

Teria sido bom se eu pudesse ter escrito um driver de filtro do sistema de arquivos (um driver empilhável na terminologia do Linux) como o Gerenciador de E/S no Windows NT/2000/XP dá suporte, mas a arquitetura atual do sistema de arquivos linux não dá suporte a drivers de sistema de arquivos empilháveis. Há um patch chamado FiST que você pode aplicar para dar suporte a ele (http://www.cs.columbia.edu/~ezk/research/fist/)e também há um kit de ferramentas de rastreamento (http://www.opersys.com/LTT/index.html) para Linux, mas ambos exigem que os usuários finais recompilem seus kernels, algo que eu queria evitar. Então decidi implementar o monitoramento usando um driver de conexão de chamada do sistema, assim como o Regmon funciona no Windows.

Há duas preocupações que dificultaram o projeto do que fazer a mesma coisa no Windows. A primeira é que o Linus Torvalds, pai do Linux e diretor de desenvolvimento de kernel do Linux, não acredita no uso de depuradores de kernel. Os motivos são bastante ridículos (confira http://www.lib.uaa.alaska.edu/linux-kernel/archive/2000-Week-36/0575.htm l para ler a própria explicação do Linus) e é uma das várias razões pelas quais o kernel do Linux terá dificuldade em acompanhar o Windows. Existem alguns depuradores de kernel não oficiais, mas eles exigem que você corrija o kernel e exija algum esforço para usar. A segunda preocupação é que o Linus não acredita em garantir a compatibilidade com os drivers de dispositivo como nova versão de kernels. A consequência é que qualquer API de kernel exportada pode mudar repentinamente, quebrando drivers existentes que usam a API e exigindo que eles sejam recompilados para novos kernels.

A falta de um depurador de kernel interno significava que eu depurava por meio de instruções de impressão de depuração (imaginei que gastaria tanto tempo de depuração por meio de printk – impressões no modo kernel - como eu iria instalar e aprender um depurador de kernel), e a alteração de APIs de kernel e estruturas de dados significa que Filemon para Linux é dependente de kernel. Ele funciona em Red Hat 7.1 e 7.2 e SuSE Linux 7.1 e 7.2 e possivelmente em outras distribuições comerciais, mas ainda não criei uma maneira de isolar o driver de alterações arbitrárias de kernel (uma que quebrou uma versão inicial do driver foi a alteração da convenção de chamada de uma função kernel de padrão para chamada rápida).

Filemon para Linux tem exatamente a mesma interface que seu equivalente do Windows e é notavelmente semelhante (consulte a captura de tela na página Filemon para Linux). Minhas conclusões sobre a facilidade de desenvolver um filtro geral do sistema de arquivos não dependente de kernel para Linux devem ser claras: é difícil, se não impossível. Por outro lado, drivers empilháveis (filtro) em todos os domínios de driver (rede, sistemas de arquivos, armazenamento, entrada etc. ) eram compatíveis com a arquitetura de E/S do Windows NT desde o início.

Baixar Filemon para Linux em http://www.sysinternals.com/linux/utilities/filemon.shtml

SYSINTERNALS EM WWW.MICROSOFT.COM

Mais uma vez aqui está a última parte das referências do Sysinternals nos artigos da Base de Dados de Conhecimento da Microsoft (KB) lançados desde o último boletim informativo. Observe aquele que ainda tem Filemon em seu título. Isso eleva para 31 o número total de referências de KB para Sysinternals. Você pode encontrar uma listagem completa em http://www.sysinternals.com/ntw2k/info/mssysinternals.shtml

  • Mensagem de erro de exceção fatal ocorre durante a instalação http://support.microsoft.com/support/kb/articles/Q273/9/18.ASP

  • FP2000: arquivos da lista de tipos para drivers de banco de dados estão vazios http://support.microsoft.com/default.aspx?scid=kb; EN-US; Q308935

  • HOWTO: Solucionar problemas do erro 1928 "Erro ao registrar aplicativo COM+" http://support.microsoft.com/default.aspx?scid=kb; EN-US; Q308940

  • PRB: conflito com o EOF ao usar #import com o ADO http://support.microsoft.com/support/kb/articles/Q166/1/12.ASP

  • PRB: DLLs não descarregadas após chamar CoFreeUnusedLibraries http://support.microsoft.com/support/kb/articles/Q301/3/57.ASP

  • PRB: Erro 80004005 "O Mecanismo de Banco de Dados do Microsoft Jet não pode abrir o arquivo '(Desconhecido)'" http://support.microsoft.com/support/kb/articles/Q306/2/69.ASP

  • PRB: FileMon mostra que DAO360.dll falha ao carregar MSJet49.dll, MSJet48.dll e outros arquivos de MSJetxx.dll http://support.microsoft.com/support/kb/articles/Q306/3/86.ASP

  • SMS: o Agente de Inventário de Software gera uma mensagem de erro de falha de página inválida http://support.microsoft.com/support/kb/articles/Q302/6/51.ASP

INFORMAÇÕES INTERNAS

DENTRO DO WINDOWS 2000, O DVD INTERATIVO

Se você perdeu os preços especiais de pré-lançamento do INSIDE Windows 2000, o tutorial interativo de DVD sobre os internos do Windows 2000, temos boas notícias! Um PREÇO INTRODUTÓRIO de US$ 950, que tem mais de 25% de desconto no preço normal do usuário único, ainda está disponível. Para ENCOMENDAR AGORA ou para obter mais informações sobre esse novo e empolgante produto de David Solomon e Mark Russinovich, acesse http://www.solsem.com/dvd.html. Também disponível em um formato de distribuição de rede para streaming de intranet!

MARQUE AS DATAS: RUSSINOVICH E SOLOMON ENSINAM JUNTOS NOVAMENTE EM SEATTLE E BOSTON

Nossa classe interna do Windows 2000/XP de 3 dias em Austin no mês passado foi um sucesso de vendas, por isso agendamos mais duas ofertas: 17 a 19 de abril perto de Seattle e 12 a 14 de junho em Boston (as inscrições serão abertas em breve). A classe é baseada em "Dentro do Windows 2000, 3ª Edição" e abrange subsistemas de ambiente, expedição de chamadas do sistema, threads do sistema, desligamento de inicialização, internos do registro, agendamento de processos e threads, gerenciamento de memória, segurança, sistema de E/S, armazenamento, NTFS e o gerenciador de cache. Ao entender o funcionamento interno do Windows XP e 2000, você pode aproveitar a plataforma de forma mais eficaz e eficaz para depurar e solucionar problemas. Para obter detalhes, confira http://www.sysinternals.com/seminar.shtml

ARQUIVOS DE MANIFESTO DO WINDOWS XP

Uma das alterações mais visíveis no Windows XP é a nova aparência fornecida pela área de trabalho do Luna. Luna é, na verdade, um "tema" e, se você executar um aplicativo que não tenha reconhecimento de tema (qualquer aplicativo não escrito especificamente para aproveitar os temas do Windows XP), o aplicativo terá a aparência mais antiga do Windows 2000. No entanto, você pode fazer com que aplicativos ainda mais antigos tenham a nova aparência muito facilmente, mesmo quando você não tem código-fonte. Basta criar um arquivo de manifesto XML para o aplicativo que informa ao carregador do Windows XP que esse aplicativo deseja usar a DLL do Common Control versão 6 (o comctl32.dll em %SystemRoot%\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1 df_6.0.0.0_x-ww_1382d70a) em vez da versão sem reconhecimento de tema no %SystemRoot%\System32. Aqui está o arquivo de manifesto que torna o tema Process Explorer v5.2 consciente:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly
xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
name="Process Explorer"
processorArchitecture="x86"
version="5.1.0.0"
type="win32"/>
<description>Process handle and DLL viewer</description> <dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>

Altere o nome do aplicativo, a versão e a descrição do aplicativo que você deseja tornar com reconhecimento de tema e salve o arquivo para que ele tenha o mesmo nome que o executável do aplicativo, exceto com ".manifest" acrescentado a ele, por exemplo, procexp.exe.manifest. Se você for o desenvolvedor do aplicativo, poderá inserir o arquivo de manifesto nos recursos do aplicativo, como fiz com o Process Explorer. Consulte o código-fonte em Filemon para obter um exemplo de como fazer isso.

O QUE HÁ EM UM X-BOX?

Se você seguiu o mundo dos jogos de console recentemente, quase certamente sabe que o novo console X-Box da Microsoft está executando uma versão modificada do Windows 2000. Enquanto estava na Microsoft para uma recente viagem de pesquisa do Windows XP para a 4ª edição do nosso livro, Dave Solomon e eu aprendemos com a equipe de desenvolvimento do Windows 2000/XP que o grupo X-Box decidiu sobre o Windows 2000 para seu suporte de driver. Depois que a decisão foi tomada, os desenvolvedores do X-Box receberam uma cópia da árvore de origem do Windows 2000 e foram embora, quase não sendo ouvidos novamente pela equipe do Windows 2000/XP.

O X-Box tem uma versão altamente modificada e despojada do Windows 2000 que se encaixa em meros 512 KB de memória. Ele tem todos os subsistemas não relevantes removidos (eles originalmente removeram o subsistema Plug and Play somente para adicioná-lo depois de perceber que o carregamento do driver dependia dele), executa apenas um processo e não tem nenhum subsistema Win32 (apenas a API X-Box). O X-Box tem apenas 64 MB de memória física e sem suporte para memória virtual, portanto, os Gerenciadores de Memória e Cache do Windows 2000 são dois subsistemas que foram removidos. Com modificações tão drásticas, você precisa considerá-lo um novo sistema operacional, não o Windows 2000.

Saiba mais sobre os internos de X-Box, GameCube e PS2 em http://www.e-insite.net/ednmag/index.asp?layout=article&articleid=CA185947pubdate=12-20-01

ESTATÍSTICAS ALEATÓRIAS DO WINDOWS XP

As estatísticas a seguir foram publicadas pela Microsoft no site do Construtor de Sistemas do OEM (em http://oem.microsoft.com – você pode se inscrever gratuitamente) e achei que você acharia algumas delas interessantes e/ou divertidas.

Aliás, o número de build da versão final do Windows XP não caiu coincidentemente em 2600 – ele foi falsificado um pouco (o número de build é incrementado sempre que o sistema operacional é compilado no laboratório de build, normalmente uma vez a cada dia de trabalho). Fontes internas dizem que o número foi direcionado para a comunidade de 2600, um grupo de hackers solto (http://www.2600.com/), como uma mensagem demonstrando a confiança da equipe XP na segurança do XP.

  • Número de dias necessários para desenvolver o Windows XP: 600 (20/12/99 – 24/08/01)
  • Número de membros da equipe focados: 5.736
  • Número de testadores por desenvolvedor: 1,4
  • Número de bebês nascidos durante o projeto: 452
  • Número de estagiários empregados: 504
  • Quantidade de macarrão consumido durante 40 "Reuniões de Informações do Windows": 6.000 lbs
  • Número de Frappuccino® servidos: 86.400
  • Dólares arrecadados para a Seattle Ronald McDonald House (caridade local): US$ 2 milhões
  • Número de casos de teste para o recurso de restauração do sistema: 1,6 milhão
  • Número de casos de teste de elementos gráficos Direct3D executados desde o Windows XP RC1: 43.114.143
  • Número de aplicativos testados para compatibilidade: 5.500
  • Número de dispositivos com suporte pronto para uso: 12.000
  • Percentual dos aplicativos de computador mais populares distribuídos nos últimos três anos que serão compatíveis com o Windows XP: 90%
  • Número de faixas no maior caso de teste da Biblioteca de Mídia Digital: 31.000
  • Duração em horas de arquivo único mais longo capturado pelo Windows Movie Maker: 114
  • Número de idiomas para os quais estamos localizando: 24 totalmente e 9 parcialmente
  • Número de países que participam do lançamento em 25/10: Mais de 50
  • Número de pessoas participando de eventos de lançamento em todo o mundo: mais de 580.000 em assentos ... mais audiências online 5.120 construtores de sistemas em todo o mundo

NOVO WINDBG APRIMORADO

Windbg é um front-end gráfico para o suporte à depuração de kernel integrado ao kernel do Windows NT/2000/XP. Até os últimos dois anos, Windbg justamente ganhou a reputação de ser floco e complicado, mas isso mudou desde que a Microsoft se concentrou em melhorá-lo. A versão mais recente do Windbg, disponível como um download gratuito do http://www.microsoft.com/ddk/Debugging/, é extremamente aprimorada em relação às versões antigas e mais fácil de usar. Há alguns novos recursos que até mesmo os usuários do Windbg podem não estar cientes e dois comandos que são úteis para os administradores de sistemas que tentam diagnosticar falhas no sistema.

Um recurso que torna o Windbg mais recente muito fácil de usar é seu suporte para o servidor de símbolos da Microsoft. Um problema ao examinar despejos de falhas ou depurar aplicativos com Windbg foi que você precisa ter instalado os arquivos de símbolo de depuração corretos para sua instalação. Com service packs, hotfixes e possivelmente falhas de sistemas operacionais diferentes (por exemplo, Windows NT versus Windows XP), isso pode ser oneroso. Com o suporte ao servidor de símbolos, basta inserir a URL do servidor de símbolos da Microsoft na caixa de diálogo Caminho do símbolo Windbg e o Windbg baixará símbolos do servidor sob demanda e os armazenará no diretório especificado. O servidor de símbolos tem símbolos para candidatos à versão do Windows .NET Server Beta 3, Windows XP e XP, Windows 2000 e seus service packs e correções frequentes, Windows NT 4, MDAC 2.1-2.7, IIS e ISA.

Os dois comandos que são úteis para depurar despejos de falha são !analyze e .dump. Execute !analyze (especifique a opção -v) para obter uma análise automática, com base na heurística, de uma falha. Esse comando já é bastante poderoso e, à medida que a Microsoft incorpora dados mais históricos de falhas reais, ele se tornará ainda mais preciso.

O .dump comando é útil tanto para a depuração do modo de usuário quanto para a análise de despejo de memória no modo kernel. Em alguns ambientes de servidor, especialmente servidores Web, você pode identificar um vazamento de memória ou outro problema, mas não estar disposto a parar e reiniciar o servidor até que a causa seja isolada. No Windows XP e no .NET Server, você pode anexar ao processo do servidor usando Windbg, executar o comando .dump para gerar um arquivo de despejo de memória do usuário e desanexar (com o comando .detach), pausando o servidor apenas brevemente. Em seguida, um desenvolvedor pode pegar o arquivo de despejo gerado e analisá-lo offline.

Por padrão, os sistemas de servidores Windows geram um despejo de memória completa, que é tão grande quanto a quantidade de memória física presente em um sistema e, portanto, pode ser muito grande. No entanto, você pode carregar o despejo em Windbg e usar o comando .dump para gerar um kernel-memory ou um minidump menor do despejo completo. Os arquivos menores são mais fáceis de trocar e geralmente são tudo o que é necessário para isolar a causa de uma falha.

Baixe a versão mais recente do Windbg de http://www.microsoft.com/ddk/Debugging/, e encontre instruções sobre como configurar o Windbg para obter símbolos do servidor de símbolos da Microsoft em http://www.microsoft.com/ddk/debugging/symbols.asp

O QUE ESTÁ POR VIR

USANDO BOOTVIS PARA CRIAR O PERFIL DO PROCESSO DE INICIALIZAÇÃO DO WINDOWS XP

Para ajudá-los a ajustar o processo de inicialização do Windows XP, a equipe de performance do Windows XP instrumentou pontos-chave no sistema operacional e desenvolveu uma ferramenta chamada BootVis para exibir rastreamentos de inicialização. Em um movimento surpreendente, eles disponibilizaram a ferramenta livremente. É muito fácil de usar e exibe uma quantidade incrível de detalhes, incluindo informações sobre quando os drivers são inicializados, quando e onde ocorre a E/S do disco e quando os serviços e aplicativos começam. Da próxima vez, mostrarei onde você pode obtê-lo e como usá-lo.


Obrigado por ler o Boletim Informativo do Sysinternals.

Publicado segunda-feira, 07 de janeiro de 2002 19:01 pm por ottoh

[Arquivo de Boletins Informativos ^] [< Volume 3, Número 2] [Volume 4, Número 2 >]