5 de agosto de 1999 - Nesta edição:

  1. O QUE HÁ DE NOVO NOS SISTEMAS INTERNOS

    • Portmon v3.0
    • Frob v1.5
    • ListDLs v2.1
    • Novas opções de BOOT.INI
    • Lista de PsList v1.0
    • Agosto "NT Internals"
    • Coisas não tão novas
  2. NOTÍCIAS INTERNAS

    • Correção Re: Proteção de Ficheiros do Sistema
    • Win2K RC1 DDK lançado
    • A API win2K AWE
    • WinDev '99 Oeste
  3. O QUE ESTÁ POR VIR

    • Ferramenta de Edit de Disco Não Documentado da SP4

PATROCINADOR: SOFTWARE WINTERNALS

A Newsletter Sistemas Internos é 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. Os produtos de Software Winternals incluem FAT32 para Windows NT 4.0, Comandante ERD (capacidade de boot-disk para Windows NT) e NTRecover.

Winternals Software anuncia o lançamento do seu mais recente utilitário de recuperação do sistema, Remote Recover. A Remote Recover permite-lhe aceder às unidades de um computador inabitável via TCP/IP a partir de qualquer lugar da sua empresa. Economize tempo e suporte dólares corrigindo remotamente os problemas de controlador, sistema de ficheiros e configuração que mantêm os sistemas NT ou Win9x fora de linha. Faça o download de uma versão de teste apenas de leitura gratuita em http://www.sysinternals.com/rrecover.htm , e compre a versão de leitura/escrita em http://www.winternals.com.


Olá a todos,

Bem-vindos à quarta edição da newsletter Systems Internals. O boletim tem atualmente 7000 subscritores.

Na última newsletter indiquei que iria cobrir Windows A API da AWE de 2000 (Win2K). Salientei que a AWE significa "Extensões de janelação de endereços" (para os novatos no mundo dos Windows, a API significa "Interface de Programação de Aplicações"). Esta página no web 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 apontou-me outro URL no web site da Microsoft, http://www.microsoft.com/windows/server/News/fromMS/intelpae.asp onde a AWE é designada a API de "Extensões avançadas de janelas". Claramente, "Address" faz mais sentido do que "Avançado" no contexto da API (que descrevo mais tarde nesta newsletter), por isso é meu palpite que algum escritor de marketing teve os seus olhos a pregar-lhes um truque enquanto digeriam matéria-prima para a página de notícias.

Já vi esta confusão acontecer antes na cobertura técnica da Microsoft. Mais recentemente, o programa de configuração para o lançamento beta 3 do Kit de Sistemas de Ficheiros Instalados Win2K (IFS) anunciou-se no seu ecrã de respingo como configuração para o "Internal File Systems Kit". O 'I' no IFS sempre defendeu "Installable", e "Internal" não faz muito sentido aqui (a menos que acidentalmente tenham lançado a versão não pública do kit), por isso acho que é mais um caso de algo que está a ser lixado na tradução (ou o codificador de configuração não ter um membro da equipa de sistemas de ficheiros à mão e usando o seu melhor palpite).

Qual é o meu ponto? Não tenho nenhuma, a não ser que, mais cedo ou mais tarde, vamos ter a sigla invadida, onde os desenvolvedores e as pessoas de marketing começam inadvertidamente a usar as mesmas siglas de três letras para descrever diferentes tecnologias. Alguém do grupo IIS (Internet Information Server) da Microsoft nomeará um novo API chamado AIE ("Extensões Avançadas isaPI" - ISAPI significa API do Servidor de Internet) e alguém do grupo MTS (Microsoft Transaction Server) irá criar outro AIE, "Atomic Interface Exchange". E tenho a certeza que um dia uma pessoa de marketing ou um escritor técnico vai receber um documento técnico da equipa do IIS que se refere ao "AIE", e não saber a diferença entre uma base de dados e um sistema de ficheiros, vai adivinhar que significa "Avançado Internet Explorer".

Também vi confusão no acrónimo no trabalho noutros sítios. Um artigo recente Windows NT Magazine que discutia portas em série e paralelas usou o termo "porto COM" no seu texto. Após o editor de cópia ter conseguido um passe final e o artigo ter sido publicado, a frase tornou-se "com (Component Object Model) porta".

Como sempre, por favor, passe o boletim informativo para amigos que acha que pode achar interessante.

Obrigado!

- Marca

O QUE HÁ DE NOVO NOS SISTEMAS INTERNOS

PORTMON V3.0

Portmon foi melhorado de forma importante com a sua libertação 3.0. Portmon é uma aplicação de monitorização portuária em série 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 monitorizar a atividade portuária em série e paralela em sistemas remotos
  • suporte de log-to-file e impressão
  • integração de áreas de transferência
  • uma definição que permite especificar a quantidade de dados de leitura/escrita para registar

