Partilhar via


[Arquivo de boletins informativos ^] <[ Volume 3, Número 2] [Volume 4, Número 2 >]

O boletim informativo Systems Internals Volume 4, Número 1

http://www.sysinternals.com
Direitos de autor (C) 2002 Mark Russinovich


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

  1. EDITORIAL

  2. O QUE HÁ DE NOVO NA SYSINTERNALS

    • Sincronização v2.1
    • DiskExt v1.0
    • NTFSDOS v3.02
    • PsSuspend v1.2
    • PsLogList v2.2
    • PsInfo v1,2
    • PsExec v1.3
    • BgInfo v2.0
    • Explorador de Processos v5.2
    • Filemon v4.34 para Win64/Itanium
    • Filemon v1.1 para Linux
    • Sysinternals na empresa Microsoft
  3. INFORMAÇÃO INTERNA

    • Dentro do Windows 2000, o DVD interativo
    • Dentro do Windows 2000/XP: O Seminário
    • Arquivos de manifesto do Windows XP
    • O que contém uma X-Box?
    • Estatísticas aleatórias do Windows XP
    • Novo Windbg melhorado
  4. O QUE VEM POR AÍ

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

PATROCINADOR: WINTERNALS SOFTWARE

A Newsletter da Sysinternals é patrocinada pela Winternals Software, na Web em http://www.winternals.com. A Winternals Software é a principal desenvolvedora e fornecedora de ferramentas de sistemas avançados para Windows NT/2K/XP. Seus produtos incluem o premiado Administrator's Pak, ERD Commander 2000 e 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 agendas de desfragmentação em toda a sua empresa Windows a partir de um simples snapin MMC - sem precisar instalar nenhum software cliente em seus sistemas NT ou Windows 2000. Uma licença de 10 sistemas está disponível para compra on-line por apenas US $ 169, e descontos de quantidade agressivos estão disponíveis. Visite http://www.winternals.com/39 para mais informações ou para baixar e usar gratuitamente por 30 dias.

Olá a todos,

Bem-vindo à newsletter da Sysinternals. A newsletter tem atualmente 34.000 assinantes. Por favor, passe a newsletter para amigos que você acha que podem estar interessados em seu conteúdo.

O Windows XP, o principal sistema operativo da Microsoft, foi "ouro" no final de agosto. O Windows XP é a versão mais recente da linha Windows NT que começou com o Windows NT 3.1 em 1993 e baseia-se nas evoluções tecnológicas e inovações dos últimos oito anos. O sistema operacional definitivamente representa a vanguarda em termos de funcionalidade e recursos, muitos dos quais David Solomon e eu estudamos e escrevemos no artigo de dezembro da MSDN Magazine "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 funcionar virtualmente sem falhas. Afinal, seus anúncios anunciam a XP como sendo "praticamente à prova de acidentes". Eu certamente nunca esperei ter problemas - mas eu estava errado.

Eu mantive o Windows 2000 Professional como o sistema operacional no meu sistema principal durante todo o ciclo beta do XP e candidato a lançamento. Eu tinha aprendido com o ciclo de desenvolvimento do Windows 2000 que até mesmo os candidatos a lançamento deixam para trás o cruft de depuração após a atualização para os bits finais. Quando recebi a build 2600, a versão final, do programa beta, decidi que era hora de mudar. O assistente de compatibilidade do XP encontrou apenas pequenos problemas no meu sistema Windows 2000 (como que a versão do Partition Magic que eu tinha instalado não entendia o XP NTFS), então eu continuei com o caminho de atualização.

Depois de executar em modo de texto e instalar ficheiros de configuração no meu disco rígido, o programa de configuração do XP foi reiniciado na minha instalação do Windows XP parcialmente atualizada para concluir a atualização no modo gráfico. É nesse modo que você especifica as configurações de localidade e fuso horário, a Instalação executa a deteção de dispositivos e configura sua rede. As coisas correram bem até à fase "Instalação de 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. Os banners "XP é a melhor coisa que já te roubou" continuaram a se 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 aí que comecei a me preocupar. Várias horas frenéticas tentando tudo o que eu podia para superar o problema, incluindo reinicializar para deixar a Instalação tentar novamente, atualizar o BIOS, verificar a Base de Conhecimento MS (nada), não produziu nenhum resultado. Eu finalmente cedi, risquei a metade do Windows 2000-metade da instalação do Windows XP, e realizei uma nova instalação do XP, passando a maior parte de um dia reinstalando o par de dúzias de aplicativos que eu uso.

