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 Microsoft
  3. INFORMAÇÃO INTERNA

    • Dentro Windows 2000, O DVD Interativo
    • Inside Windows 2000/XP: The Seminar
    • Windows Ficheiros Manifesto XP
    • O que há numa X-Box?
    • Estatísticas XP Windows aleatórias
    • Novo Windbg melhorado
  4. O QUE ESTÁ POR VIR

    • Usando o BootVis para perfilar o processo de arranque Windows XP

PATROCINADOR: SOFTWARE WINTERNALS

A Newsletter Sysinternals é patrocinada pela Winternals Software, na Web http://www.winternals.com. Winternals Software é o principal desenvolvedor e fornecedor de ferramentas avançadas de sistemas para Windows NT/2K/XP. Os seus produtos incluem o premiado Administrador Pak, ERD Commander 2000 e NTFSDOS Professional Edition.

Winternals orgulha-se de anunciar a versão 1.32 do Comandante Defrag, o mais rápido e minucioso defragmentr disponíveis. Agora você pode gerir horários de desfragmentação em toda a sua empresa Windows a partir de um simples snapin MMC - sem sequer ter que instalar qualquer software cliente nos seus sistemas NT ou Windows 2000. Uma licença de 10 sistemas está disponível para compra on-line por apenas $169, e estão disponíveis descontos de quantidade agressiva. Visite http://www.winternals.com/39 para mais informações ou para baixar e usar gratuitamente durante 30 dias.

Olá a todos,

Bem-vindos ao boletim dos Sysinternals. O boletim tem atualmente 34.000 subscritores. Por favor, passe a newsletter a amigos que acha que podem estar interessados no seu conteúdo.

Windows XP, o principal sistema operativo da Microsoft, ficou "dourado" no final de agosto. Windows XP é o mais recente lançamento da linha NT Windows que começou com Windows NT 3.1 em 1993, e baseia-se nas evoluções tecnológicas e inovações dos últimos oito anos. O sistema operativo representa definitivamente a vanguarda em termos de funcionalidade e funcionalidades, muitas das quais eu e David Solomon estudamos e escrevemos no artigo da Revista MSDN de dezembro "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 instalados em 2000, e centenas de milhares ou milhões de testadores beta, seria de esperar que a Microsoft tivesse alterado, sintonizado e corrigido Windows XP funcionasse praticamente sem falhas. Afinal, os seus anúncios tout XP como sendo "virtualmente à prova de acidentes". Nunca esperei ter problemas, mas enganei-me.

Mantive Windows 2000 Professional como o sistema operativo no meu sistema primário durante todo o ciclo beta xp e lançamento de candidatos. Eu tinha aprendido com o ciclo de desenvolvimento Windows 2000 que até os candidatos deixam para trás depuração depois de atualizarem para as partes finais. Quando recebi a construção 2600, o lançamento final, do programa beta, decidi que era altura de me mudar. O assistente de compatibilidade XP encontrou apenas pequenos problemas no meu sistema de Windows 2000 (como que a versão de Partition Magic que eu tinha instalado não compreendia xP NTFS) então eu continuei com o caminho de upgrade.

Depois de correr em modo de texto e instalar ficheiros de configuração no meu disco rígido, a Configuração XP reiniciou na minha instalação de Windows XP parcialmente atualizada para completar a atualização no modo gráfico. É neste modo que especifica as definições de local e fuso horário, a Configuração executa a deteção do dispositivo e configura a sua rede. As coisas correram bem até à fase "Instalar dispositivos". Quando a barra de progresso atingiu cerca de 2/3rds e a Configuração informou que o tempo restante era de 34 minutos, a Configuração deixou de ser produtiva. Os banners "XP é a melhor coisa que alguma vez te abalou" os banners continuaram a alternar e os pequenos botões a piscar na parte inferior direita continuaram a girar, mas mesmo duas horas depois ainda tinha 34 minutos para ir.

Foi quando comecei a me preocupar. Várias horas frenéticas de tentar tudo o que pude para ultrapassar o problema, incluindo reiniciar para permitir que a Configuração tente novamente, atualizar o BIOS, verificar a Base de Conhecimento de MS (nada), não deu resultado. Finalmente cessei, arranhei a metade Windows 2000 metade Windows instalação XP, e realizei uma nova instalação de XP, passando a maior parte de um dia reinstalando as duas dezenas de aplicações que uso.