Baixar 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 dos quantums (voltas) que o programador de fios NT dá aos fios. No Windows 4.0 Workstation o Applet do Sistema no Painel de Controlo tem um separador de desempenho com um slider que permite designar um impulso quântico para fios de primeiro plano (o slider também está presente no Servidor, mas não faz nada). Os quânticos mais curtos geralmente resultam em aplicações mais sensíveis à entrada do utilizador, enquanto os quantums longos são bons para sistemas dedicados a executar aplicações de servidores não interativos.

O programa Frob da Systems Internals dá-lhe o mesmo grau de controlo mais fino sobre os comprimentos quânticos tanto na Workstation como no Server, permitindo-lhe sintonizar os quantums à carga de trabalho que funciona num sistema. No entanto, como o Frob modifica as definições internas do núcleo NT, deve ser atualizado para trabalhar com cada novo Pacote de Serviços. 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 sobre os DLLs que os processos carregaram. O ListDLLs extrai informações de versão dos ficheiros em disco que correspondem aos caminhos de ficheiros dos DLLs carregados, e obtém os nomes de pathnams utilizando interfaces não documentados. Por vezes, um ficheiro DLL no disco é atualizado depois de uma aplicação já o ter carregado, caso em que o ListDLLs mostra informações incorretas da versão.

ListDLS v2.1 reconhece quando há uma diferença entre as versões on-disk e carregadas de um DLL, sinaliza a diferença na sua saída. Quando há uma discrepância, os ListDLLs imprimem os tempos de ligação do ficheiro on-disk e do ficheiro carregado. Os tempos de ligação dos ficheiros executáveis e DLL estão localizados no cabeçalho do formato de ficheiro executável portátil (PE) que o NT utiliza para os embalar.

Download ListDLLs v2.1 at http://www.sysinternals.com/listdlls.htm.

NOVAS OPÇÕES DE BOOT.INI

O Win2K Beta 3 introduz três novos comutadores BOOT.INI. As três estão relacionadas com extensões de endereços físicos da Intel (PAE), uma tecnologia que a Intel introduziu com o Pentium Pro para permitir que os sistemas x86 se endereçam até 64GB de memória física. Tradicionalmente, os sistemas x86 só podem abordar 4GB de memória física, mas com PAE e o chipset 450NX, esta barreira é quebrada. O Win2K é o primeiro sistema operativo da Microsoft que vai tirar partido do PAE (Sun Solaris 7 e SCO UnixWare 7 já suportam PAE). Há, na verdade, uma construção especial do núcleo Win2K, chamado ntkrnlpa.exe, que tem o suporte incorporado. O NTLDR, o carregador de botas Win2K, é responsável por carregar o núcleo padrão, ntoskrnl.exe ou o ativado pela PAE, com base no facto de o sistema ser capaz de abordar mais de 4GB de memória e ter essa quantidade presente.

Os três novos interruptores BOOT.INI destinam-se a depurar os controladores de dispositivos que são projetados para funcionar com grandes sistemas de memória (sistemas com mais de 4GB). O primeiro, /PAE, tem NTLDR carregar a versão PAE do núcleo mesmo que o computador não tenha mais de 4GB de memória presente. O segundo, /NOPAE, força a NTLDR a carregar o núcleo padrão. Finalmente, o interruptor /NOLOWMEM tem o núcleo Win2K apenas utilizar memória física acima de 4GB. Isto força todos os endereços físicos usados pela Win2K a exigir mais de 32 bits para representá-los, e assim exercita o manuseamento do controlador do dispositivo de grandes endereços físicos.

Encontre a lista mais completa de comutadores BOOT.INI disponíveis em http://www.sysinternals.com/bootini.htm.

PSLIST V1.0

A maioria dos sabores de UNIX navio com uma ferramenta de linha de comando chamada 'ps' que os administradores usam para listar o processo CPU e as estatísticas de memória. O NT tem uma ferramenta baseada em GUI equivalente, o Task Manager, mas o NT vem sem versão de linha de comando. O Windows NT Resource Kit inclui duas ferramentas 'ps', pstat e pumon da linha de comando. A PsList mostra uma combinação das informações disponíveis com pstat e pumon, mas tem uma capacidade que nenhuma ferramenta do Kit de Recursos tem: pode usar a PsList para consultar informações de processo num sistema remoto.

A PsList leva várias bandeiras que lhe permitem visualizar cpu de processo, memória ou estatísticas de fios, e um interruptor que permite especificar um computador NT diferente para consultar. A PsList utiliza os Contadores de Desempenho incorporados da NT para obter a informação que mostra, e funciona em NT 3.51, 4.0 e Win2K.

Baixar PsList em http://www.sysinternals.com/pslist.htm.

AGOSTO "NT INTERNALS"