As coisas com a minha nova instalação XP foram boas. Não quer dizer que eu não tenha ficado desapontado com falhas inexplicáveis, flakiness 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 teste, e que eu teria que atualizar para a versão completa quando eu recebi-lo através do MSDN, mas eu esperava que isso não fosse problema.

Exatamente 120 dias após a minha atualização abortada (o tempo limite, não por acaso, de uma versão de teste) experimentei uma incrível sensação de déjà vu. A atualização de teste para completa, na verdade, atua como uma atualização completa, e (você adivinhou) com 34 minutos restantes e 2/3 do caminho para "Instalando dispositivos" a instalação parou de progredir. Mais uma vez, meu sistema estava no meio da configuração netherworld, totalmente inutilizável. Depois de tentar todas as coisas que tentei 120 dias antes, resignei-me a outra reinstalação completa.

Então eu me deparei com outro problema: o MSDN XP CD não é inicializável, pois tem subdiretórios Home e Professional. Como tenho apenas uma instalação do sistema operacional (a que foi corrompida pela Instalação), não pude executar a versão Win32 da Instalação a partir do CD do MSDN e, como meu sistema é somente NTFS, não pude executar a Instalação do DOS. O CD também não fornece uma maneira de fazer disquetes de inicialização da instalação. Lembrei-me que MSDN Subscriber Downloads tem uma imagem ISO do Windows XP Professional, então eu fui obtê-lo (usando outro sistema) para gravar um CD inicializável, mas essa linha de ataque foi frustrada por um "Erro ao iniciar o File Transfer Manager. Tente novamente mais tarde." mensagem de erro do site MSDN.

Como eu me saí dessa bagunça? Eu substituí as colmeias do Registro da atualização abortada por aquelas de um backup que eu tinha feito algumas semanas atrás. Embora eu não pudesse fazer login no sistema após uma reinicialização porque a Ativação de Produto do Windows disse que não poderia verificar minha licença, eu poderia inicializar no modo de segurança e executar a configuração do CD do MSDN a partir daí. Acabei de terminar de reinstalar meus aplicativos e sou capaz de 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 básicos de segurança que estão presentes nas Instalações do Windows 9x desde o Windows 95. À medida que o programa de configuração do Windows 95, 98 ou Me é executado, regista pontos de progresso para o disco. Se o programa de configuração for interrompido inesperadamente, reinicia de onde parou e, se estiver na fase "Instalar dispositivos", ignora o último controlador que tinha executado antes de ser interrompido. Dessa forma, se a Instalação travar, você poderá reiniciar o sistema e a Instalação progredirá além do ponto de travamento.

O Windows 2000 e o XP pegaram emprestado uma série de recursos interessantes da linha Windows 9x, como o Modo de Segurança e a Restauração do Sistema. Eu gostaria que eles tivessem emprestado algumas coisas da Instalação do Windows 9x.

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

Obrigado!

-Marcar

O QUE HÁ DE NOVO NA SYSINTERNALS

SINCRONIZAÇÃO V2.1

" Sync", um applet que libera dados armazenados em cache de volta para o disco, é um utilitário de sistema central em sistemas Unix, e eu assim escrevi Sync para Windows NT/2000/XP há vários anos. Garantir que as modificações sejam refletidas na mídia removível de leitura/gravação antes de ejetar a mídia é algo que o Sync permite que você faça. Também é útil para minimizar a corrupção do disco quando você executá-lo antes de exercer um driver que você está desenvolvendo que pode travar o sistema. Alguém sugeriu recentemente que seria bom se o Sync tivesse uma opção para ejetar mídia após a lavagem, então isso é introduzido na v2.1.

Download Sync v2.1 em
http://www.sysinternals.com/ntw2k/source/misc.shtml

DISKEXT V1.0