As coisas com a minha nova instalação XP estavam boas. Não quer dizer que não tenha ficado desapontado com acidentes 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 experimental, e que teria de atualizar para a versão completa quando o recebi através da MSDN, mas esperava que isso não fosse problema.

Exatamente 120 dias após o meu upgrade abortado (o tempo limite, não por coincidência, de uma versão experimental) experimentei uma incrível sensação de déjà vu. A atualização experimental funciona como uma atualização completa, e (adivinhou-o) com 34 minutos restantes e 2/3ºs do caminho para a Configuração de "Dispositivos de Instalação" deixou de fazer progressos. Mais uma vez, o meu sistema estava no mundo da armadilha, totalmente inutilizável. Depois de tentar todas as coisas que tentei 120 dias antes, resignei-me a outra reinstalação completa.

Depois dei conta de outro problema: o CD MSDN XP não é insutilizável, uma vez que tem subdiretórios caseiros e profissionais. Como tenho apenas uma instalação do sistema operativo (a que foi corrompida pela Configuração), não consegui executar a versão Win32 do CD da MSDN, e como o meu sistema é apenas NTFS, não consegui executar a configuração DOS. O CD também não fornece uma forma de fazer floppies de arranque de configuração. Lembrei-me que o MSDN Subscriber Downloads tem uma imagem ISO de Windows XP Professional, por isso fui buscá-la (usando outro sistema) para queimar um CD bootable, mas essa linha de ataque foi frustrada por um "Error launching File Transfer Manager. Tente novamente mais tarde." Mensagem de erro do site da MSDN.

Como é que me meti desta confusão? Substitui as colmeias do registo da atualização abortada por uma cópia de segurança que fiz há algumas semanas. Embora não conseguisse entrar no sistema depois de um reboot porque Windows a Ativação do Produto disse que não podia verificar a minha licença, eu poderia entrar em modo de segurança e executar a configuração do CD MSDN a partir daí. Estou prestes a terminar de reinstalar as minhas aplicações e sou capaz de ser produtivo novamente.

O que acho absolutamente surpreendente sobre o que me aconteceu (duas vezes) é que Windows Configuração XP não tem mecanismos básicos de segurança que estão presentes nas configurações 9x Windows desde Windows 95. Como Windows 95, 98 ou Me Setup executa, grava pontos de progresso para o disco. Se a Configuração for interrompida inesperadamente, reinicia onde ficou de fora e, se esteve na fase "Dispositivos de Instalação", salta o último condutor que tinha executado antes de ser interrompido. Assim, se a Configuração ficar pendurada, pode reiniciar o sistema e a Configuração progredirá para além do ponto de vista do enforcamento.

Windows 2000 e XP emprestaram uma série de funcionalidades agradáveis da linha Windows 9x, como Cofre Modo e Restauro do Sistema. Quem me dera que tivessem pedido emprestado umas coisas da Windows 9x Setup.

Por falar em atualizações para o XP, o colunista de humor Dave Barry está a pensar em dar o salto: http://www.miami.com/herald/special/features/barry/2002/docs/jan06.htm .

Obrigado!

- Marca

O QUE HÁ DE NOVO NA SYSINTERNALS

SINCRONIZAÇÃO V2.1

"Sync", um applet que lava dados em cache de volta ao disco, é um utilitário de sistema central em sistemas Unix, e eu assim escrevi Sync for Windows NT/2000/XP há vários anos. Garantir que as modificações são refletidas em suportes de leitura/escrita amovíveis antes de ejetar os meios de comunicação é algo que o Sync lhe permite fazer. Também é útil para minimizar a corrupção no disco quando a executam antes de exercitar um motorista que está a desenvolver que pode falhar o sistema. Alguém sugeriu recentemente que seria bom se o Sync tivesse a opção de ejetar os meios de comunicação após o flushing, de modo que é introduzido em v2.1.

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

DISKEXT V1.0

