Compartir a través de


[Archivo de boletines ^] [< Volumen 3, Número 2] [Volumen 4, Número 2 >]

Boletín de información interna de sistemas Volumen 4, Número 1

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


7 de enero de 2002: en este número:

  1. EDITORIAL

  2. NOVEDADES DE SYSINTERNALS

    • Sync 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 procesos v5.2
    • Filemon v4.34 para Win64/Itanium
    • Filemon v1.1 para Linux
    • Sysinternals en Microsoft
  3. INFORMACIÓN INTERNA

    • Dentro de Windows 2000, el DVD interactivo
    • Dentro de Windows 2000/XP: El seminario
    • Archivos de manifiesto de Windows XP
    • ¿Qué hay en un X-Box?
    • Estadísticas aleatorias de Windows XP
    • Nuevo Windbg mejorado
  4. PRÓXIMAMENTE

    • Uso de BootVis para generar perfiles del proceso de arranque de Windows XP

PATROCINADOR: WINTERNALS SOFTWARE

El Boletín de Sysinternals está patrocinado por Winternals Software, en la Web en http://www.winternals.com. Winternals Software es el desarrollador líder y proveedor de herramientas avanzadas de sistemas para Windows NT/2K/XP. Sus productos incluyen el galardonado Administrator's Pak, ERD Commander 2000, y NTFSDOS Professional Edition.

Winternals está orgulloso de anunciar la versión 1.32 de Defrag Commander, el desfragmentador más rápido y completo disponible. Ahora puede administrar programaciones de desfragmentación en toda su empresa de Windows desde un sencillo complemento MMC, sin tener que instalar ningún software cliente en los sistemas NT o Windows 2000. Hay una licencia de 10 sistemas disponible para la compra en línea por solo $169 y hay descuentos de cantidad agresivos disponibles. Visite http://www.winternals.com/39 para obtener más información o descargar y usar gratis durante 30 días.

Hola a todos:

Bienvenido al boletín de Sysinternals. El boletín tiene actualmente 34.000 suscriptores. Por favor, pase el boletín de noticias a los amigos que cree que podrían estar interesados en su contenido.

