[Archivo de boletines ^] [< Volumen 1, Número 3] [Volumen 1, Número 5 >]
Boletín de Systems Internals Volumen 1, Número 4
http://www.sysinternals.com
Copyright (C) 1999 Mark Russinovich
5 de agosto de 1999: En esta edición:
NOVEDADES DE SYSTEMS INTERNALS
- Portmon v3.0
- Frob v1.5
- ListDLLs v2.1
- Nuevas opciones de BOOT.INI
- PsList v1.0
- "NT Internals" de agosto
- Cosas no tan nuevas
NOTICIAS DE INTERNALS
- Corrección Re: Protección de archivos del sistema
- Win2K RC1 DDK publicado
- La API de AWE de Win2K
- WinDev '99 West
PRÓXIMAMENTE
- Herramienta DiskEdit de SP4 no documentada
PATROCINADOR: WINTERNALS SOFTWARE
El Boletín de The Systems Internals está patrocinado por Winternals Software, en la Web en http://www.winternals.com. Winternals Software es el principal desarrollador y proveedor de herramientas avanzadas de sistemas para Windows NT/2K. Los productos de Winternals Software incluyen FAT32 para Windows NT 4.0, ERD Commander (funcionalidad de disco de arranque para Windows NT) y NTRecover.
Winternals Software anuncia el lanzamiento de su última utilidad de recuperación del sistema, Recuperación remota. La Recuperación remota le permite acceder a las unidades de un ordenador que no arranca a través de TCP/IP desde cualquier lugar de su empresa. Ahorre tiempo y soporte técnico al corregir remotamente los problemas de controlador, sistema de archivos y configuración que mantienen los sistemas NT o Win9x fuera de línea. Descargue una versión de prueba gratuita de solo lectura en http://www.sysinternals.com/rrecover.htm, y adquiera la versión de lectura y escritura en http://www.winternals.com.
Hola a todos:
Bienvenido a la cuarta edición del boletín de Systems Internals. El boletín tiene actualmente 7000 suscriptores.
En el último boletín, mencioné que cubriría la API de AWE de Windows 2000 (Win2K). He señalado que AWE significa "Extensiones de ventanas de direcciones" (para las novedades en el mundo de Windows, la API significa "Interfaz de programación de aplicaciones"). En esta página del sitio web para desarrolladores de hardware de Microsoft se describe como tal: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. Sin embargo, el lector Laxmikant Gunda me apuntó a otra dirección URL en el sitio web de Microsoft, http://www.microsoft.com/windows/server/News/fromMS/intelpae.asp, donde AWE se designa la API "Extensiones de ventanas avanzadas". Claramente, "Direcciones" tiene más sentido que "Avanzadas" en el contexto de la API (que describo más adelante en este boletín), por lo que supongo que a algún escritor de marketing le jugaron una mala pasada mientras leía el material técnico en bruto para la página de noticias.
He visto que esta confusión antes en la cobertura técnica de Microsoft. Más recientemente, el programa de instalación para la versión Beta 3 del Kit de sistemas de archivos instalables (IFS) de Win2K se anunciaba en su pantalla de inicio como instalación del "Kit de sistemas de archivos internos". La "I" en IFS siempre ha significado "Instalable", así que "Interno" no tiene mucho sentido aquí (a menos que publiquen accidentalmente la versión no pública del kit), así que supongo que se trata de otro caso en el que se ha confundido algo en la traducción (o el programador de configuración no tenía cerca a un miembro del equipo de sistemas de archivos y usó su mejor suposición).
¿Cuál es mi punto? Realmente no tengo uno, aparte de que tarde o temprano vamos a sufrir una invasión de siglas, en la que los desarrolladores y la gente de marketing empezarán a utilizar sin darse cuenta las mismas siglas de tres letras para describir tecnologías diferentes. Alguien del grupo IIS (Internet Information Server) de Microsoft asignará un nombre a una nueva API denominada AIE ("Extensiones Avanzadas de ISAPI" - ISAPI significa API de Internet Server) y alguien del grupo MTS (Microsoft Transaction Server) aparecerá con otro AIE, "Atomic Interface Exchange". Y estoy seguro de que un día una persona de marketing o escritor técnico va a recibir un documento técnico del equipo de IIS que hace referencia a "AIE", y al no conocer la diferencia entre una base de datos y un sistema de archivos, va a adivinar que significa "Advanced Internet Explorer".
También he visto confusión de acrónimos en otros lugares de trabajo. En un artículo reciente de Windows NT Magazine que describe los puertos serie y paralelos se usó el término "puerto COM" en el texto. Después de que el corrector diera la última pasada y se publicara el artículo, la frase se había convertido en "puerto COM (Component Object Model)".
Como de costumbre, por favor pase el boletín de noticias a los amigos a quienes considere que podría interesarles.
Gracias
-Mark
NOVEDADES DE SYSTEMS INTERNALS
PORTMON V3.0
Portmon se ha mejorado de maneras importantes con su versión 3.0. Portmon es una aplicación de supervisión de puertos serie y paralelos para Windows 95/98/NT/2K. La versión 3.0 presenta:
- funcionalidad avanzada de filtrado y resaltado de salida
- la capacidad de supervisar la actividad de puerto serie y paralelo en sistemas remotos
- compatibilidad con la impresión y el registro a archivo
- integración del portapapeles
- una configuración que le permite especificar la cantidad de datos de lectura y escritura que se van a registrar
Descargue Portmon v3.0 en http://www.sysinternals.com/portmon.htm.
FROB V1.5
Windows NT 4.0 Server no proporciona a los administradores ninguna capacidad para controlar las longitudes de los cuánticos (turnos) que el programador de subprocesos de NT proporciona a los subprocesos. En la estación de trabajo de Windows 4.0, el applet Sistema del Panel de control tiene una pestaña Rendimiento con un control deslizante que le permite designar un aumento cuántico para subprocesos en primer plano (el control deslizante también está presente en el servidor, pero no hace nada). Los cuantos más cortos suelen dar lugar a aplicaciones que tienen mayor capacidad de respuesta a las entradas del usuario, mientras que los cuantos largos son buenos para los sistemas dedicados a ejecutar aplicaciones de servidor no interactivas.
El programa Frob de Systems Internals proporciona el mismo grado más preciso de control sobre las longitudes cuánticas tanto en estación de trabajo como en servidor, lo que le permite ajustar los cuantos a la carga de trabajo que se ejecuta en un sistema. Sin embargo, dado que Frob modifica la configuración interna en el kernel NT, debe actualizarse para que funcione con cada nuevo Service Pack. Frob v1.5 ya está disponible y proporciona compatibilidad con Service Pack 5.
Puede descargar Frob v1.5 en http://www.sysinternals.com/ntfrob.htm.
LISTDLLS V2.1
ListDLLs es una utilidad de línea de comandos que muestra información detallada de la versión sobre los archivos DLL que los procesos han cargado. ListDLL extrae información de versión de los archivos en disco que corresponden a las rutas de acceso de archivo de DLL cargadas y obtiene los nombres de ruta de acceso mediante interfaces no documentadas. A veces, un archivo DLL en disco se actualiza después de que una aplicación ya lo haya cargado, en cuyo caso ListDLLs muestra información de versión incorrecta.
ListDLLs v2.1 reconoce cuando hay una diferencia entre las versiones en disco y cargadas de un archivo DLL, e indica la diferencia en su salida. Cuando hay una discrepancia, ListDLLs imprime el tiempo de vínculo del archivo en disco y el archivo cargado. Los tiempos de vínculo de los archivos ejecutables y DLL se encuentran en el encabezado del formato de archivo portable ejecutable (PE) que NT usa para empaquetarlos.
Descargar ListDLLs v2.1 en http://www.sysinternals.com/listdlls.htm.
NUEVAS OPCIONES DE BOOT.INI
Win2K Beta 3 presenta tres nuevos modificadores de BOOT.INI. Los tres están relacionados con las extensiones de direcciones físicas de Intel (PAE), una tecnología que Intel introdujo con Pentium Pro para permitir que los sistemas x86 aborden hasta 64 GB de memoria física. Tradicionalmente, los sistemas x86 solo pueden abordar 4 GB de memoria física, pero con PAE y el chipset 450NX, esta barrera está superada. Win2K es el primer sistema operativo de Microsoft que aprovechará PAE (Sun Solaris 7 y SCO UnixWare 7 ya admite PAE). En realidad, hay una compilación especial del kernel de Win2K, denominada ntkrnlpa.exe, que tiene la compatibilidad integrada. NTLDR, el cargador de arranque de Win2K, es responsable de cargar el kernel estándar, ntoskrnl.exe o el habilitado para PAE, en función de si el sistema es capaz de abordar más de 4 GB de memoria y tiene esa cantidad presente.
Los tres nuevos conmutadores de BOOT.INI están destinados a depurar controladores de dispositivos diseñados para trabajar con sistemas de memoria grandes (sistemas con más de 4 GB). El primero, /PAE, hace que NTLDR cargue la versión PAE del kernel aunque el equipo no tenga más de 4 GB de memoria presente. El segundo, /NOPAE, obliga a NTLDR a cargar el kernel estándar. Por último, el modificador /NOLOWMEM hace que el kernel de Win2K solo use memoria física por encima de 4 GB. Esto obliga a todas las direcciones físicas usadas por Win2K a requerir más de 32 bits para representarlas y, por tanto, ejerce el control de controladores de dispositivos de direcciones físicas grandes.
Busque la lista más completa de conmutadores de BOOT.INI disponibles en http://www.sysinternals.com/bootini.htm.
PSLIST V1.0
La mayoría de los tipos de UNIX se suministran con una herramienta de línea de comandos denominada "ps" que los administradores usan para enumerar las estadísticas de CPU y memoria del proceso. NT tiene una herramienta equivalente basada en GUI, Administrador de tareas, pero NT no incluye ninguna versión de línea de comandos. El Kit de recursos de Windows NT incluye dos herramientas de línea de comandos "ps", pstat y pumon. PsList muestra una combinación de la información disponible con pstat y pumon, pero tiene una funcionalidad que ninguna herramienta de Resource Kit posee: puede usar PsList para consultar la información del proceso en un sistema remoto.
PsList toma varias marcas que le permiten ver las estadísticas de CPU, memoria o subprocesos del proceso, y un modificador que le permite especificar un equipo NT diferente para consultar. PsList usa los contadores de rendimiento integrados de NT para obtener la información que muestra y funciona en NT 3.51, 4.0 y Win2K.
Descargar PsList en http://www.sysinternals.com/pslist.htm.
"NT INTERNALS" DE AGOSTO
Mi columna "NT Internals" en el número de octubre de Windows NT Magazine es "Dentro de las mejoras de fiabilidad de Win2K, Parte 1". En esta primera serie de tres partes se describen las características de Win2K destinadas a ayudar a los administradores a poner en marcha un sistema después de que haya dejado de arrancar. Entre ellas se incluyen el arranque "modo seguro" y la Consola de recuperación.
A partir de agosto, las versiones en línea de los artículos de Windows NT Magazine solo son accesibles para los suscriptores y los artículos se publican en línea con cada nueva edición. Si aún no se ha suscrito, vaya al enlace de suscripción en http://www.sysinternals.com/publ.htm para obtener el descuento de suscripción a Systems Internals.
COSAS NO TAN NUEVAS
Si aún no ha asustado a un amigo o dos con él, consulte el Protector de pantalla azul de Systems Internals. La versión 2.0 muestra la versión de Win2K de la pantalla azul de la muerte (BSOD) y la secuencia de inicio de Win2K al ejecutarse en un sistema Win2K. Estoy orgulloso de decir que el protector de pantalla azul ha sido galardonado recientemente con cinco estrellas, la clasificación más alta posible, de la Biblioteca de software de Ziff-Davis.
Descargue el Protector de pantalla azul v2.0 en http://www.sysinternals.com/bluescrn.htm.
NOTICIAS DE INTERNALS
CORRECCIÓN RE: PROTECCIÓN DE ARCHIVOS DEL SISTEMA
En el último boletín he declarado que la Protección de archivos del sistema (SFP) de Win2K permite a las aplicaciones como Service Packs (SPs) y correcciones de acceso frecuente actualizar archivos del sistema llamando a una función que SFP exporta denominada SfcTerminateWatcherThread. Aunque SFP exporta esa función, los SP y las correcciones activas no usan la función al actualizar los archivos del sistema. En su lugar, pueden actualizar los archivos del sistema porque reemplazan los archivos del sistema existentes por los firmados digitalmente por Microsoft. SFP detecta las actualizaciones, pero permite que se mantengan porque SFP comprueba que los nuevos archivos estén firmados digitalmente. Otra corrección con respecto a mi cobertura de SFP es que después de Win2K Beta 3 Microsoft cambió el nombre de SFP a Protección de archivos de Windows (PMA).
Asegúrate de echar un vistazo a la edición de septiembre de Windows NT Magazine, donde encontrará mi columna Nt Internals "Mejoras de fiabilidad de Win2K, Parte 2", que describe WFP y el inicio de sesión de archivos digitales de Microsoft en detalle.
WIN2K RC1 DDK PUBLICADO
Ya puede descargar la versión Win2K RC1 del kit de desarrollo de controladores de dispositivos (DDK) de Microsoft en http://www.microsoft.com/ddk/ddk2kRC1.htm. Puede descargar el kit de forma gratuita o examinar la documentación en línea.
LA API DE AWE DE WIN2K
Ya he mencionado la API de AWE en la introducción a este boletín y he hecho referencia a una página web en Microsoft, donde puede obtener más información: http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. En los sistemas con más de 4 GB de memoria física, el kernel compatible con PAE de Win2K (ntkrnlpa.exe) es capaz de aprovechar toda la memoria física del equipo sin modificar las aplicaciones. El servidor avanzado Win2K usará hasta 8 GB de memoria física y el servidor de Centro de datos win2K usará hasta 64 GB de memoria física.
Aunque cada aplicación de un sistema de memoria grande tiene como máximo 2 GB de memoria virtual a su disposición (3 GB si se especifica el modificador /3GB BOOT.INI), la suma de la memoria física asignada a todas las aplicaciones en ejecución puede ser igual a la cantidad de memoria física. Además, en Win2K, a la memoria caché del sistema de archivos se le asigna un máximo de 960 MB de memoria virtual, pero la cantidad de datos de archivo almacenados en caché puede ser mucho mayor que la memoria física asignada a la memoria caché, que puede superar los 960 MB.
La API de AWE ofrece a las aplicaciones individuales la capacidad de controlar directamente la memoria física y más del límite de 2 GB o 3 GB implícitos en su tamaño de espacio de direcciones virtuales. La idea básica detrás de la API de AWE es que una aplicación designa una parte de su espacio de direcciones virtual como una "ventana" en memoria física. A continuación, asigna un fragmento de memoria física. El límite superior de la cantidad de memoria física que puede asignar una aplicación es esencialmente la cantidad de memoria física en el sistema menos cualquier memoria no paginada ya asignada por el kernel, los controladores de dispositivo y otras aplicaciones mediante la API de AWE. Cuando la aplicación quiere acceder a parte de la memoria física que ha asignado, asigna la memoria a su ventana de direcciones virtuales. Por lo tanto, la cantidad de memoria física a la que la aplicación puede acceder con una asignación determinada está limitada por el tamaño de la ventana reservada. Por último, cuando una aplicación termina de utilizar la memoria física, simplemente libera la memoria y cierra (desasigna) la ventana de direcciones virtuales que creó.
Las API que corresponden a estas acciones se exportan mediante kernel32.dll y son las siguientes:
- Una aplicación llama a VirtualAlloc con las marcas de MEM_PHYSICAL y MEM_RESERVE para crear la ventana de direcciones virtuales
- AllocateUserPhysicalPages asigna memoria física para una aplicación
- Una aplicación usa MapUserPhysicalPages para asignar partes de la memoria física a su ventana
- FreeUserPhysicalPages libera la memoria física asignada por la aplicación
La posibilidad de que las aplicaciones manipulen directamente la memoria de varios GB es una gran ayuda para programas con un uso intensivo de memoria, como servidores de bases de datos, servidores de correo electrónico, servidores web, análisis financiero y aplicaciones científicas.
Aunque la capacidad de usar más de 4 GB de memoria física solo se permite en determinadas versiones de Win2K, la API de AWE está presente en todas las versiones. Esto significa que en un sistema Win2K Professional con 4 GB de memoria, por ejemplo, la API de AWE todavía proporciona a las aplicaciones que consumen mucha memoria la capacidad de administrar más de 2 o 3 GB de datos en memoria física.
La API de AWE tiene interfaces equivalentes en modo kernel en las que kernel32.dll basa las API en modo de usuario. Un controlador puede asignar memoria física mediante MmAllocatePagesForMdl, que es el equivalente en modo kernel de AllocateUserPhysicalPages. Esta función tiene su prototipo en el archivo ntddk.h de Win2K DDK, pero no está documentado. Su prototipo es:
NTKERNELAPI
PMDL
MmAllocatePagesForMdl (
IN PHYSICAL_ADDRESS LowAddress,
IN PHYSICAL_ADDRESS HighAddress,
IN PHYSICAL_ADDRESS SkipBytes,
IN ULONG TotalBytes
);
LowAddress
es la dirección física más baja aceptable que quiere asignar y HighAddress es la más alta. SkipBytes son el número de bytes que el kernel debe mantener libre encima de LowAddress
y debajo de la dirección en la que comienza a asignar memoria física. TotalBytes
es el número de bytes que el controlador quiere asignar. El valor devuelto de la función es un MDL que si no es cero describe la memoria física que el kernel ha dado al controlador. Para acceder a partes de la memoria, el controlador debe crear sub-MDL a partir de la MDL devuelta que describa las partes adecuadas de la memoria física. Cuando un controlador desea acceder a la memoria física descrita por una sub-MDL, debe asignar la sub-MDL mediante MmGetSystemAddressForMdlSafe
.
Los controladores usan MmFreePagesFromMdl
, el equivalente en modo kernel de FreeUserPhysicalPages
, para liberar la memoria física que ha asignado con MmAllocatePagesForMdl
. Esta función también se prototipa en ntddk.h:
NTKERNELAPI
VOID
MmFreePagesFromMdl (
IN PMDL MemoryDescriptorList
);
Tenga en cuenta que un controlador es responsable de desasignar la MDL devuelta por MmAllocatePagesForMdl
con una llamada a ExFreePool, ya que MmFreePagesFromMdl
no libera el MDL.
WINDEV '99 WEST
La edición 1999 West Coast de la conferencia premier para desarrolladores de Windows se aproxima rápidamente. WinDev '99 West está teniendo lugar entre el 13 y el 18 de septiembre en el Santa Clara Marriot en California. Varios nombres importantes en el desarrollo de Windows están hablando, como Jeff Richter, Jeff Prosise y Don Box. Estaré allí con Jamie Hanrahan y Brian Catlin en la pista de controladores de dispositivos. Mis presentaciones incluyen un tutorial de un día sobre los aspectos internos de NT, así como uno sobre la escritura de controladores del sistema de archivos de Windows NT/2K y otro sobre cuestiones avanzadas de desarrollo de controladores de dispositivos. ¡Venga a saludarnos!
Visite la página web WinDev West en http://www.butrain.bu.edu/windev/.
PRÓXIMAMENTE
NT 4.0 SP4 DISKEDIT
Windows NT 4.0 Service Pack 4 se suministra con una ingeniosa utilidad en su CD que mucha gente puede no haber notado: DiskEdit. Y no es de extrañar: la herramienta no se instala en el disco duro y no incluye documentación. Es casi seguro que es una herramienta usada internamente por los desarrolladores del sistema de archivos de Microsoft que se envió accidentalmente en el CD. DiskEdit es un tesoro para aquellas personas que han perdido una herramienta de tipo de edición de disco de Norton Utilities para Windows NT, o simplemente desean explorar estructuras de datos NTFS y FAT en disco. La próxima vez les brindaré algunas instrucciones sobre cómo usar DiskEdit.
Gracias por leer el Boletín de Systems Internals.
Publicado el jueves 05 de agosto de 1999 7:13 p. m. por ottoh
[Archivo de boletines ^] [< Volumen 1, Número 3] [Volumen 1, Número 5 >]