A minha coluna "NT Internals" na edição de agosto da revista NT Windows é "Inside Win2K Reliability Enhancements, Part 1". Esta primeira de uma série de três partes descreve as funcionalidades do Win2K destinadas a ajudar os administradores a obter um sistema depois de se ter tornado insociável. Estes incluem o arranque "modo de segurança" e a Consola de Recuperação.

A partir do início de agosto, as versões on-line de Windows artigos da NT Magazine só estão acessíveis a assinantes, e os artigos são publicados on-line com cada nova edição. Se ainda não subscreveu, consulte o link de subscrição http://www.sysinternals.com/publ.htm para obter o desconto de subscrição Systems Internals.

COISAS NÃO TÃO NOVAS

Se ainda não teve medo de um ou dois amigos com ele, consulte o Systems Internals Bluescreen Screen Saver. A versão 2.0 apresenta a versão Win2K do Blue Screen of Death (BSOD) e a sequência de arranque Win2K quando a executam num sistema Win2K. Orgulho-me de dizer que o Bluescreen Screen Saver recebeu recentemente cinco estrelas, a melhor classificação possível, da Biblioteca de Software da Ziff-Davis.

Baixar Bluescreen Screen Saver v2.0 em http://www.sysinternals.com/bluescrn.htm.

NOTÍCIAS INTERNAS

CORREÇÃO RE: PROTEÇÃO DE FICHEIROS DE SISTEMA

Na última newsletter, afirmou que a Win2K's System File Protection (SFP) permite aplicações como Pacotes de Serviço (SPs) e ficheiros de sistema de atualização de correções em calor, chamando uma função exportações de SFP chamada SfcTerminateWatcherThread. Enquanto a SFP exporta essa função, os SPs e as correções a quente não utilizam a função ao atualizar ficheiros do sistema. Em vez disso, são capazes de atualizar ficheiros do sistema porque substituem os ficheiros do sistema existentes por aqueles que são digitalmente assinados pela Microsoft. A SFP deteta as atualizações, mas permite-lhes manter-se porque a SFP verifica que os novos ficheiros são assinados digitalmente. Outra correção em relação à minha cobertura de SFP é que depois do Win2K Beta 3 a Microsoft mudou o nome de SFP para Windows Proteção de Ficheiros (PAM).

Não se esqueça de consultar a edição de setembro da Windows NT Magazine, onde encontrará a minha coluna NT Internals "Inside Win2K Reliability Enhancements, Part 2", que descreve a sessão de ficheiros digitais da WFP e da Microsoft em detalhe.

WIN2K RC1 DDK LANÇADO

Você pode baixar o lançamento Win2K RC1 do Kit de Desenvolvimento de Dispositivos da Microsoft (DDK) agora em http://www.microsoft.com/ddk/ddk2kRC1.htm. Você pode baixar o kit gratuitamente, ou navegar na documentação on-line.

A API WIN2K AWE

Já mencionei a AWE API na introdução a esta newsletter, e fiz referência a uma página web na Microsoft onde pode aprender mais: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. Em sistemas com mais de 4GB de memória física, o núcleo pae-able win2K - ntkrnlpa.exe - é capaz de tirar partido de toda a memória física do computador sem modificação nas aplicações. O Win2K Advanced Server utilizará até 8GB de memória física e o Win2K Datacenter Server utilizará até 64GB de memória física.

Embora cada aplicação num grande sistema de memória tenha no máximo 2GB de memória virtual à sua disposição (3GB se o interruptor de BOOT.INI /3GB for especificado), a soma da memória física atribuída a todas as aplicações de execução pode igualar a quantidade de memória física. Além disso, no Win2K a cache do sistema de ficheiros é atribuída a um máximo de 960MB de memória virtual, mas a quantidade de dados de ficheiros em cache pode ser muito maior atribuída à cache pode exceder 960MB.

A AWE API dá às aplicações individuais a capacidade de controlar diretamente a memória física, e mais do que o limite de 2GB ou 3GB implícito pelo tamanho do espaço de endereço virtual. A ideia básica por trás da AWE API é que uma aplicação designa uma parte do seu espaço de endereço virtual como uma "janela" para a memória física. Depois atribui um pedaço de memória física. O limite superior da quantidade de memória física que uma aplicação pode atribuir é essencialmente a quantidade de memória física no sistema menos qualquer memória não pageed já atribuída pelo núcleo, controladores de dispositivos e outras aplicações usando a API da AWE. Quando a aplicação quer aceder a parte da memória física que alocou, mapeia a memória na sua janela de endereço virtual. Assim, a quantidade de memória física a que a aplicação pode aceder com um determinado mapeamento é limitada pelo tamanho da janela que reservou. Finalmente, quando uma aplicação é feita com a memória física, simplesmente liberta a memória e fecha (deallocates) a janela de endereço virtual que criou.