Outra ferramenta relacionada com o disco abrangida por esta newsletter é a DiskExt, uma applet de linha de comando que lhe diz, dada a letra de unidade de um volume, as localizações das divisórias que compõem o volume; os volumes multipartição incluem volumes abrangedos, espelhados e listrados. O DiskExt também informa a localização, em termos dos sectores que ocupam, das divisórias que lista.

Descarregue 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 os Sysinternals (no momento do lançamento do NTFSDOS, "Ntinternals") nos computadores de centenas de milhares de utilizadores, permite que o DOS leia unidades NTFS. Uma pequena alteração na estrutura Windows XP NTFS no disco exigiu um ajuste para NTFSDOS para compatibilidade com XP.

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

PSSUSPEND V1.2

Já quis suspender temporariamente um download de rede, pesquisa de discos ou outra aplicação intensiva de recursos para que pudesse executar outra coisa? Suspender é uma característica de gestão de processos que tem faltado muito das ferramentas administrativas em Windows NT/2000/XP. A mais recente adição ao conjunto de ferramentas PsTools é a PsSuspend, um utilitário que suspende e retoma os processos. Como todas as outras ferramentas na suite PsTools, a PsSuspend é uma ferramenta de linha de comando que pode dirigir para o sistema local ou para um remoto.

Como não existe capacidade de suspensão de processos em Windows NT/2000/XP (existe em XP, mas não é exposto através da API Win32), a PsSuspend suspende e retoma os fios em execução num processo-alvo com as APIs de Suspensthread e ResumeThread win32.

Baixar PsSuspend v1.2 em
http://www.sysinternals.com/ntw2k/freeware/pssuspend.shtml
Descarregue 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 dos utilizadores, e a PsLoglist tem gerado mais pedidos de funcionalidades do que qualquer outro utilitário. Esta versão mais recente introduz uma série de melhorias, incluindo a capacidade de despejar os registos em ficheiros de registo de eventos guardados, alterar o delimiter de formato único de uma vírgula para outra coisa (para situações em que o texto do registo de eventos contém vírgulas), registos de despejo de intervalos de data especificados e filtro no tipo de evento (erro, aviso ou informação). Como antes, o PsLoglist pode despejar registos de eventos do sistema local ou remoto e tem muitas outras opções para controlar o seu funcionamento.

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

PSINFO V1.2

Um utilitário PsTools que foi reformado é o PsUptime, um applet que relatou o tempo que o local ou um sistema remoto tinha sido up. Não é que essa informação não seja útil – é – mas é mais apropriada para exibição pelo relativamente recém-chegado ao PsTools, PsInfo. Por isso, o PsInfo v1.2 reporta agora o tempo de uptime do sistema, juntamente com uma série de outras informações, tais como versão OS, velocidade do processador, tamanho da memória, instalações de hotfix, se um SISTEMA é uma versão experimental e quando expirará, e, no Windows XP, o estado de Windows Ativação do Produto.

Baixar PsInfo v1.2 em
http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml
Descarregue 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 num sistema remoto sem instalar qualquer software nesse sistema. Se o programa que executa tem uma interface de linha de comando, então o PsExec o proxies para si, permitindo-lhe executá-lo interativamente como se estivesse a executar o programa localmente. Estas capacidades tornam o PsExec um conveniente utilitário remoto de tipo concha de peso leve e facilitam a ativação remota de programas de linha de comando como o ipconfig.

A versão 1.3 do PsExec permite-lhe lançar Windows aplicações (ao contrário das que são linha de comando) num sistema remoto para que apareçam no ambiente de trabalho interativo. Não sei onde isto pode ser útil, mas recebi vários pedidos para esta funcionalidade.

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

BGINFO V2.0

Se gere mais do que alguns sistemas, então sabe sobre "confusão do sistema", esse estado de espírito em que se dirige a uma máquina (ou se muda para ela no seu KVM) e esquece o nome do computador, a versão OS, o pacote de serviço instalado ou o endereço IP. Embora toda esta informação seja acessível através de várias interfaces administrativas, chegar a ela pode ser demorado. É aí que entra o BgInfo de Bryce Cogswell: exibe a informação do sistema que encontra mais importante no fundo do ambiente de trabalho para que tenha imediatamente toda a informação de que necessita.