Outra ferramenta relacionada ao disco abordada neste boletim informativo é o DiskExt, um applet 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 multipartição incluem volumes estendidos, espelhados e distribuídos. O DiskExt também informa a localização, em termos dos setores que ocupam, das partições listadas.

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

NTFSDOS V3.02

NTFSDOS, o utilitário que lançou Sysinternals (na época do lançamento 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 do disco NTFS do Windows XP exigiu um ajuste no NTFSDOS para compatibilidade com XP.

Download 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 que consome muitos recursos para que você possa executar outra coisa? Suspender é um recurso de gerenciamento de processos que tem faltado muito nas 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 do pacote PsTools, PsSuspend é uma ferramenta de linha de comando que você pode direcionar para o sistema local ou remoto.

Como não há nenhum recurso 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.

Download PsSuspend v1.2 em
http://www.sysinternals.com/ntw2k/freeware/pssuspend.shtml
Baixe 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 no feedback do usuário, e o PsLoglist gerou mais solicitações de recursos do que qualquer um dos outros utilitários. Esta última versão introduz uma série de melhorias, 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 datas especificados e filtrar por 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.

Download PsLoglist v2.2 em
http://www.sysinternals.com/ntw2k/freeware/psloglist.shtml
Baixe todo o pacote PsTools em
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

PSINFO V1.2

Um utilitário PsTools que foi aposentado é o PsUptime, um applet que relatou o período de tempo em que o sistema local ou remoto esteve ativo. Não é que essa informação não seja útil – é – mas é mais apropriada para exibição pelo recém-chegado relativo ao 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 a versão do sistema operacional, a velocidade do processador, o tamanho da memória, as instalações do hotfix, se um sistema operacional é uma versão de avaliação e quando ele expirará e, no Windows XP, o status da ativação do produto Windows.

Download PsInfo v1.2 em
http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml
Baixe todo o pacote PsTools em
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

PSEXEC V1.3

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 que você executa tem uma interface de linha de comando, então PsExec proxies para você, permitindo que você executá-lo interativamente como se estivesse executando o programa localmente. Esses recursos tornam o PsExec um utilitário de tipo shell remoto leve e conveniente e facilitam a ativação remota de programas de linha de comando como ipconfig.

A versão 1.3 do PsExec permite iniciar aplicativos do Windows (ao contrário daqueles que são linha de comando) em um sistema remoto para que eles apareçam na área de trabalho interativa. Não tenho certeza de onde isso pode ser útil, mas recebi várias solicitações para essa funcionalidade.

Download PsExec v1.3 em
http://www.sysinternals.com/ntw2k/freeware/psexec.shtml
Baixe todo o pacote PsTools em
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

BGINFO V2.0

Se você gerencia mais do que alguns sistemas, então você sabe sobre "confusão de sistema", aquele estado de espírito em que você vai até uma máquina (ou muda para ela em seu 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 sejam acessíveis através de várias interfaces administrativas, obtê-las pode ser demorado. É aí que entra o BgInfo de Bryce Cogswell: ele exibe as informações do sistema que você acha mais importantes diretamente no fundo da área de trabalho para que você tenha instantaneamente todas as informações de que precisa.

Esta última atualização do BgInfo torna-o mais configurável do que nunca. Você pode definir texto personalizado em uma chave do Registro, especificar a cor ou bitmap do plano de fundo da área de trabalho, localizar o texto no plano de fundo 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 as configurações uma vez e, em seguida, usá-las em todos os sistemas que gerencia.

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

EXPLORADOR DE PROCESSOS V5.2

O Process Explorer é um visualizador de processos e um utilitário de controle que pega onde o Gerenciador de Tarefas para. Entre sua extensa lista de recursos, o Process Explorer mostra a árvore de criação de processos, exibe identificadores que os processos abriram, lista DLLs que os processos carregaram e permite que você pesquise o processo ou processos que tenham um arquivo específico aberto.

Versões anteriores do Process Explorer funcionou em sistemas Windows 9x e NT/2K/XP, mas somente com a versão 5.2 o Process Explorer mostra informações de uso da CPU de processo para sistemas Windows 9x. Outro aprimoramento para a v5.2 ajuda a rastrear vazamentos nos sistemas Windows XP e 2000, relatando o número de identificadores GDI e USER (identificadores para recursos GUI do 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 XP o número de tais recursos é limitado: há um limite em todo o sistema de 65.536 identificadores de usuário e um limite por processo de 16.384 identificadores GDI.

Download Process Explorer 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. Eu decidi Filemon como o primeiro aplicativo para port. 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 executando o Windows NT, 2000 ou XP usando um compilador cruzado.

As versões mais recentes do SDK da plataforma (disponível para download gratuito da Microsoft: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/) incluem subdiretórios contendo o compilador e vinculador Itanium de 64 bits, arquivos de cabeçalho Win64 e bibliotecas Win64. Eu fiz este arquivo em lote simples para definir meu ambiente para construir 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 em vez disso, tem que fazê-lo a partir da linha de comando.

Alguns pequenos problemas de casting foram os únicos problemas que encontrei durante a compilação. Em seguida, construí o motorista. As versões mais recentes do DDK (não estão mais disponíveis como download gratuito) incluem atalhos para prompts de comando que têm o ambiente de compilação do driver IA64 configurado. Você simplesmente cria 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 alguns elencos. Por exemplo, os números de sequência que Filemon atribui às operações são ULONGs, que o compilador não me deixaria converter para um PVOID para passar como um parâmetro de contexto para a função IoSetCompletionRoutineGerenciador de E/S. Em vez disso, eu tive que lançá-lo primeiro para ULONG_PTR e depois PVOID. Em qualquer caso, dentro de alguns minutos o driver compilado sem erros.

Em seguida, copiei o aplicativo e o driver de 64 bits para o sistema Itanium e apenas 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 Platform SDK e você pode executá-lo a partir de uma máquina de 32 bits ou 64 bits. Ele se parece com um depurador do Visual Studio despojado e só funciona no modo remoto onde 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 cheguei à conclusão de que meus procedimentos do Windows precisavam declarar seus parâmetros lparam como LPARAM – eles tinham sido LONGOS por causa de 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 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 a estrutura. Filemon estava com defeito nesse código. Surpreendentemente, quando eu corrigi esse problema Filemon correu impecavelmente no Itanium. Tempo total da porta: 1 hora.

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

Download Filemon com fonte 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: Linux Utilities. Isso mesmo, eu decidi que seria muito legal ter o Filemon rodando no Linux. Eu já tinha usado o ambiente Delphi Rapid Application Development (RAD) da Borland no Windows, então quando o Kylix foi lançado (basicamente, Delphi para Linux) percebi que a GUI seria bastante simples.

A questão que permanecia era como intercetar a atividade do sistema de arquivos. A maioria das versões do Unix, incluindo Linux, implementa uma chamada de sistema chamada ptrace() que permite que um processo intercete todas as chamadas do sistema feitas por um processo de destino. Eu considerei usar ptrace() para monitorar a atividade do sistema de arquivos, e pode modificar Filemon no futuro para usá-lo por razões que se tornarão claras, mas decidi contra.

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. 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 sejam perdidas. Quando um processo que está sendo rastreado executa uma chamada de sistema, o sistema operacional o bloqueia, envia um sinal para o processo de rastreamento e aguarda que o processo de rastreamento permita que o processo continue. Isso pode causar uma degradação grave do desempenho se você quiser ver toda a atividade do sistema de arquivos. Finalmente, a maior desvantagem é que ptrace() muda o comportamento dos processos rastreados. Enquanto eles estão sendo rastreados, o rastreador é o processo pai, o que significa que o pai real de um processo rastreado não verá as notificações que normalmente veria quando seus processos filhos os causarem.

Teria sido bom se eu pudesse ter escrito um driver de filtro de sistema de arquivos (um driver empilhável na terminologia Linux) como o Gerenciador de E/S no Windows NT/2000/XP suporta, mas a arquitetura atual do sistema de arquivos Linux não suporta drivers de sistema de arquivos empilháveis. Há um patch chamado FiST que você pode aplicar para suportá-lo (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 eu decidi implementar o monitoramento usando um driver de chamada do sistema, muito parecido com o Regmon funciona no Windows.

Há duas preocupações que tornaram o projeto mais difícil do que fazer a mesma coisa no Windows. A primeira é que Linus Torvalds, o pai do Linux e diretor de desenvolvimento do kernel Linux, não acredita no uso de depuradores de kernel. As razões são bastante ridículas (veja http://www.lib.uaa.alaska.edu/linux-kernel/archive/2000-Week-36/0575.htm l para ler a própria explicação de Linus) e é uma das várias razões pelas quais o kernel Linux terá dificuldade em acompanhar o Windows. Existem alguns depuradores de kernel não oficiais, mas eles exigem que você corrija o kernel e exigem algum esforço para usar. A segunda preocupação é que Linus não acredita em garantir retrocompatibilidade com drivers de dispositivos como lançamento de novos 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 embutido significava que eu depurava via instruções de impressão de depuração (imaginei que gastaria tanto tempo depurando via printk's – impressões em modo kernel – quanto eu instalaria e aprenderia um depurador de kernel), e a mudança de APIs e estruturas de dados do kernel significa que o Filemon para Linux é dependente do 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 concebi uma maneira de isolar o driver de mudanças arbitrárias no kernel (uma que quebrou uma versão inicial do driver foi a mudança da convenção de chamada de uma função do kernel de padrão para fast-call).

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

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

SYSINTERNALS NA WWW.MICROSOFT.COM

Mais uma vez, aqui está a última parcela de referências Sysinternals em artigos da Base de Dados de Conhecimento Microsoft (KB) lançados desde o último boletim informativo. Note aquele que até tem Filemon no título. Isso eleva para 31 o número total de referências KB a Sysinternals. 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 do tipo Lista para drivers de banco de dados está vazio; http://support.microsoft.com/default.aspx?scid=kb PT-EUA; Q308935

  • COMO: Solucionar problemas de erro 1928 "Erro ao registrar o aplicativo COM+" http://support.microsoft.com/default.aspx?scid=kb; PT-EUA; Q308940

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

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

  • PROBLEMA: Erro 80004005 "O mecanismo de banco de dados Microsoft Jet não pode abrir o arquivo '(desconhecido)'" http://support.microsoft.com/support/kb/articles/Q306/2/69.ASP

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

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

INFORMAÇÃO INTERNA

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 em DVD sobre os internos do Windows 2000, temos boas notícias! Um PREÇO INTRODUTÓRIO de US $ 950, que é mais de 25% de desconto em relação ao preço normal para um único usuário, ainda está disponível. Para ENCOMENDAR AGORA, ou para mais informações sobre este novo produto emocionante de David Solomon e Mark Russinovich, vá para 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 SALOMÃO ENSINAM JUNTOS NOVAMENTE EM SEATTLE E BOSTON

Nossa aula interna de 3 dias do Windows 2000/XP em Austin no mês passado foi um sucesso de vendas, então 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 "Inside Windows 2000, 3rd Edition" e abrange subsistemas de ambiente, despacho de chamadas do sistema, threads do sistema, inicialização e desligamento, internos do registro, processos e agendamento de threads, gerenciamento de memória, segurança, sistema de E/S, armazenamento, NTFS e gerenciador de cache. Ao compreender o funcionamento interno do Windows XP & 2000, você pode tirar proveito da plataforma de forma mais eficaz e eficaz, depurar e solucionar problemas. Para obter mais detalhes, veja http://www.sysinternals.com/seminar.shtml

ARQUIVOS DE MANIFESTO DO WINDOWS XP

Uma das mudanças mais visíveis no Windows XP é a nova aparência fornecida pela área de trabalho Luna. Luna é, na verdade, um "tema", e se você executar um aplicativo que não reconhece o tema (qualquer aplicativo não escrito especificamente para tirar proveito dos temas do Windows XP), o aplicativo tem a aparência mais antiga do Windows 2000. No entanto, você pode fazer com que aplicativos ainda mais antigos tenham a nova aparência com muita facilidade, 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 do 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, a versão e a descrição do aplicativo que você deseja tornar compatível com o tema e, em seguida, salve o arquivo para que ele tenha o mesmo nome do executável do aplicativo, exceto com ".manifest" anexado a ele, por exemplo, procexp.exe.manifest. Se você for o desenvolvedor do aplicativo, poderá incorporar o arquivo de manifesto nos recursos do aplicativo, como fiz com o Process Explorer. Consulte o código-fonte do Filemon para obter um exemplo de como fazer isso.

O QUE HÁ EM UM X-BOX?

Se você acompanhou 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 estávamos 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 conseguiram uma cópia da árvore de fontes 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 cabe em apenas 512 KB de memória. Ele tem todos os subsistemas não relevantes removidos (eles originalmente removeram o subsistema Plug and Play apenas para adicioná-lo de volta 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 nenhum suporte de 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ê tem que considerá-lo um novo sistema operacional, não o Windows 2000.

Você pode saber mais sobre os internos do X-Box, GameCube e PS2 em http://www.e-insite.net/ednmag/index.asp?layout=article& id=CA185947&pubdate=12-20-01

ESTATÍSTICAS ALEATÓRIAS DO WINDOWS XP

As seguintes estatísticas foram publicadas pela Microsoft no site do OEM System Builder (em http://oem.microsoft.com – você pode se inscrever gratuitamente), e eu pensei que você acharia algumas delas interessantes e / ou divertidas.

Aliás, o número de compilação da versão final do Windows XP não caiu por acaso em 2600 – foi um pouco distorcido (o número de compilação é incrementado cada vez que o sistema operacional é compilado no laboratório de compilação, normalmente uma vez a cada dia de trabalho). Fontes internas dizem que o número foi direcionado para a comunidade 2600, um grupo de hackers soltos (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 consumida durante 40 "Windows Info Meetings": 6.000 lbs
  • Número de Frappuccino servidos®: 86.400
  • Dólares angariados para a Seattle Ronald McDonald House (instituição de caridade local): $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 gráficos Direct3D executados desde o Windows XP RC1: 43,114,143
  • Número de aplicações testadas quanto à compatibilidade: 5.500
  • Número de dispositivos suportados prontos para uso: 12.000
  • Percentagem das aplicações de PC mais populares distribuídas 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 do arquivo único mais longo capturado pelo Windows Movie Maker: 114
  • Número de idiomas para os quais estamos localizando: 24 totalmente ou 9 parcialmente
  • Número de países participantes no lançamento em 25/10: Mais de 50
  • Número de pessoas presentes em eventos de lançamento em todo o mundo: mais de 580.000 lugares ... Mais audiências online 5.120 integradores de sistemas em todo o mundo

NOVO WINDBG MELHORADO

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

Um recurso que torna o Windbg mais recente muito fácil de usar é o seu suporte para o servidor de símbolos da Microsoft. Um problema com a observação de despejos de memória ou depuração de aplicativos com o Windbg é 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 diferentes sistemas operacionais (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 de caminho do símbolo do Windbg e o Windbg baixará símbolos do servidor sob demanda e os armazenará no diretório que você especificar. O servidor de símbolos tem símbolos para Windows .NET Server Beta 3, Windows XP e XP Release Candidates, Windows 2000 e seus service packs e hot fixes, Windows NT 4, MDAC 2.1-2.7, IIS e ISA.

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

O .dump comando é útil tanto para depuração no modo de usuário quanto para análise de despejo de falha 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 o Windbg, executar o comando .dump para gerar um arquivo de despejo de memória do usuário e, em seguida, desanexar (com o .detach comando), 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 servidor 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 dump no Windbg e usar o .dump comando para gerar uma memória kernel menor ou minidump a partir do dump 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.

Transfira a versão mais recente do Windbg a partir 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 VEM POR AÍ

USANDO O 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 desempenho 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 tornaram a ferramenta disponível gratuitamente. É 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 a E/S de disco ocorre e quando os serviços e aplicativos são iniciados. Da próxima vez vou mostrar-lhe onde você pode obtê-lo e como usá-lo.


Obrigado por ler a Newsletter da Sysinternals.

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

[Arquivo de boletins informativos ^] <[ Volume 3, Número 2] [Volume 4, Número 2 >]