As APIs que correspondem a estas ações são exportadas por kernel32.dll e são as seguintes:

  • Uma aplicação chama VirtualAlloc com as bandeiras MEM_PHYSICAL e MEM_RESERVE para criar a janela de endereço virtual
  • Alocar Alocação DeSerSicalPages atribui memória física para uma aplicação
  • Uma aplicação usa MapUserPhysicalPages para mapear partes da memória física na sua janela
  • FreeUserPhysicalPages liberta a memória física da aplicação atribuída

A capacidade de as aplicações manipularem diretamente vários GB de memória é uma bênção para programas intensivos de memória, tais como servidores de bases de dados, servidores de e-mail, servidores Web, análise financeira e aplicações científicas.

Embora a capacidade de usar mais de 4GB de memória física seja permitida apenas em certas versões do Win2K, a AWE API está presente em todas as versões. Isto significa que num sistema Win2K Professional com 4GB de memória, por exemplo, a AWE API ainda dá aplicações intensivas de memória a capacidade de gerir mais de 2 ou 3GB de dados na memória física.

A AWE API tem interfaces de modo kernel equivalentes nas quais kernel32.dll baseia as APIs do modo de utilizador. Um controlador pode alocar memória física utilizando o MmAllocatePagesForMdl, que é o equivalente em modo kernel das Páginas Físicas do ProdutoeUser. Esta função tem o seu protótipo no ficheiro Win2K DDK ntddk.h, mas não está documentado. 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 mais baixo aceitável que quer atribuir e HighAddress é o mais alto. SkipBytes são o número de bytes que o núcleo deve manter livre acima LowAddress e abaixo do endereço no qual começa a alocar memória física. TotalBytes são o número de bytes que o motorista quer atribuir. O valor de retorno da função é um MDL que, se não zero descrever a memória física que o núcleo deu ao condutor. Para aceder a partes da memória, o condutor deve criar sub-MDLs a partir do MDL devolvido que descreva partes apropriadas da memória física. Quando um condutor pretende aceder à memória física descrita por um sub-MDL, deve mapear o sub-MDL utilizando MmGetSystemAddressForMdlSafe .

Os condutores utilizam o equivalente ao MmFreePagesFromMdl modo kernel de FreeUserPhysicalPages , para libertar a memória física a que alocou MmAllocatePagesForMdl . Esta função também é protótipo em ntddk.h:

NTKERNELAPI
VOID
MmFreePagesFromMdl (
    IN PMDL MemoryDescriptorList
    );

Note que um condutor é responsável pela negociação do MDL devolvido MmAllocatePagesForMdl com uma chamada para a ExFreePool, uma vez que não liberta o MmFreePagesFromMdl MDL.

WINDEV '99 OESTE

A edição de 1999 da Costa Oeste da principal conferência para Windows desenvolvedores está a aproximar-se rapidamente. WinDev '99 West está a decorrer de 13 a 18 de setembro no Santa Clara Marriot, na Califórnia. Vários grandes nomes Windows desenvolvimento estão a falar, incluindo Jeff Richter, Jeff Prosise e Don Box. Estarei lá com Jamie Hanrahan e Brian Catlin na pista do condutor do dispositivo. As minhas apresentações incluem um tutorial de um dia sobre os internos da NT, bem como um sobre a escrita Windows controladores de sistema de ficheiros NT/2K e um sobre problemas avançados de desenvolvimento do condutor de dispositivos. Venha cumprimentá-lo!

Visite a página winDev West Web em http://www.butrain.bu.edu/windev/.

O QUE ESTÁ POR VIR

NT 4.0 SP4 DISKEDIT

Windows NT 4.0 Service Pack 4 enviado com um utilitário elegante no seu CD que muitas pessoas podem não ter reparado: DiskEdit. E não é de admirar: a ferramenta não se instala no disco rígido, e vem sem documentação. É quase certo que é uma ferramenta usada internamente pelos desenvolvedores de sistemas de ficheiros da Microsoft que foi acidentalmente enviada para o CD. O DiskEdit é um tesouro para as pessoas que perderam uma ferramenta do tipo Dedição de Discos Norton Utilities para Windows NT, ou apenas querem explorar estruturas de dados NTFS e FAT em disco. Da próxima vez, vou dar-lhe algumas instruções sobre como usar o DiskEdit.


Obrigado por ler a Newsletter Sistemas Internos.

Publicado quinta-feira, 05 de agosto de 1999 19:13 pm by ottoh

[Newsletters Archive ^][ Volume 1, Número 3][Volume 1, Número 5 ]

[Newsletters Archive ^][ Volume 1, Número 3][Volume 1, Número 5 ]

A Newsletter Sistemas Internas Volume 1, Número 4

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