Esta última atualização para a BgInfo torna-o mais configurável do que nunca. Pode definir texto personalizado numa chave de registo, especificar a cor de fundo do ambiente de trabalho ou mapa bit, localizar o texto no fundo e muito mais. O mais útil para as grandes organizações, no entanto, é a capacidade da BgInfo de economizar e carregar configurações, e até mesmo exportá-las para uma base de dados. Utilizando qualquer uma destas capacidades, pode definir as definições uma vez e depois usá-las em todos os sistemas que gere.

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

EXPLORADOR DE PROCESSO V5.2

O Process Explorer é um utilitário de visualização e controlo de processos que retoma onde o Gestor de Tarefa sai. Entre a sua extensa lista de capacidades, o Process Explorer mostra-lhe a árvore de criação de processos, apresenta alças que os processos têm aberto, lista DLLs que os processos têm carregado, e permite-lhe pesquisar o processo ou processos que têm um ficheiro específico aberto.

Versões anteriores do Process Explorer têm funcionado em sistemas Windows 9x e NT/2K/XP, mas apenas com a versão 5.2 é que o Process Explorer mostra informações de utilização do CPU para sistemas Windows 9x. Outra melhoria do v5.2 ajuda a rastrear fugas nos sistemas Windows XP e 2000, reportando o número de cabos de GDI e USER (pegas nos recursos DO WIN32) que um processo abriu no diálogo de propriedades do processo. Contrariamente à crença popular, mesmo em Windows 2000 e XP o número desses recursos é limitado: há um limite de 65.536 pegas de utilizador e um limite por processo de 16.384 alças de GDI.

Download Process Explorer v5.2 em
http://www.sysinternals.com/ntw2k/freeware/procexp.shtml

FILEMON V4.34 PARA WIN64/ITANIUM

A Microsoft emprestou-me uma caixa de Itanium da Intel para que eu pudesse começar a apresentar as aplicações Sysinternals mais populares para o Win64/Itanium. A caixa é impressionante: tem 2 processadores de 733 MHz e 8 GB de memória. Decidi sobre filemon como o primeiro pedido para o porto. Filemon é composto por um Win32 (agora Win32/64) GUI e um controlador de dispositivo, pelo que foram necessários dois esforços de porção diferentes. O que é um pouco inesperado é que você constrói aplicações Win64 e condutores de 64 bits num sistema de 32 bits que funciona Windows NT, 2000 ou XP usando um cross-compiler.

As versões mais recentes da plataforma SDK (disponível como download gratuito da Microsoft: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/) incluem subdiretas contendo o compilador e linker itanium de 64 bits, ficheiros de cabeçalho Win64 e bibliotecas Win64. Fiz este simples ficheiro de lote para definir o 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.

Note que não pode construir aplicações Win64 a partir de Visual Studio, mas tem que fazê-lo a partir da linha de comando.

Alguns pequenos problemas de casting foram os únicos problemas com que me dei durante a compilação. Em seguida, construí o motorista. As versões mais recentes do DDK (já não disponível como download gratuito) incluem atalhos para pedidos de comando que têm o ambiente de construção do controlador IA64 configurado. Basta construir o condutor num ambiente de alvo de 64 bits, como se fosse um condutor de 32 bits.

O compilador informou-me que precisava de mais explícito sobre alguns moldes. Por exemplo, os números de sequência que o Filemon atribui às operações são ULONG s, que o compilador não me deixaria lançar para um PVOID para passar como um parâmetro de contexto para a função de I/O Manager IoSetCompletionRoutine . Em vez disso, tive de o lançar primeiro ULONG_PTR e PVOID depois. Em todo o caso, em poucos minutos o condutor compilou-o sem erros.

Em seguida, copiei a aplicação de 64 bits e o motorista para o sistema itanium e apenas o executei. O Filemon GUI apareceu e desapareceu. Isso significava que tinha de usar o depuração Win64 para descobrir o que se passava. O depurador Win64 também vem na Plataforma SDK e você pode executá-lo a partir de uma máquina de 32 ou 64 bits. Parece um depurado Visual Studio depurado, e só funciona em modo remoto onde instala uma peça de cliente depurado no computador-alvo no qual executou a aplicação.

