[Arquivo de boletins informativos ^] <[ Volume 1, Número 3] [Volume 1, Número 5 >]
The Systems Internals Newsletter Volume 1, Número 4
http://www.sysinternals.com
Direitos de autor (C) 1999 Mark Russinovich
5 de agosto de 1999 - Nesta edição:
O QUE HÁ DE NOVO NA SYSTEMS INTERNALS
- Portmon v3.0
- Frob v1,5
- ListDLLs v2.1
- Novo BOOT. Opções INI
- PsList v1.0
- Agosto "NT Internals"
- Coisas não tão novas
NOTÍCIAS INTERNAS
- Correção Re: Proteção de arquivos do sistema
- Win2K RC1 DDK Lançado
- A API de admiração Win2K
- WinDev '99 Oeste
O QUE VEM POR AÍ
- Ferramenta de edição de disco não documentada do SP4
PATROCINADOR: WINTERNALS SOFTWARE
A Newsletter Systems Internals é 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. Os produtos Winternals Software incluem FAT32 para Windows NT 4.0, ERD Commander (capacidade de disco de inicialização para Windows NT) e NTRecover.
Winternals Software anuncia o lançamento do seu mais recente utilitário de recuperação do sistema, Remote Recover. Remote Recover permite que você acesse as unidades de um computador não inicializável via TCP / IP de qualquer lugar em sua empresa. Economize tempo e suporte corrigindo remotamente problemas de driver, sistema de arquivos e configuração que estão mantendo os sistemas NT ou Win9x off-line. Faça o download de uma versão de avaliação gratuita somente leitura em http://www.sysinternals.com/rrecover.htm, e compre a versão de leitura/gravação em http://www.winternals.com.
Olá a todos,
Bem-vindo à quarta edição da newsletter Systems Internals. A newsletter conta atualmente com 7000 subscritores.
Na última newsletter, indiquei que cobriria a API de admiração do Windows 2000 (Win2K). Eu apontei que AWE significa "Address Windowing Extensions" (para novatos no mundo do Windows, API significa "Application Programming Interface"). Esta página no site do desenvolvedor de hardware da Microsoft descreve-o como tal: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. No entanto, o leitor Laxmikant Gunda me apontou para outro URL no site da Microsoft, http://www.microsoft.com/windows/server/News/fromMS/intelpae.asponde AWE é designado como a API "Advanced Windowing Extensions". Claramente, "Endereço" faz mais sentido do que "Avançado" no contexto da API (que descrevo mais adiante nesta newsletter), então é meu palpite que algum escritor de marketing teve seus olhos pregando uma peça neles enquanto digeriam matéria-prima técnica para a página de notícias.
Já vi essa confusão acontecer antes na cobertura técnica da Microsoft. Mais recentemente, o programa de configuração para a versão Beta 3 do Win2K Installable File Systems (IFS) Kit anunciou-se em sua tela inicial como configuração para o "Internal File Systems Kit". O 'I' no IFS sempre significou "Installable", e "Internal" não faz muito sentido aqui (a menos que eles acidentalmente lançaram a versão não pública do kit), então estou supondo que é outro caso de algo se ferrando na tradução (ou o codificador de configuração não ter um membro da equipe de sistemas de arquivos à mão e usando seu melhor palpite).
Qual é o meu ponto? Eu realmente não tenho um, além de que, mais cedo ou mais tarde, teremos siglas ultrapassadas, onde desenvolvedores e pessoas de marketing começam inadvertidamente a usar as mesmas siglas de três letras para descrever diferentes tecnologias. Alguém no grupo IIS (Internet Information Server) da Microsoft nomeará uma nova API chamada AIE ("Advanced ISAPI Extensions" - ISAPI significa Internet Server API) e alguém no grupo MTS (Microsoft Transaction Server) criará outro AIE, "Atomic Interface Exchange". E tenho certeza de que um dia uma pessoa de marketing ou redator técnico receberá um documento técnico da equipe do IIS que se refere a "AIE", e sem saber a diferença entre um banco de dados e um sistema de arquivos, vai adivinhar que significa "Advanced Internet Explorer".
Já vi confusão de siglas no trabalho em outros lugares também. Um artigo recente da Windows NT Magazine discutindo portas seriais e paralelas usou o termo "porta COM" em seu texto. Depois que o editor de texto passou com uma aprovação final e o artigo foi publicado, a frase se tornou "porta COM (Component Object Model)".
Como de costume, por favor, passe a newsletter para amigos que você acha que podem achar interessante.
Obrigado!
-Marcar
O QUE HÁ DE NOVO NA SYSTEMS INTERNALS
PORTMON V3.0
Portmon foi aprimorado de maneiras importantes com sua versão 3.0. Portmon é um aplicativo de monitoramento de porta serial e paralela para Windows 95/98/NT/2K. A versão 3.0 introduz:
- Filtragem avançada e capacidade de realce de saída
- a capacidade de monitorar a atividade de portas seriais e paralelas em sistemas remotos
- suporte de log-to-file e impressão
- Integração com a área de transferência
- Uma configuração que permite especificar a quantidade de dados de leitura/gravação a serem registrados
Download Portmon v3.0 em http://www.sysinternals.com/portmon.htm.
FROB V1,5
Windows NT 4.0 Server fornece aos administradores sem capacidade de controlar os comprimentos de quantums (turnos) que o agendador de threads NT dá a threads. No Windows 4.0 Workstation, o miniaplicativo Sistema no Painel de Controle tem uma guia Desempenho com um controle deslizante que permite designar um impulso quântico para threads em primeiro plano (o controle deslizante também está presente no Servidor, mas não faz nada). Quantums mais curtos geralmente resultam em aplicativos que são mais responsivos à entrada do usuário, enquanto quantums longos são bons para sistemas dedicados à execução de aplicativos de servidor não interativos.
O programa Frob da Systems Internals oferece o mesmo grau mais refinado de controle sobre comprimentos quânticos na estação de trabalho e no servidor, permitindo que você ajuste os quantums para a carga de trabalho que você executa em um sistema. No entanto, como o Frob modifica as configurações internas do kernel do NT, ele deve ser atualizado para funcionar com cada novo Service Pack. Frob v1.5 já está disponível e fornece compatibilidade com o Service Pack 5.
Você pode baixar Frob v1.5 em http://www.sysinternals.com/ntfrob.htm.
LISTDLLS V2.1
ListDLLs é um utilitário de linha de comando que mostra informações detalhadas de versão sobre as DLLs que os processos carregaram. ListDLLs extrai informações de versão dos arquivos no disco que correspondem aos caminhos de arquivo de DLLs carregadas e obtém os nomes de caminho usando interfaces não documentadas. Às vezes, um arquivo DLL no disco é atualizado depois que um aplicativo já o carregou, caso em que ListDLLs mostra informações de versão incorretas.
ListDLLs v2.1 reconhece quando há uma diferença entre as versões no disco e carregadas de uma DLL, sinaliza a diferença em sua saída. Quando há uma discrepância, ListDLLs imprime os tempos de link do arquivo no disco e o arquivo carregado. Os tempos de link de arquivos executáveis e DLL estão localizados no cabeçalho do formato de arquivo executável portátil (PE) que o NT usa para empacotá-los.
Download ListDLLs v2.1 em http://www.sysinternals.com/listdlls.htm.
NOVA INICIALIZAÇÃO. OPÇÕES INI
Win2K Beta 3 apresenta três novos BOOT. Comutadores INI. Todos os três estão relacionados com Intel Physical Address Extensions (PAE), uma tecnologia que a Intel introduziu com o Pentium Pro para permitir que sistemas x86 endereçem até 64GB de memória física. Tradicionalmente, os sistemas x86 só podem endereçar 4GB de memória física, mas com o PAE e o chipset 450NX, essa barreira é quebrada. Win2K é o primeiro sistema operacional da Microsoft que aproveitará o PAE (Sun Solaris 7 e SCO UnixWare 7 já suportam PAE). Na verdade, existe uma compilação especial do kernel Win2K, chamada ntkrnlpa.exe, que tem o suporte embutido. NTLDR, o carregador de inicialização Win2K, é responsável por carregar o kernel padrão, ntoskrnl.exe ou o habilitado para PAE, com base em se o sistema é capaz de lidar com mais de 4GB de memória e tem essa quantidade presente.
Todos os três novos BOOT. Os switches INI destinam-se a depurar drivers de dispositivo que são projetados para trabalhar com sistemas de memória grande (sistemas com mais de 4GB). O primeiro, /PAE, tem NTLDR carregando a versão PAE do kernel mesmo que o computador não tenha mais de 4GB de memória presente. O segundo, /NOPAE, força o NTLDR a carregar o kernel padrão. Finalmente, o switch /NOLOWMEM tem o kernel Win2K usando apenas memória física acima de 4GB. Isso força todos os endereços físicos usados pelo Win2K a exigir mais de 32 bits para representá-los e, portanto, exerce a manipulação de driver de dispositivo de endereços físicos grandes.
Encontre a lista mais completa de BOOT. Comutadores INI disponíveis em http://www.sysinternals.com/bootini.htm.
PSLIST V1.0
A maioria dos tipos de UNIX vem com uma ferramenta de linha de comando chamada 'ps' que os administradores usam para listar estatísticas de CPU e memória de processo. NT tem uma ferramenta equivalente baseada em GUI, Gerenciador de tarefas, mas NT vem com nenhuma versão de linha de comando. O Windows NT Resource Kit inclui duas ferramentas de linha de comando 'ps'-like, pstat e pumon. PsList mostra uma combinação das informações disponíveis com pstat e pumon, mas tem um recurso que nenhuma ferramenta Resource Kit tem: você pode usar PsList para consultar informações de processo em um sistema remoto.
O PsList usa vários sinalizadores que permitem visualizar estatísticas de CPU, memória ou thread do processo e uma opção que permite especificar um computador NT diferente para consultar. O PsList usa contadores de desempenho internos do NT para obter as informações mostradas e funciona no NT 3.51, 4.0 e Win2K.
Download PsList em http://www.sysinternals.com/pslist.htm.
AGOSTO "NT INTERNALS"
Minha coluna "NT Internals" na edição de agosto da Windows NT Magazine é "Inside Win2K Reliability Enhancements, Part 1". Este primeiro de uma série de três partes descreve os recursos do Win2K destinados a ajudar os administradores a colocar um sistema em funcionamento depois que ele se tornou não inicializável. Estes incluem o arranque em "modo de segurança" e a Consola de Recuperação.
A partir do início de agosto, as versões on-line dos artigos da Windows NT Magazine são acessíveis apenas para assinantes, e os artigos são postados on-line a cada nova edição. Se você ainda não se inscreveu, acesse o link de assinatura para http://www.sysinternals.com/publ.htm obter o desconto de assinatura do Systems Internals.
COISAS NÃO TÃO NOVAS
Se você ainda não assustou um ou dois amigos com ele, confira o Systems Internals Bluescreen Screen Saver. Versão 2.0 exibe a versão Win2K da tela azul da morte (BSOD) e a sequência de inicialização Win2K quando você executá-lo em um sistema Win2K. Tenho orgulho em dizer que o Bluescreen Screen Saver foi recentemente premiado com cinco estrelas, a mais alta classificação possível, da Biblioteca de Software da Ziff-Davis.
Download Bluescreen Screen Saver v2.0 em http://www.sysinternals.com/bluescrn.htm.
NOTÍCIAS INTERNAS
CORREÇÃO RE: PROTEÇÃO DE ARQUIVOS DO SISTEMA
Na última newsletter, afirmei que a Proteção de Arquivos do Sistema (SFP) do Win2K permite que aplicativos como Service Packs (SPs) e hot-fixes atualizem arquivos do sistema chamando uma função SFP exporta chamada SfcTerminateWatcherThread. Embora o SFP exporte essa função, SPs e hot-fixes não usam a função ao atualizar arquivos do sistema. Em vez disso, eles são capazes de atualizar arquivos do sistema porque substituem os arquivos de sistema existentes por aqueles que são assinados digitalmente pela Microsoft. O SFP deteta as atualizações, mas permite que elas permaneçam porque o SFP verifica se os novos arquivos estão assinados digitalmente. Outra correção em relação à minha cobertura SFP é que após o Win2K Beta 3 a Microsoft mudou o nome do SFP para Proteção de Arquivos do Windows (WFP).
Certifique-se de verificar a edição de setembro da Windows NT Magazine, onde você encontrará minha coluna NT Internals "Inside Win2K Reliability Enhancements, Part 2", que descreve o WFP e a assinatura de arquivos digitais da Microsoft em detalhes.
WIN2K RC1 DDK LANÇADO
Você pode baixar a versão Win2K RC1 do Device Driver Development Kit (DDK) da Microsoft agora em http://www.microsoft.com/ddk/ddk2kRC1.htm. Você pode baixar o kit gratuitamente ou consultar a documentação on-line.
A API WIN2K AWE
Já mencionei a API AWE na introdução desta newsletter, e fiz referência a uma página Web na Microsoft onde pode saber mais: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. Em sistemas com mais de 4GB de memória física, o kernel compatível com PAE do Win2K - ntkrnlpa.exe - é capaz de tirar proveito de toda a memória física do computador sem modificação de aplicativos. O Win2K Advanced Server usará até 8 GB de memória física e o Win2K Datacenter Server usará até 64 GB de memória física.
Enquanto cada aplicativo em um sistema de memória grande tem no máximo 2GB de memória virtual à sua disposição (3GB se o /3GB BOOT. INI switch é especificado), a soma da memória física atribuída a todos os aplicativos em execução pode ser igual à quantidade de memória física. Além disso, no Win2K o cache do sistema de arquivos é atribuído um máximo de 960MB de memória virtual, mas a quantidade de dados de arquivo em cache pode ser muito maior memória física atribuída ao cache pode exceder 960MB.
A API AWE dá aos aplicativos individuais a capacidade de controlar diretamente a memória física e mais do que o limite de 2 GB ou 3 GB implícito pelo tamanho do espaço de endereço virtual. A ideia básica por trás da API AWE é que um aplicativo designa uma parte de seu espaço de endereço virtual como uma "janela" para a memória física. Em seguida, aloca um pedaço de memória física. O limite superior da quantidade de memória física que um aplicativo pode alocar é essencialmente a quantidade de memória física no sistema menos qualquer memória não paginada já alocada pelo kernel, drivers de dispositivo e outros aplicativos que usam a API AWE. Quando o aplicativo deseja acessar parte da memória física que alocou, ele mapeia a memória em sua janela de endereço virtual. Assim, a quantidade de memória física que o aplicativo pode acessar com um determinado mapeamento é limitada pelo tamanho da janela que ele reservou. Finalmente, quando um aplicativo é feito com a memória física, ele simplesmente libera a memória e fecha (deslocaliza) a janela de endereço virtual que criou.
As APIs que correspondem a essas ações são exportadas por kernel32.dll e são as seguintes:
- Um aplicativo chama VirtualAlloc com os sinalizadores MEM_PHYSICAL e MEM_RESERVE para criar a janela de endereço virtual
- AllocateUserPhysicalPages aloca memória física para um aplicativo
- Um aplicativo usa MapUserPhysicalPages para mapear partes da memória física em sua janela
- FreeUserPhysicalPages libera a memória física alocada pelo aplicativo
A capacidade de os aplicativos manipularem diretamente vários GB de memória é uma vantagem para programas que consomem muita memória, como servidores de banco de dados, servidores de e-mail, servidores Web, análise financeira e aplicativos científicos.
Enquanto a capacidade de usar mais de 4GB de memória física só é permitida em determinadas versões do Win2K, a API AWE está presente em todas as versões. Isso significa que, em um sistema Win2K Professional com 4 GB de memória, por exemplo, a API AWE ainda oferece aos aplicativos que consomem muita memória a capacidade de gerenciar mais de 2 ou 3 GB de dados na memória física.
A API AWE tem interfaces equivalentes de modo kernel nas quais kernel32.dll baseia as APIs de modo de usuário. Um driver pode alocar memória física usando MmAllocatePagesForMdl, que é o equivalente de modo kernel de AllocateUserPhysicalPages. Esta função tem seu protótipo no arquivo Win2K DDK ntddk.h, mas não está documentada. O seu protótipo é:
NTKERNELAPI
PMDL
MmAllocatePagesForMdl (
IN PHYSICAL_ADDRESS LowAddress,
IN PHYSICAL_ADDRESS HighAddress,
IN PHYSICAL_ADDRESS SkipBytes,
IN ULONG TotalBytes
);
LowAddress
é o endereço físico aceitável mais baixo que deseja alocar e HighAddress é o mais alto. SkipBytes são o número de bytes que o kernel deve manter livre acima LowAddress
e abaixo do endereço no qual ele começa a alocar memória física. TotalBytes
são o número de bytes que o driver deseja alocar. O valor de retorno da função é um MDL que, se diferente de zero, descreve a memória física que o kernel deu ao driver. Para acessar partes da memória, o driver deve criar sub-MDLs a partir da MDL retornada que descrevem partes apropriadas da memória física. Quando um driver deseja acessar a memória física descrita por um sub-MDL, ele deve mapear o sub-MDL usando MmGetSystemAddressForMdlSafe
.
Os drivers usam o MmFreePagesFromMdl
, o equivalente do modo kernel de FreeUserPhysicalPages
, para liberar a memória física que alocou com MmAllocatePagesForMdl
o . Esta função também é prototipada em ntddk.h:
NTKERNELAPI
VOID
MmFreePagesFromMdl (
IN PMDL MemoryDescriptorList
);
Note que um driver é responsável por deslocalizar o MDL retornado com MmAllocatePagesForMdl
uma chamada para ExFreePool, uma vez MmFreePagesFromMdl
que não libera o MDL.
WINDEV '99 OESTE
A edição de 1999 da Costa Oeste da principal conferência para desenvolvedores do Windows está se aproximando rapidamente. WinDev '99 West está acontecendo de 13 a 18 de setembro no Santa Clara Marriot na Califórnia. Vários grandes nomes do desenvolvimento do Windows estão falando, incluindo Jeff Richter, Jeff Prosise e Don Box. Eu estarei lá com Jamie Hanrahan e Brian Catlin na pista do driver do dispositivo. Minhas apresentações incluem um tutorial de um dia sobre internos do NT, bem como um sobre como escrever drivers de sistema de arquivos do Windows NT/2K e um sobre problemas avançados de desenvolvimento de driver de dispositivo. Venha e diga olá!
Visite a página Web do WinDev West em http://www.butrain.bu.edu/windev/.
O QUE VEM POR AÍ
DISCO DO NT 4.0 SP4Editar
Windows NT 4.0 Service Pack 4 fornecido com um utilitário bacana em seu CD que muitas pessoas podem não ter notado: DiskEdit. E não é para menos: a ferramenta não é instalada no disco rígido e vem sem documentação. É quase certo que é uma ferramenta usada internamente pelos desenvolvedores de sistemas de arquivos da Microsoft que foi enviada acidentalmente no CD. O DiskEdit é um tesouro para as pessoas que perderam uma ferramenta do tipo Edição de Disco do Norton Utilities para Windows NT, ou apenas querem explorar estruturas de dados NTFS e FAT no disco. Da próxima vez fornecerei algumas instruções sobre como usar o DiskEdit.
Obrigado por ler a Newsletter da Systems Internals.
Publicado quinta-feira, 5 de agosto de 1999 19:13 por ottoh
[Arquivo de boletins informativos ^] <[ Volume 1, Número 3] [Volume 1, Número 5 >]