Windows XP, el sistema operativo insignia de Microsoft, fue "oro" a finales de agosto. Windows XP es la versión más reciente de la línea Windows NT que comenzó con Windows NT 3.1 en 1993, y se basa en las evoluciones tecnológicas e innovaciones de los últimos ocho años. El sistema operativo representa definitivamente la vanguardia en cuanto a funcionalidad y características, muchas de las cuales David Solomon y yo estudiamos y sobre las que escribimos en el artículo de diciembre de MSDN Magazine "Windows XP: Las mejoras del kernel crean un sistema operativo más robusto, potente y escalable" ( http://www.msdn.microsoft.com/msdnmag/issues/01/12/XPKernel/XPKernel.asp ).

Y con millones de sistemas Windows NT y Windows 2000 instalados, y cientos de miles o millones de probadores beta, uno esperaría que Microsoft hubiera ajustado, afinado y corregido Windows XP para que funcionara prácticamente a la perfección. Al fin y al cabo, sus anuncios promocionan XP como "prácticamente a prueba de bloqueos". No esperaba encontrarme con problemas, pero me equivoqué.

Mantuve Windows 2000 Professional como sistema operativo en mi sistema principal durante todo el ciclo de versiones beta y candidatas de XP. Había aprendido del ciclo de desarrollo de Windows 2000 que incluso las versiones candidatas dejan restos de depuración tras la actualización a las versiones finales. Cuando recibí la versión 2600, la versión final, del programa beta, decidí que era hora de cambiar. El asistente de compatibilidad de XP sólo encontró problemas menores en mi sistema Windows 2000 (como que la versión de Partition Magic que había instalado no entendía NTFS de XP), así que seguí adelante con la ruta de actualización.

Tras ejecutarse en modo texto y ejecutar los archivos de instalación en mi disco duro, XP Setup se reinició en mi instalación parcialmente actualizada de Windows XP para completar la actualización en modo gráfico. En este modo se especifica la configuración regional y de zona horaria, se realiza la detección de dispositivos y se configura la red. Las cosas fueron bien hasta la fase de "Instalación de dispositivos". Cuando la barra de progreso llegó a los 2/3 y la instalación informó de que quedaban 34 minutos, la instalación dejó de ser productiva. Los banners de "XP es lo mejor que te ha pasado en la vida" seguían alternándose y los botoncitos parpadeantes de la parte inferior derecha seguían rotando, pero incluso dos horas después aún me quedaban 34 minutos.

Es cuando empecé a preocuparme. Varias horas frenéticas intentando todo lo posible para solucionar el problema, incluido reiniciar para que el programa de instalación lo intentara de nuevo, actualizar la BIOS, consultar la base de conocimientos de MS (nada), no dieron resultado. Finalmente me rendí, taché la instalación mitad Windows 2000-mitad Windows XP y realicé una nueva instalación de XP, pasando la mayor parte del día reinstalando el par de docenas de aplicaciones que utilizo.

Las cosas con mi nueva instalación de XP iban bien. Eso no quiere decir que no me haya decepcionado con fallos inexplicables, fallos de la interfaz gráfica y otros comportamientos extraños del sistema, pero al menos he podido ser productivo. Sabía que el CD del programa beta era un CD de prueba y que tendría que actualizar a la versión completa cuando lo recibiera a través de MSDN, pero esperaba que eso no supusiera ningún problema.

Exactamente 120 días después de mi actualización anulada (el tiempo de espera, no coincidentalmente, de una versión de prueba) experimenté un increíble sentido de déjà vu. La actualización de prueba a completa actúa realmente como una actualización completa y (lo ha adivinado) con 34 minutos a la izquierda y 2/3 de la forma en "Instalación de dispositivos" el programa de instalación dejó de avanzar. Una vez más, mi sistema estaba en medio del inframundo de la configuración, totalmente inutilizable. Después de probar todas las cosas que intenté 120 días antes, me resigné a otra reinstalación completa.

Entonces me encontré con otro problema: el CD de MSDN XP no es arrancable, ya que tiene subdirectorios Home y Professional. Como sólo tengo una instalación del sistema operativo (la que se corrompió con el Setup), no pude ejecutar la versión Win32 del Setup desde el CD de MSDN, y como mi sistema es sólo NTFS, no pude ejecutar el Setup DOS. Tampoco el CD proporciona una manera de configurar los disquetes de arranque. Recordé que las descargas de suscriptores de MSDN tienen una imagen ISO de Windows XP Professional, por lo que fui a obtenerlo (usando otro sistema) para grabar un CD de arranque, pero esa línea de ataque fue frustrada por un "Error al iniciar el Administrador de transferencia de archivos. Inténtelo de nuevo más tarde". Mensaje de error del sitio de MSDN.

¿Cómo he podido salir de este lío? He reemplazado los subárboles del Registro de la actualización anulada por los de una copia de seguridad que he realizado hace unas semanas. Aunque no podía iniciar sesión en el sistema después de un reinicio porque la activación del producto de Windows dijo que no podía comprobar mi licencia, podía arrancar en modo seguro y ejecutar la configuración de CD de MSDN desde allí. Acabo de terminar de volver a instalar mis aplicaciones y puedo volver a ser productivo.

Lo que encuentro increíble sobre lo que me pasó (dos veces) es que el programa de instalación de Windows XP no tiene mecanismos de seguridad básicos que han estado presentes en las configuraciones de Windows 9x desde Windows 95. A medida que el programa de instalación de Windows 95, 98 o Me ejecuta, registra los puntos de progreso en el disco. Si la instalación se interrumpe inesperadamente, se reinicia donde se quedó y, si estaba en la fase de "Instalación de dispositivos", se salta el último controlador que había ejecutado antes de interrumpirse. De esta forma, si la instalación se bloquea, puedes reiniciar el sistema y la instalación avanzará más allá del punto de bloqueo.

Windows 2000 y XP han prestado una serie de características agradables de la línea Windows 9x, como el modo seguro y la restauración del sistema. Ojalá hubieran prestado algunas cosas de la configuración de Windows 9x.

Hablando de actualizar a XP, el columnista humor Dave Barry está pensando en hacer el salto: http://www.miami.com/herald/special/features/barry/2002/docs/jan06.htm .

Gracias

-Mark

NOVEDADES DE SYSINTERNALS

SYNC V2.1

"Sync", un applet que vacía los datos almacenados en caché en el disco, es una utilidad principal del sistema en sistemas Unix, y así escribí Sync para Windows NT/2000/XP hace varios años. Asegurarse de que las modificaciones se reflejan en medios extraíbles de lectura y escritura antes de expulsar el medio es algo que Sync te permite hacer. También es útil para minimizar los daños en el disco al ejecutarlo antes de ejercer un controlador que está desarrollando que podría bloquear el sistema. Alguien sugirió recientemente que sería bueno si Sync tuviera una opción para expulsar medios después de vaciarlos, por lo que se introdujo en la versión 2.1.

Descarga de Sync v2.1 en
http://www.sysinternals.com/ntw2k/source/misc.shtml

DISKEXT V1.0

Otra herramienta relacionada con los discos que se trata en este boletín es DiskExt, un applet de línea de comandos que le indica, dada la letra de unidad de un volumen, las ubicaciones de las particiones que lo componen; los volúmenes multipartición incluyen volúmenes distribuidos, duplicados y divididos en franjas. DiskExt también informa de la ubicación, en términos de los sectores que ocupan, de las particiones que enumera.

Descargue DiskExt v1.0 con código fuente completo en
http://www.sysinternals.com/ntw2k/source/misc.shtml#diskext

NTFSDOS V3.02

NTFSDOS, la utilidad que inició Sysinternals (en el momento de la versión de NTFSDOS, "Ntinternals") en los equipos de cientos de miles de usuarios, permite a DOS leer unidades NTFS. Un pequeño cambio en la estructura NTFS en disco de Windows XP requirió un ajuste en NTFSDOS para la compatibilidad con XP.

Descargue NTFSDOS v3.02 en
http://www.sysinternals.com/ntw2k/freeware/NTFSDOS.shtml

PSSUSPEND V1.2

¿Alguna vez ha querido suspender temporalmente una descarga de red, la búsqueda en disco o alguna otra aplicación que consume muchos recursos para que pueda ejecutar otra cosa? Suspender es una característica de administración de procesos que ha faltado de las herramientas administrativas en Windows NT/2000/XP. La adición más reciente al conjunto de herramientas PsTools es PsSuspend, una utilidad que suspende y reanuda los procesos. Como todas las demás herramientas de la suite PsTools, PsSuspend es una herramienta de línea de comandos que puede dirigir al sistema local o a uno remoto.

Debido a que no existe la capacidad de suspender procesos en Windows NT/2000/XP (existe en XP, pero no está expuesta a través de la API Win32), PsSuspend suspende y reanuda los hilos que se ejecutan en un proceso de destino con las APIs Win32 SuspendThread y ResumeThread.

Descargue PsSuspend v1.2 en
http://www.sysinternals.com/ntw2k/freeware/pssuspend.shtml
Descargar todo el paquete psTools en
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

PSLOGLIST V2.2

Las herramientas que componen el paquete PsTools evolucionan continuamente en función de los comentarios de los usuarios, y PsLoglist ha generado más peticiones de funciones que cualquiera de las otras utilidades. Esta última versión introduce una serie de mejoras, como la posibilidad de volcar los registros de los archivos de registro de sucesos guardados, cambiar el delimitador de formato de línea única de una coma a otro (para situaciones en las que el texto del registro de sucesos contiene comas), volcar registros de intervalos de fechas especificados y filtrar por tipo de suceso (error, advertencia o información). Como antes, PsLoglist puede volcar los registros de eventos del sistema local o remoto y tiene muchas otras opciones para controlar su operación.

Descargue PsLogList v2.2 en
http://www.sysinternals.com/ntw2k/freeware/psloglist.shtml
Descargar todo el paquete psTools en
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

PSINFO V1.2

Una utilidad de PsTools que ha sido retirada es PsUptime, un applet que informaba del tiempo que el sistema local o remoto había estado activo. No es que esa información no sea útil - lo es - pero es más apropiada para ser mostrada por el relativamente recién llegado a PsTools, PsInfo. Por lo tanto, PsInfo v1.2 ahora notifica el tiempo de actividad del sistema, junto con una gran cantidad de información, como la versión del sistema operativo, la velocidad del procesador, el tamaño de memoria, las instalaciones de revisiones, si un sistema operativo es una versión de prueba y cuándo expirará y, en Windows XP, el estado de activación del producto de Windows.

Descargue PsInfo v1.2 en
http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml
Descargar todo el paquete psTools en
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

PSEXEC V1.3

PsExec es una utilidad de línea de comandos que permite ejecutar programas en un sistema remoto sin instalar ningún software en ese sistema. Si el programa que ejecuta tiene una interfaz de línea de comandos, PsExec la proporciona, lo que le permite ejecutarlo de forma interactiva como si estuviera ejecutando el programa localmente. Estas funcionalidades hacen que PsExec sea una utilidad cómoda de tipo shell-type remoto y facilitar la habilitación remota de programas de línea de comandos como ipconfig.

La versión 1.3 de PsExec permite iniciar aplicaciones de Windows (en lugar de aquellas que son de línea de comandos) en un sistema remoto para que aparezcan en el escritorio interactivo. No estoy seguro de dónde podría ser útil, pero recibí varias solicitudes para esta funcionalidad.

Descargue PsExec v1.3 en
http://www.sysinternals.com/ntw2k/freeware/psexec.shtml
Descargar todo el paquete psTools en
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

BGINFO V2.0

Si administra más de unos pocos sistemas, entonces sabe sobre "confusión del sistema", ese estado de mente en el que camina a una máquina (o cambia a él en el KVM) y olvida el nombre del equipo, la versión del sistema operativo, el Service Pack instalado o la dirección IP. Aunque toda esta información es accesible a través de varias interfaces administrativas, puede llevar mucho tiempo. Aquí es donde se incluye Bryce Cogswell BgInfo: muestra la información del sistema que encuentra más importante en el fondo del escritorio para que tenga al instante toda la información que necesita.

Esta última actualización de BgInfo hace que sea más configurable que nunca. Puede definir texto personalizado en una clave del Registro, especificar el color de fondo de escritorio o el mapa de bits, buscar el texto en el fondo, etc. Sin embargo, lo más útil para grandes organizaciones es la capacidad de BgInfo para guardar y cargar la configuración, e incluso para exportarlos a una base de datos. Con cualquiera de estas funcionalidades, puede definir la configuración una vez y, a continuación, usarlas en todos los sistemas que administra.

Descargue BgInfo v2.0 en
http://www.sysinternals.com/ntw2k/freeware/bginfo.shtml

EXPLORADOR DE PROCESOS V5.2

El Explorador de procesos es un visor de procesos y una utilidad de control que recoge dónde sale el Administrador de tareas. Entre su amplia lista de funcionalidades, el Explorador de procesos muestra el árbol de creación de procesos, muestra los identificadores que los procesos tienen abiertos, enumera los archivos DLL que se han cargado y le permite buscar el proceso o los procesos que tienen abierto un archivo determinado.

Las versiones anteriores del Explorador de procesos han trabajado en sistemas Windows 9x y NT/2K/XP, pero solo con la versión 5.2, el Explorador de procesos muestra información de uso de CPU de procesos para sistemas Windows 9x. Otra mejora para la versión 5.2 ayuda a realizar un seguimiento de las pérdidas en los sistemas Windows XP y 2000 al informar del número de identificadores GDI y USER (identificadores de los recursos de la GUI de Win32) que un proceso ha abierto en el cuadro de diálogo de propiedades del proceso. Contrariamente a la creencia popular, incluso en Windows 2000 y XP, el número de recursos es limitado: hay un límite de 65 536 controladores de usuario y un límite por proceso de 16 384 controladores GDI.

Descarga del Explorador de procesos v5.2 en
http://www.sysinternals.com/ntw2k/freeware/procexp.shtml

FILEMON V4.34 PARA WIN64/ITANIUM

Microsoft tuvo la amabilidad de prestarme una de las primeras cajas Itanium de Intel para que pudiera empezar a portar las aplicaciones más populares de Sysinternals a Win64/Itanium. La caja es impresionante: tiene 2 procesadores de 733 MHz y 8 GB de memoria. Me decidí por Filemon como primera aplicación a portar. Filemon consta de una GUI de Win32 (ahora Win32/64) y un controlador de dispositivo, por lo que se requerían dos esfuerzos de portabilidad diferentes. Lo que es algo inesperado es que compilas tanto aplicaciones Win64 como controladores de 64 bits en un sistema de 32 bits que ejecuta Windows NT, 2000 o XP con un compilador cruzado.

Las últimas versiones del SDK de la plataforma (disponible como descarga gratuita en Microsoft: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/) incluyen subdirectorios que contienen el compilador y enlazador Itanium de 64 bits, archivos de cabecera Win64 y bibliotecas Win64. Hice este archivo por lotes sencillo para establecer mi entorno para compilar ejecutables 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.

Tenga en cuenta que no puede compilar aplicaciones Win64 desde Visual Studio, sino que debe hacerlo desde la línea de comandos.

Algunos problemas de conversión menores fueron los únicos problemas que he tenido durante la compilación. A continuación, construí el controlador. Las últimas versiones del DDK (que ya no está disponible como descarga gratuita) incluyen accesos directos a los comandos-prompts que tienen configurado el entorno de compilación del controlador IA64. Simplemente compila el controlador en el entorno de destino de 64 bits como lo haría con un controlador de 32 bits.

El compilador me informó de que necesitaba más explícito sobre algunas conversiones. Por ejemplo, los números de secuencia que Filemon asigna a las operaciones son ULONGs, que el compilador no me dejaría convertir en para PVOID pasar como parámetro de contexto a la función IoSetCompletionRoutineadministrador de E/S . En su lugar, tuve que convertirlo primero en ULONG_PTR y luego PVOID. En cualquier caso, en unos minutos el controlador se compiló sin errores.

A continuación, he copiado la aplicación de 64 bits y el controlador en el sistema Itanium y acabo de ejecutarla. La GUI de Filemon se mostró y desapareció. Eso significaba que tenía que usar el depurador win64 para averiguar lo que estaba mal. El depurador Win64 también viene en el SDK de la plataforma y puede ejecutarlo desde una máquina de 32 o 64 bits. Parece un depurador de Visual Studio reducido, y sólo funciona en modo remoto, en el que se instala un cliente de depuración en el ordenador de destino en el que se ejecuta la aplicación.

Después de revisar el código de Filemon durante media hora más o menos, finalmente me di cuenta de que mis procedimientos de Windows necesitaban declarar sus parámetros lparam como LPARAM- habían sido LARGOS debido a algún código copiado del SDK cuando escribimos la primera versión de Filemon en 1996. Curiosamente, el compilador no se había quejado de esto, pero significaba que cualquier puntero pasado como un lparam se truncaba. Esto se muestra en el controlador de WM_MEASUREITEM de Filemon, que interpreta el parámetro lparam como puntero a la estructura. Filemon estaba fallando en ese código. Increíblemente, cuando arreglé ese problema Filemon se ejecutó perfectamente en el Itanium. Tiempo total para el porteo: 1 hora.

Estoy trabajando en la portabilidad de Regmon ahora y, a continuación, portar DebugView. Ambos deben ser desafiantes, especialmente DebugView, que tiene un controlador bastante poco ordenado.

Descargue Filemon con el código fuente completo en http://www.sysinternals.com/ntw2k/source/filemon.shtml

FILEMON V1.1 PARA LINUX

Si ha visitado Sysinternals en los últimos meses probablemente se le sorprendió ver una nueva entrada en la barra de menús: Utilidades de Linux. Así es, decidí que sería bastante limpio tener Filemon ejecutándose en Linux. Ya había usado el entorno de Desarrollo rápido de aplicaciones (RAD) de Borland en Windows, por lo que cuando Kylix se lanzó (básicamente, Delphi para Linux) me di cuenta de que la GUI sería bastante sencilla.

La pregunta que seguía siendo cómo interceptar la actividad del sistema de archivos. La mayoría de las versiones de Unix, incluido Linux, implementan una llamada al sistema denominada ptrace() que permite a un proceso interceptar todas las llamadas al sistema realizadas por un proceso objetivo. Consideré la posibilidad de utiliza ptrace() para supervisar la actividad del sistema de archivos, y puede que modifique Filemon en el futuro para utilizarlo por razones que quedarán claras, pero decidí no hacerlo.

Los inconvenientes de usar ptrace() son que Filemon tendría que enumerar todos los procesos en ejecución y ejecutar un ptrace() en cada uno de ellos. Además, tendría que asociarse también a los procesos recién creados y la ptrace() funcionalidad no proporciona una manera de asegurarse de que no se pierdan las primeras llamadas del sistema ejecutadas por el nuevo proceso. Cuando un proceso que está siendo rastreado ejecuta una llamada al sistema, el sistema operativo lo bloquea, envía una señal al proceso de rastreo y espera a que éste permita que el proceso continúe. Esto puede causar una grave degradación del rendimiento si desea ver toda la actividad del sistema de archivos. Por último, el mayor inconveniente es que ptrace() cambia el comportamiento de los procesos rastreados. Mientras están siendo rastreados, el rastreador es el proceso padre, lo que significa que el padre real de un proceso rastreado no verá las notificaciones que normalmente vería cuando sus procesos hijos las provocan.

Hubiera estado bien si hubiera podido escribir un controlador de filtro de sistema de archivos (un controlador apilable en terminología Linux) como el que soporta el Administrador de E/S en Windows NT/2000/XP, pero la arquitectura actual del sistema de archivos Linux no soporta controladores de sistema de archivos apilables. Hay un parche llamado FiST que puedes aplicar para soportarlo (http://www.cs.columbia.edu/~ezk/research/fist/), y también hay un conjunto de herramientas de rastreo (http://www.opersys.com/LTT/index.html) para Linux, pero ambos requieren que los usuarios finales recompilen sus kernels, algo que yo quería evitar. Así que decidí implementar la supervisión mediante un controlador de enlace de llamadas del sistema, como Regmon funciona en Windows.

Hay dos preocupaciones que dificultan el proyecto que hacer lo mismo en Windows. La primera es que Linus Torvalds, padre de Linux y director de desarrollo de kernels de Linux, no cree en el uso de depuradores de kernels. Las razones son bastante ridículas (vea http://www.lib.uaa.alaska.edu/linux-kernel/archive/2000-Week-36/0575.htm l para leer la propia explicación de Linus) y es una de varias razones por las que el kernel de Linux tendrá mucho tiempo para mantenerse al día con Windows. Existen un par de depuradores de kernel no oficiales, pero requieren aplicar revisiones al kernel y requieren algún esfuerzo de uso. La segunda preocupación es que Linus no cree en garantizar la retrocompatibilidad con los controladores de dispositivos a medida que salen nuevos kernels. La consecuencia es que cualquier API exportada del kernel puede cambiar repentinamente, rompiendo los controladores existentes que utilizan la API y requiriendo que sean recompilados para nuevos kernels.

La falta de un depurador de kernel incorporado significaba que depuraba a través de sentencias de impresión de depuración (me imaginé que pasaría tanto tiempo depurando a través de printk -impresiones en modo kernel- como instalando y aprendiendo un depurador de kernel), y las cambiantes APIs y estructuras de datos del kernel significan que Filemon para Linux depende del kernel. Funciona en Red Hat 7.1 y 7.2 y SuSE Linux 7.1 y 7.2, y posiblemente en otras distribuciones comerciales, pero todavía tengo que idear una manera de aislar el controlador de cambios arbitrarios del kernel (uno que rompió una versión temprana del controlador fue el cambio de la convención de llamada de una función del kernel de estándar a fast-call).

Filemon para Linux tiene exactamente la misma interfaz que su homólogo para Windows y su aspecto es muy similar (véase la captura de pantalla en la página de Filemon para Linux). Mis conclusiones sobre la facilidad de desarrollar un filtro general de sistema de archivos no dependiente del núcleo para Linux deberían ser claras: es difícil, si no imposible. Por el contrario, los controladores apilables (de filtro) en cada dominio de controladores (redes, sistemas de archivos, almacenamiento, entrada, etc.) fueron soportados por la arquitectura de E/S de Windows NT desde el principio.

Descarga de Filemon para Linux en http://www.sysinternals.com/linux/utilities/filemon.shtml

SYSINTERNALS EN WWW.MICROSOFT.COM

Una vez más, esta es la última entrega de referencias de Sysinternals en los artículos de Microsoft Knowledge Base (KB) publicados desde el último boletín de noticias. Tenga en cuenta el que incluso tiene Filemon en su título. Esto lleva a 31 el número total de referencias de KB a Sysinternals. Puede encontrar una lista completa en http://www.sysinternals.com/ntw2k/info/mssysinternals.shtml

  • Se produce un mensaje de error de excepción fatal durante la configuración http://support.microsoft.com/support/kb/articles/Q273/9/18.ASP

  • FP2000: archivos de lista de tipos para controladores de base de datos está vacío http://support.microsoft.com/default.aspx?scid=kb; EN-US; Q308935

  • HOWTO: Solucionar el error 1928 "Error al registrar la aplicación COM+" http://support.microsoft.com/default.aspx?scid=kb; EN-US; Q308940

  • PRB: Conflicto con EOF al usar #import con ADO http://support.microsoft.com/support/kb/articles/Q166/1/12.ASP

  • PRB: ARCHIVOS DLL no descargados después de llamar a CoFreeUnusedLibraries http://support.microsoft.com/support/kb/articles/Q301/3/57.ASP

  • PRB: Error 80004005 "El motor de base de datos Microsoft Jet no puede abrir el archivo '(Desconocido)'" http://support.microsoft.com/support/kb/articles/Q306/2/69.ASP

  • PRB: FileMon muestra que DAO360.dll no se puede cargar MSJet49.dll, MSJet48.dll y otros archivos de MSJetxx.dll http://support.microsoft.com/support/kb/articles/Q306/3/86.ASP

  • SMS: El agente de inventario de software genera un mensaje de error de página no válido http://support.microsoft.com/support/kb/articles/Q302/6/51.ASP

INFORMACIÓN INTERNA

DENTRO DE WINDOWS 2000, EL DVD INTERACTIVO

Si te perdiste de los precios especiales de la versión preliminar de INSIDE Windows 2000, el tutorial interactivo de DVD sobre los internos de Windows 2000, ¡tenemos buenas noticias! Un PRECIO INTRODUCTORIO de $950, que es más del 25% de descuento del precio normal de un solo usuario, sigue estando disponible. Para ORDENAR AHORA, o para obtener más información sobre este emocionante producto nuevo de David Salomón y Mark Russinovich, vaya a http://www.solsem.com/dvd.html. También está disponible en un formato de distribución de red para el streaming de intranet

APUNTEN LAS FECHAS: RUSSINOVICH Y SOLOMON VUELVEN A ENSEÑAR JUNTOS EN SEATTLE Y BOSTON

Nuestra clase interna de Windows 2000/XP de 3 días en Austin el mes pasado fue un éxito de venta, por lo que hemos programado dos ofertas más: 17-19 de abril cerca de Seattle y el 12-14 de junio en Boston (el registro estará abierto pronto). La clase se basa en “Inside Windows 2000, 3rd Edition” y abarca subsistemas de entorno, distribución de llamadas del sistema, subprocesos del sistema, apagado e inicio, internos del Registro, procesos y programación de subprocesos, administración de memoria, seguridad, sistema de E/S, almacenamiento, NTFS y el administrador de caché. Al comprender el funcionamiento interno de Windows XP y 2000, puede aprovechar las ventajas de la plataforma de forma más efectiva y eficaz depurar y solucionar problemas. Para obtener información detallada, vea http://www.sysinternals.com/seminar.shtml.

ARCHIVOS DE MANIFIESTO DE WINDOWS XP

Uno de los cambios más visibles en Windows XP es la nueva apariencia proporcionada por el escritorio Luna. Luna es en realidad un "tema", y si ejecutas una aplicación que no sea compatible con temas (cualquier aplicación que no esté escrita específicamente para aprovechar los temas de Windows XP), la aplicación tendrá el aspecto antiguo de Windows 2000. Sin embargo, puede hacer que incluso las aplicaciones anteriores tengan el nuevo aspecto muy fácilmente, incluso cuando no tiene código fuente. Basta con crear un archivo de manifiesto XML para la aplicación que indica al cargador de Windows XP que esa aplicación desea utilizar la DLL de Common Control versión 6 (la comctl32.dll en %SystemRoot%\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1 df_6.0.0.0_x-ww_1382d70a) en lugar de la versión no consciente de la temática en %SystemRoot%\System32. Este es el archivo de manifiesto que hace que el Explorador de procesos v5.2 tenga en cuenta el tema:

<?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>

Cambie el nombre de la aplicación, la versión y la descripción de la aplicación que desea hacer compatible con los temas y, a continuación, guarde el archivo de modo que tenga el mismo nombre que el ejecutable de la aplicación, pero con ".manifest" añadido, por ejemplo procexp.exe.manifest. Si eres el desarrollador de la aplicación puedes incrustar el archivo de manifiesto en los recursos de la aplicación, como he hecho yo con el Explorador de procesos. Consulte el código fuente de Filemon para obtener un ejemplo de cómo hacerlo.

¿QUÉ HAY EN UN X-BOX?

Si has seguido recientemente el mundo de juegos de consola, casi seguramente sabes que la nueva consola X-Box de Microsoft ejecuta una versión modificada de Windows 2000. Durante un reciente viaje de investigación a Microsoft para la 4ª edición de nuestro libro sobre Windows XP, Dave Solomon y yo nos enteramos por el equipo de desarrollo de Windows 2000/XP de que el grupo de X-Box se había decidido por Windows 2000 para su soporte de controladores. Una vez tomada la decisión, los desarrolladores de X-Box recibieron una copia del árbol de código fuente de Windows 2000 y se marcharon, sin que el equipo de Windows 2000/XP volviera a tener noticias de ellos.

La X-Box tiene una versión reducida y muy modificada de Windows 2000 que cabe en sólo 512 KB de memoria. Se han eliminado todos los subsistemas no relevantes (originalmente eliminaron el subsistema Plug and Play para volver a añadirlo después de darse cuenta de que la carga de controladores dependía de él), sólo ejecuta un proceso y no tiene subsistema Win32 (sólo la API de X-Box). La consola X-Box sólo tiene 64 MB de memoria física y no admite memoria virtual, por lo que los gestores de memoria y caché de Windows 2000 son dos subsistemas que se eliminaron. Con modificaciones tan drásticas, hay que considerarlo un nuevo sistema operativo, no Windows 2000.

Puede obtener más información sobre los componentes internos de X-Box, GameCube y PS2 en http://www.e-insite.net/ednmag/index.asp?layout=article&articleid=CA185947&pubdate=12-20-01

ESTADÍSTICAS ALEATORIAS DE WINDOWS XP

Las siguientes estadísticas fueron publicadas por Microsoft en el sitio web de su OEM System Builder (en http://oem.microsoft.com, puede registrarse gratis) y pensé que encontraría algunas de ellas interesantes o divertidos.

Por cierto, el número de compilación de la versión final de Windows XP no cayó casualmente en 2600, sino que se falseó un poco (el número de compilación se incrementa cada vez que el sistema operativo se compila en el laboratorio de compilación, normalmente una vez cada día laborable). Fuentes internas afirman que el número iba dirigido a la comunidad 2600, un grupo poco unido de piratas informáticos (http://www.2600.com/), como mensaje que demuestra la confianza del equipo de XP en la seguridad de XP.

  • Número de días que se tardó en desarrollar Windows XP: 600 (20/dic/99 – 24/ago/01)
  • Número de miembros del equipo centrado: 5,736
  • Número de evaluadores por desarrollador: 1,4
  • Número de bebés nacidos durante el proyecto: 452
  • Número de becarios contratados: 504
  • Cantidad de macarrones consumidos durante 40 " reuniones informativas de Windows ": 6 000 lbs
  • Número de frappuccinos® servidos: 86.400
  • Dólares recaudados para la Casa Ronald McDonald de Seattle (organización benéfica local): 2 millones de dólares
  • Número de casos de prueba para la función de restauración del sistema: 1,6 millones
  • Número de casos de prueba de gráficos Direct3D ejecutados desde Windows XP RC1: 43.114.143
  • Número de aplicaciones cuya compatibilidad se ha comprobado: 5 500
  • Número de dispositivos compatibles: 12,000
  • Porcentaje de las aplicaciones para PC más populares distribuidas en los últimos tres años que serán compatibles con Windows XP: 90%
  • Número de pistas en el caso de prueba de Mediateca Digital más grande: 31,000
  • Duración en horas del archivo individual más largo capturado por Windows Movie Maker: 114
  • Número de idiomas a los que localizamos: 24 totalmente y 9 parcial
  • Número de países participantes en el lanzamiento el 10/25: Más de 50
  • Número de personas que asisten a eventos de lanzamiento en todo el mundo: más de 580.000 en asientos… más audiencias en línea 5.120 constructores de sistemas de todo el mundo

NUEVO WINDBG MEJORADO

Windbg es una interfaz gráfica para el soporte de depuración del kernel integrado en el kernel de Windows NT/2000/XP. Hasta hace un par de años, Windbg se ganaba con razón la reputación de ser escamoso y engorroso, pero eso ha cambiado desde que Microsoft se ha centrado en mejorarlo. La última versión de Windbg, disponible para su descarga gratuita en http://www.microsoft.com/ddk/Debugging/, ha mejorado enormemente con respecto a las versiones anteriores y es más fácil de usar. Hay algunas características nuevas que incluso los usuarios experimentados de Windbg podrían no tener en cuenta y dos comandos que son útiles para los administradores de sistemas que intentan diagnosticar bloqueos del sistema.

Una característica que hace que windbg más reciente sea muy fácil de usar es su compatibilidad con el servidor de símbolos de Microsoft. Un problema al examinar los volcados de memoria o la depuración de aplicaciones con Windbg ha sido que necesita tener instalados los archivos de símbolos de depuración correctos para la instalación. Con los paquetes de servicio, las revisiones y, posiblemente, los fallos de sistemas operativos diferentes (por ejemplo, Windows NT frente a Windows XP), esto puede resultar oneroso. Con el soporte del servidor de símbolos, sólo tiene que introducir la URL del servidor de símbolos de Microsoft en el cuadro de diálogo de ruta de símbolos de Windbg y Windbg descargará los símbolos del servidor bajo demanda y los almacenará en el directorio que especifique. El servidor de símbolos dispone de símbolos para Windows .NET Server Beta 3, Windows XP y XP release candidates, Windows 2000 y sus service packs y hot fixes, Windows NT 4, MDAC 2.1-2.7, IIS e ISA.

Los dos comandos que son útiles para depurar los volcados de fallos son !analyze y .dump. Ejecute !analyze (especifique el interruptor -v) para obtener un análisis automático, basado en la heurística, de un bloqueo. Este comando ya es bastante eficaz y, a medida que Microsoft incorpora más datos históricos de bloqueos reales, se volverá aún más preciso.

El .dump comando es útil tanto para la depuración en modo de usuario como para el análisis del volcado de memoria en modo kernel. En algunos entornos de servidor, especialmente los servidores web, puede identificar una pérdida de memoria u otro problema, pero no estar dispuesto a detener y reiniciar el servidor hasta que la causa esté aislada. En Windows XP y .NET Server, puede conectarse al proceso de servidor mediante Windbg, ejecutar el comando .dump para generar un archivo de volcado de memoria de usuario y, a continuación, desasociarlo (con el .detach comando), pausar el servidor solo brevemente. A continuación, un desarrollador puede tomar el archivo de volcado generado y analizarlo sin conexión.

De forma predeterminada, los sistemas de Windows Server generan un volcado de memoria completa, que es tan grande como la cantidad de memoria física presente en un sistema y, por tanto, puede ser muy grande. Sin embargo, puede cargar el volcado en Windbg y usar el .dump comando para generar una memoria o minivolcado de kernel más pequeño desde el volcado completo. Los archivos más pequeños son más fáciles de intercambiar y a menudo es todo lo que se necesita para aislar la causa de un fallo.

Descargue la versión más reciente de Windbg desde http://www.microsoft.com/ddk/Debugging/ y busque instrucciones sobre cómo configurar Windbg para obtener símbolos del servidor de símbolos de Microsoft en http://www.microsoft.com/ddk/debugging/symbols.asp

PRÓXIMAMENTE

USO DE BOOTVIS PARA GENERAR PERFILES DEL PROCESO DE ARRANQUE DE WINDOWS XP

Para ayudarles a afinar el proceso de arranque de Windows XP, el equipo de rendimiento de Windows XP instrumentó puntos clave del sistema operativo y desarrolló una herramienta llamada BootVis para mostrar las trazas de arranque. En un sorprendente movimiento han hecho que la herramienta esté disponible libremente. Es muy fácil de usar y muestra una cantidad asombrosa de detalles, incluida información sobre cuándo se inicializan los controladores, cuándo y dónde se produce la E/S de disco y cuándo se inician los servicios y las aplicaciones. La próxima vez que le muestre dónde puede obtenerlo y cómo usarlo.


Gracias por leer el boletín de Sysinternals.

Publicado el lunes 7 de enero de 2002 7:01 p. m. por ottoh

[Archivo de boletines ^] [< Volumen 3, Número 2] [Volumen 4, Número 2 >]