Depois de passar pelo código de Filemon durante cerca de meia hora, finalmente percebi que os meus procedimentos Windows precisavam de declarar os seus parâmetros lparam como LPARAM – 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 se tinha queixado disto, mas significava que qualquer ponteiro passava como um lparam foi truncado. Isto apareceu no manipulador de WM_MEASUREITEM de Filemon, que interpreta o parâmetro lparam como um ponteiro para a estrutura. O Filemon estava a falhar naquele código. Surpreendentemente, quando corrigi o problema, o Filemon correu perfeitamente no Itanium. Tempo total para o porto: 1 hora.

Estou a trabalhar na porção do Regmon agora e depois vou portar a DebugView. Ambos devem ser desafiantes, especialmente o DebugView, que tem um condutor pouco ortodoxo.

Descarregue Filemon com fonte completa em http://www.sysinternals.com/ntw2k/source/filemon.shtml

FILEMON V1.1 PARA LINUX

Se visitou sysinternals nos últimos meses, provavelmente ficou chocado ao ver uma nova entrada na barra de menus: Linux Utilities. Isso mesmo, decidi que seria muito bom ter o Filemon a correr no Linux. Já tinha usado o ambiente delphi rapid application development (RAD) de Borland em Windows, por isso, quando kylix foi libertado (basicamente, Delphi for Linux) percebi que o GUI seria bastante simples.

A questão que restava era como intercetar a atividade do sistema de ficheiros. A maioria das versões do Unix, incluindo o Linux, implementam uma chamada de sistema chamada ptrace() que permite que um processo intercete todas as chamadas do sistema feitas por um processo-alvo. Considerei usar ptrace() para monitorizar a atividade do sistema de ficheiros, e posso modificar o Filemon no futuro para usá-lo por razões que se tornarão claras, mas decididas contra isso.

Os inconvenientes para usar ptrace() são que Filemon teria que enumerar todos os processos de execução e executar um ptrace() em cada um. Além disso, teria também de se anexar a processos recém-criados e a ptrace() funcionalidade não fornece uma forma de garantir que as primeiras chamadas do sistema executadas pelo novo processo não seriam perdidas. Quando um processo que está a ser traçado executa um sistema de chamada o sistema operativo bloqueia-o, envia um sinal para o processo de rastreio e aguarda que o processo de rastreio deixe o processo continuar. Isto pode causar uma grave degradação do desempenho se quiser ver toda a atividade do sistema de ficheiros. Finalmente, o maior inconveniente é que ptrace() muda o comportamento dos processos traçados. Enquanto estão a ser rastreados, o rastreador é o processo dos pais, o que significa que um verdadeiro progenitor de um processo rastreado não verá as notificações que normalmente veria quando os seus processos de filho os causam.

Teria sido bom se eu tivesse escrito um controlador de filtro de sistema de ficheiros (um condutor empilhável na terminologia Linux) como o I/O Manager em suportes Windows NT/2000/XP, mas a atual arquitetura do sistema de ficheiros Linux não suporta controladores de sistemas de ficheiros empilháveis. Há um patch chamado FiST que pode aplicar para apoiá-lo ( http://www.cs.columbia.edu/~ezk/research/fist/) e há também um conjunto de ferramentas trace ( ) para o http://www.opersys.com/LTT/index.html Linux, mas ambos requerem que os utilizadores finais recomplem os seus núcleos, algo que eu queria evitar. Então decidi implementar a monitorização usando um controlador de chamadas de sistema, tal como o Regmon trabalha na Windows.

Há duas preocupações que tornaram o projeto mais difícil do que fazer o mesmo em Windows. A primeira é que Linus Torvalds, o pai de Linux e diretor do desenvolvimento do kernel de Linux, não acredita no uso de debuggers de núcleo. As razões são bastante ridículas (ver 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 Windows. Existem alguns depurares não oficiais do kernel, mas exigem que remenda o núcleo e exija algum esforço para usar. A segunda preocupação é que o Linus não acredita em garantir a retrocompatibilidade com os condutores do dispositivo à medida que os novos núcleos são lançados. A consequência é que qualquer API de kernel exportado pode subitamente mudar, quebrando os condutores existentes que utilizam a API e exigindo que sejam recompiliados para novos núcleos.

A falta de um depurante de núcleo incorporado fez com que eu depurasse através de declarações de impressão de depurado (pensei que passaria tanto tempo a depurar através printk de impressões em modo kernel - como eu instalaria e aprenderia um depurante de kernel), e a mudança de APIs e estruturas de dados significa que o Filemon para o Linux é dependente de kernel. Funciona com o Red Hat 7.1 e 7.2 e o SuSE Linux 7.1 e 7.2, e possivelmente em outras distribuições comerciais, mas ainda não concondo uma forma de isolar o condutor de alterações arbitrárias de núcleo (uma que quebrou uma versão inicial do condutor foi a alteração da convenção de chamada de uma função de núcleo de padrão para chamada rápida).

Filemon para Linux tem a mesma interface que a sua Windows contraparte e parece notavelmente similar (ver a imagem na página Filemon para Linux). As minhas conclusões sobre a facilidade de desenvolver um filtro geral do sistema de ficheiros não-kernel dependente para o Linux devem ser claras: é difícil, se não impossível. Em contrapartida, os controladores empilháveis (filtro) em todos os domínios do condutor (networking, sistemas de ficheiros, armazenamento, entrada, etc)foram suportados pela arquitetura NT I/O Windows desde o início.

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

SYSINTERNALS NA WWW.MICROSOFT.COM

Mais uma vez, aqui está a mais recente versão de referências Sysinternals em artigos da Microsoft Knowledge Base (KB) lançados desde a última newsletter. Note aquele que até tem Filemon no seu título. Isto eleva para 31 o número total de referências KB a 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 configuração http://support.microsoft.com/support/kb/articles/Q273/9/18.ASP

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

  • HOWTO: Erro de resolução de problemas 1928 "Error Register com COM+ Application" http://support.microsoft.com/default.aspx?scid=kb ; EN-US; Q308940

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

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

  • PRB: Error 80004005 "The Microsoft Jet Database Engine Can Can Open the File '(Unknown)". http://support.microsoft.com/support/kb/articles/Q306/2/69.ASP

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

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

INFORMAÇÃO INTERNA

INSIDE WINDOWS 2000, O DVD INTERATIVO

Se perdeu o preço especial pré-lançamento do INSIDE Windows 2000, o tutorial interativo de DVD em Windows 2000 internos, temos boas notícias! Um preço introdutório de 950 dólares, que está mais de 25% acima do preço normal de um utilizador único, 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 num formato de distribuição de rede para streaming intranet!

MARK THE DATES: RUSSINOVICH & SOLOMON ENSINA NOVAMENTE EM SEATTLE E BOSTON

A nossa aula de interna de 3 dias Windows 2000/XP em Austin no mês passado foi um sucesso esgotado, por isso agendamos mais duas ofertas: 17 a 19 de abril perto de Seattle e 12-14 de junho em Boston (as inscrições estarão abertas em breve). A aula baseia-se em "Inside Windows 2000, 3ª Edição" e abrange subsistemas ambientais, despacho de chamadas de sistema, linhas de sistema, & paragem de arranque, internalização de registo, processos e agendamento de fios, gestão de memória, segurança, sistema de E/S, armazenamento, NTFS e o gestor de cache. Ao compreender o funcionamento interno do Windows XP & 2000, pode aproveitar a plataforma de forma mais eficaz e mais eficaz para depurar e resolver problemas. Para obter mais detalhes, veja http://www.sysinternals.com/seminar.shtml

FICHEIROS MANIFESTOS DO WINDOWS XP

Uma das mudanças mais visíveis no Windows XP é o novo visual e sensação fornecida pelo ambiente de trabalho Luna. A Luna é na verdade um "tema", e se executares uma aplicação que não tenha conhecimento do tema (qualquer aplicação não escrita especificamente para tirar partido dos Windows temas XP) a aplicação tem o aspeto e a sensação de estilo Windows mais antigos de 2000. No entanto, pode fazer com que aplicações ainda mais antigas tenham o novo visual muito facilmente, mesmo quando não tem código fonte. Basta criar um ficheiro manifesto XML para a aplicação que diga ao carregador Windows XP que essa aplicação pretende utilizar a versão DLL do Controlo Comum (a comctl32.dll %SystemRoot%\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1 df_6.0.0.0_x-ww_1382d70a em ) em vez da versão não-temática consciente em %SystemRoot%\System32 . Aqui está o ficheiro 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 da aplicação, versão e descrição para a aplicação que pretende fazer com que o tema tenha e guarde o ficheiro de modo a que tenha o mesmo nome que o executável da aplicação, exceto com ".manifesto" anexado a ela, por exemplo, procexp.exe.manifesto. Se você é o desenvolvedor da aplicação, você pode incorporar o ficheiro manifesto nos recursos da aplicação, como eu fiz com o Process Explorer. Consulte o código de origem para Filemon para um exemplo de como fazê-lo.

O QUE HÁ NUMA X-BOX?

Se seguiste o mundo dos jogos de consola recentemente, então certamente sabes que a nova consola X-Box da Microsoft está a executar uma versão modificada de Windows 2000. Enquanto estava na Microsoft para uma recente viagem de pesquisa de Windows XP para a 4ª edição do nosso livro, Dave Solomon e eu aprendemos com a equipa de desenvolvimento Windows 2000/XP que o grupo X-Box decidiu Windows 2000 para o seu apoio ao condutor. Após a decisão ter sido tomada, os desenvolvedores da X-Box receberam uma cópia da árvore de origem Windows 2000 e foram-se embora, dificilmente mais se ouviram falar da equipa Windows 2000/XP.

O X-Box tem uma versão altamente modificada e despojada de Windows 2000 que se encaixa num mero 512 KB de memória. Removeu todos os subsistemas não relevantes (originalmente retiraram o subsistema Plug and Play apenas para o adicionar depois de se aperceberem que o carregamento do condutor dependia dele), executa apenas um processo e não tem subsistema Win32 (apenas o X-Box API). O X-Box tem apenas 64 MB de memória física e sem suporte de memória virtual, pelo que os Windows 2000 Memory e Cache Managers são dois subsistemas que foram removidos. Com tais modificações drásticas, tem de considerar um novo sistema operativo, não Windows 2000.

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

ESTATÍSTICAS ALEATÓRIAS DO WINDOWS XP

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

A propósito, o número de construção do lançamento final do Windows XP não caiu por coincidência em 2600 – foi um pouco falsificado (o número de construção é aumentado cada vez que o sistema operativo compila no laboratório de construção, tipicamente uma vez por dia de trabalho). Fontes internas dizem que o número foi direcionado para a comunidade 2600, um grupo de hackers de malha solta ( http://www.2600.com/) como uma mensagem que demonstra a confiança da equipa XP na segurança do XP.

  • Número de dias que demorou a desenvolver Windows XP: 600 (12/20/99 – 8/24/01)
  • Número de membros da equipa 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 "reuniões de informação Windows": 6.000 libras
  • Número de Frappuccino® servido: 86.400
  • Dólares angariados para Seattle Ronald McDonald House (caridade local): $2 milhões
  • Número de casos de teste para a funcionalidade de restauro do sistema: 1,6 milhões
  • Número de casos de teste gráficos Direto3D executados desde Windows XP RC1: 43.114.143
  • Número de candidaturas testadas para compatibilidade: 5.500
  • Número de dispositivos suportados fora da caixa: 12.000
  • Percentagem das aplicações de PC mais populares distribuídas nos últimos três anos que serão compatíveis com Windows XP: 90%
  • Número de faixas no maior caso de teste da Digital Media Library: 31.000
  • Comprimento em horas de arquivo único mais longo capturado por Windows Movie Maker: 114
  • Número de idiomas a que estamos a localizar: 24 totalmente & 9 parcialmente
  • Número de países participantes no lançamento em 10/25: Mais de 50
  • Número de pessoas a assistir a eventos de lançamento em todo o mundo: mais de 580.000 lugares... mais audiências online 5.120 construtores de sistemas em todo o mundo

NOVO WINDBG MELHORADO

Windbg é uma extremidade frontal gráfica do suporte de depurar o núcleo integrado no Windows núcleo NT/2000/XP. Até aos últimos dois anos, Windbg ganhou, com razão, a reputação de ser flakey e pesado, mas isso mudou desde que a Microsoft se focou em melhorá-lo. A versão mais recente do Windbg, disponível como download gratuito http://www.microsoft.com/ddk/Debugging/ de , é extremamente melhorada em relação às versões antigas e mais fácil de usar. Existem algumas novidades que até os utilizadores experientes 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.

Uma funcionalidade que torna o mais recente Windbg muito fácil de usar é o seu suporte para o servidor de símbolos da Microsoft. Um problema em olhar para depósitos de falhas ou depurar aplicações com o Windbg tem sido que você precisa ter instalado os ficheiros de símbolos de depurragem corretos para a sua instalação. Com pacotes de serviços, hotfixes e possivelmente falhas de diferentes sistemas operativos (por exemplo, Windows NT versus Windows XP), isto pode ser onerosa. Com o suporte ao servidor de símbolos, basta introduzir o URL do servidor de símbolos da Microsoft no diálogo de trajetória do símbolo Windbg e o Windbg descarregará símbolos do servidor a pedido e armazena-os no diretório especificado. O servidor de símbolos tem símbolos para Windows .NET Server Beta 3, Windows candidatos de lançamento XP e XP, Windows 2000 e seus pacotes de serviço e correções quentes, Windows NT 4, MDAC 2.1-2.7, IIS e ISA.

Os dois comandos que são úteis para depurar depósitos de colisão são !analisar e .dump. Executar !analisar (especificar o -v interruptor) para obter uma análise automática, baseada na heurística, de uma colisão. Este comando já é bastante poderoso, e como a Microsoft incorpora dados mais históricos de falhas reais, tornar-se-á ainda mais preciso.

O .dump comando é útil tanto para a depuragem do modo de utilizador como para a análise do despejo de falha em modo kernel. Em alguns ambientes do servidor, especialmente servidores web, pode identificar uma fuga de memória ou outro problema, mas não estar disposto a parar e reiniciar o servidor até que a causa esteja isolada. No Windows XP e no Servidor .NET pode anexar-se ao processo do servidor utilizando o Windbg, executar o comando .dump para gerar um ficheiro de despejo de falha de memória do utilizador e, em seguida, separar -se (com o .detach comando), fazendo uma pausa no servidor apenas brevemente. Em seguida, um desenvolvedor pode pegar o ficheiro de despejo gerado e analisá-lo offline.

Por padrão, Windows sistemas de servidor geram um despejo de memória completa, que é tão grande quanto a quantidade de memória física presente num sistema e, portanto, pode ser muito grande. No entanto, pode carregar a lixeira em Windbg e usar o .dump comando para gerar uma menor memória de núcleo ou minidump a partir da lixeira completa. Os ficheiros mais pequenos são mais fáceis de trocar e são muitas vezes tudo o que é necessário para isolar a causa de um acidente.

Descarregue a versão mais recente do Windbg a partir de http://www.microsoft.com/ddk/Debugging/ , e encontre instruções sobre a configuração do 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 O BOOTVIS PARA PERFILAR O PROCESSO DE ARRANQUE DO WINDOWS XP

Para os ajudar a afinar o processo de arranque Windows XP, a equipa de desempenho Windows XP instrumentou pontos-chave no sistema operativo e desenvolveu uma ferramenta chamada BootVis para exibir vestígios de arranque. Num movimento surpreendente, disponibilizaram a ferramenta livremente. É muito fácil de usar e apresenta uma quantidade incrível de detalhes, incluindo informações sobre quando os condutores inicializam, quando e onde o disco I/O ocorre, e quando os serviços e aplicações começam. Da próxima vez vou mostrar-te onde podes consegui-lo e como usá-lo.


Obrigado por ler o Boletim Sysinternals.

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

[Newsletters Archive ^][ Volume 3, Número 2][Volume 4, Número 2 ]

[Newsletters Archive ^][ Volume 3, Número 2][Volume 4, Número 2 ]

A Newsletter Sistemas Internas Volume 4, Número 1

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