[Archivo de boletines ^] [< Volumen 3, Número 1] [Volumen 4, Número 1 >]
El volumen 3 del boletín interno de sistemas, número 2
http://www.sysinternals.com
Copyright (C) 2001 Mark Russinovich
20 de agosto de 2001: En este problema:
EDITORIAL
NOVEDADES DE SYSINTERNALS
- Explorador de procesos v5.1
- Controlar v2.0
- PsInfo v1.1
- PsExec v1.24
- PsLogList v2.07
- Diseño de origen de Windows XP
- DebugView v4.13
- PageDefrag v2.1, Contig v1.41
- Sysinternals en Microsoft
INFORMACIÓN INTERNA
- Dentro de Windows 2000, el DVD interactivo
- Marcar la fecha: Russinovich y Salomón enseñan juntos en Austin
- Administración de discos de línea de comandos
- Diapositivas de WINHEC 2001 en línea
- Nuevas interfaces del controlador de filtro del sistema de archivos en XP
- Bloquear Windows con una pulsación de tecla
- Captura previa de Windows XP
- Conexiones de Windows .NET
PRÓXIMAMENTE
- Mis experiencias de Itanium
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. Los productos winternals Software incluyen FAT32 para Windows NT 4.0, NTFSDOS Professional Edition (un controlador NTFS de lectura y escritura para DOS) y Recuperación remota.
Winternals está orgulloso de anunciar la versión 1.31 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 33.000 suscriptores.
Uso ordenadores en diferentes capacidades: como desarrollador de software; como usuario; y como administrador de sistemas (para mi propia red de sistemas de desarrollo y pruebas). Dado que quiero llegar al público más amplio para herramientas de freeware de Sysinternals y productos comerciales de Winternals, la mayoría de las utilidades tienen como destino como mínimo Windows NT 4 a Windows XP y muchos también se ejecutan en Windows 95 a través de Windows Me. La mayoría de las herramientas que escribo son a nivel de sistema, lo que significa que a menudo contienen código de casos especiales para una o más de las diversas variantes de Windows. Desafortunadamente, hay diferencias significativas entre la interfaz de usuario y el kernel entre la línea Windows NT y la línea Windows 9x, e incluso diferencias entre versiones de la misma línea.
He usado para realizar pruebas con varios sistemas de depuración, todos configurados para arrancar de forma múltiple los tipos de Windows enumerados y arrancar en una versión, probar y, a continuación, reiniciar en la siguiente. Además de ser lento, las pruebas a veces sesgarían al interferir con la eliminación de compilaciones intermedias de pruebas de utilidades que no había limpiado correctamente. Aunque todavía tengo una colección de sistemas de arranque múltiple para problemas de depuración, un producto innovador llamado VMWare (www.vmware.com) ha hecho que mis ciclos de pruebas sean más rápidos y fáciles.
VMWare es un entorno de máquina virtual que se usa para crear equipos virtuales (invitados) que se ejecutan sobre las instalaciones de Windows NT, Windows 2000 o Linux (hosts). Un invitado puede ejecutar la mayoría de las variantes de Windows, DOS y Linux. Su desconcertante para ver una versión de un sistema operativo se ejecuta encima de otra, especialmente cuando se hace una máquina virtual en pantalla completa, no hay prácticamente ninguna manera de detectar que no está sentado en la pantalla de un equipo Linux en lugar de la pantalla virtual de un equipo Linux que se ejecuta encima de Windows 2000, por ejemplo. Una máquina virtual es un cuadro impuesto por software que encapsula el sistema operativo y las aplicaciones que se ejecutan en la máquina virtual para que cuando intenten interactuar con el hardware que creen que está presente, el software de máquina virtual intercepta los accesos. El software de máquina virtual crea dispositivos virtuales que sirven como suplentes controlados cuidadosamente en hardware real o hardware virtual. Por ejemplo, cuando una aplicación que se ejecuta en una máquina virtual que se muestra en una ventana escribe en la memoria de visualización de la máquina virtual, el software de la máquina virtual actualiza el contenido de la ventana que representa la pantalla de la máquina virtual en lugar de permitir que el acceso toque la memoria de vídeo real. Si la máquina virtual se ejecutaba en modo de pantalla completa, el software de máquina virtual permitiría que estos accesos manipulen la memoria de vídeo directamente.
La funcionalidad de la máquina virtual hace que VMWare sea útil, ya que puede tener cualquier número de "sistemas de prueba" en torno a la unidad de disco duro. Lo que hace que VMWare sea aún más eficaz es el hecho de que puede "suspender" un equipo virtual, guardar su estado en el disco y luego reanudarlo más tarde, en segundos restaurando el estado que tenía cuando se suspendió. Pero eso no es todo. Hago un uso extenso de una característica denominada "discos no persistentes", que tiene VMWare inicia un equipo virtual con sus discos virtuales que contienen el contenido que ha definido (por ejemplo, con solo una instalación básica del sistema operativo) y, a continuación, realiza un seguimiento de los cambios para que pueda deshacerlos y revertir al estado de inicio. Si instaló versiones de prueba de una utilidad y, a continuación, necesito asegurarme de que estoy de vuelta en un estado limpio que no refleja ninguno de los cambios de la utilidad, simplemente deshago los cambios. También encuentro VMWare útil en los roles de administrador de usuarios y sistemas. Cada vez que descargo una aplicación que no estoy segura de que quiero mantener, en lugar de poner en peligro mi sistema de desarrollo o rellenarla con desechos que quedan atrás cuando desinstale una aplicación, simplemente pruébelo en una máquina virtual con un disco no persistente primero.
Hay algunos inconvenientes relativamente menores en la versión actual que me han impedido usar mis equipos de depuración reales tanto como yo. La primera es que, dado que las máquinas virtuales no admiten DirectX, no se puede ejecutar el depurador softICE de Numega, excepto con la máquina virtual en una resolución de pantalla de 640x480. El segundo es que la virtualización de puertos serie de VMWare está limitada de una manera que impide la depuración del kernel mediante Windbg o Kd entre el host y un invitado o entre invitados. Sin embargo, este último problema debe solucionarse en la siguiente versión principal de VMWare.
Lo que es especialmente interesante sobre VMWare es que, hasta que VMWare demostrara lo contrario, los científicos de equipos tenían predominantemente la creencia de que era imposible virtualizar la arquitectura x86 en software lo suficientemente bien como para ejecutar un sistema operativo sin modificar sin degradación prohibitiva del rendimiento. Los desafíos son significativos, especialmente en el área de la virtualización de dispositivos de hardware, y el éxito de VMWare se ve como un avance, tanto que VMWare publicó recientemente un documento "mejor de conferencia" sobre cómo implementaron la virtualización de dispositivos en la conferencia técnica de USENIX anual. Puede leer el documento en http://vmware1.m0.net/m/s.asp?HB4162878203X1075673X73339X.
Hablando de la Conferencia Técnica USENIX, también fui co-autor de un documento publicado allí, High-Performance Memory-Based servidores web: kernel y User-Space rendimiento (http://www.sysinternals.com/files/webserver.pdf). En el documento se describen algunas de las investigaciones innovadoras en las que participaba mientras trabajaba en IBM Research. Las contribuciones del trabajo se encuentran en el área de aceleración del servidor web en modo kernel, y además de contribuir a la arquitectura, yo era responsable de gran parte de la implementación en Windows NT y Windows 2000. El proyecto fue tan exitoso que hemos mantenido constantemente registros del mundo SPECWeb para el rendimiento de servicio web, su lanzamiento como un producto IBM en constante evolución llamado Acelerador de servidores web IBM Netfinity, y tanto Microsoft como la comunidad de Linux han incorporado varias de las ideas clave en sus propios productos (como IIS para Windows 2000 y Tux en Linux).
Por favor, pase el boletín de noticias a los amigos que cree que podrían estar interesados en su contenido.
Gracias
-Mark
NOVEDADES DE SYSINTERNALS
EXPLORADOR DE PROCESOS V5.1
El Explorador de procesos es el nuevo nombre de HandleEx, una utilidad multipropósito que muestra información detallada sobre los procesos, los archivos DLL que han cargado y los identificadores de los recursos del sistema operativo que tienen abiertos. Junto con su nuevo nombre, las versiones más recientes del Explorador de procesos presentan una gran cantidad de características nuevas, incluida la actualización automática eficaz, una columna de uso de CPU, la capacidad de cambiar las prioridades del proceso y la generación de informes de identificadores de sesión de procesos si el sistema es un servidor terminal. Además, muestra mucha más información sobre los procesos. Por ejemplo, puede ver la lista de servicios que se ejecutan dentro de un proceso (si procede), examinar las variables de entorno de un proceso y ver las líneas de comandos del proceso. Con una nueva opción de ordenación denominada "árbol de procesos", puede ver gráficamente las relaciones de elementos primarios y secundarios de los procesos, algo que puede ayudarle a identificar el propósito de un proceso. El Explorador de procesos se ejecuta en todas las versiones de Windows 9x, así como en Windows NT 4 a Windows XP.
Algo que puede no ser inmediatamente obvio desde la interfaz del Explorador de procesos es su capacidad para mostrar qué procesos tienen abierto un archivo o directorio determinado. Cambie la pantalla para controlar el modo y escriba el nombre del archivo o directorio en cuestión en el cuadro de diálogo de búsqueda. La característica de búsqueda se usa con más frecuencia para realizar un seguimiento del proceso que impide eliminar o cambiar el nombre de un archivo o directorio, pero puede usarlo para enumerar los procesos que también tienen archivos DLL específicos cargados.
Descarga del Explorador de procesos v5.1 en http://www.sysinternals.com/ntw2k/freeware/procexp.shtml.
HANDLE V2.0
Handle es la versión de la línea de comandos de la funcionalidad de visualización de identificadores del Explorador de procesos que permite ver los identificadores de los recursos del sistema operativo, como los archivos, que los procesos tienen abiertos. En algunos casos, el uso de Handle es una manera más rápida de identificar un proceso que tiene abierto un archivo o directorio que el uso de la instalación de búsqueda del Explorador de procesos, ya que simplemente escribe una parte del nombre del archivo o directorio en la línea de comandos Handle. Además de una búsqueda más eficaz de nombres de identificadores, Handle 2.0 ahora funciona en Windows 95/98/Me.
Descargue Handle v2.0 at http://www.sysinternals.com/ntw2k/freeware/handle.shtml.
PSINFO V1.1
La última adición al conjunto de herramientas administrativas PsTools es PsInfo. PsInfo es una herramienta de línea de comandos que informa de las características de hardware y sistema operativo de un equipo. Por ejemplo, indica qué sistema operativo se está ejecutando, incluido el número del Service Pack, la fecha de instalación y expiración (si procede) y la configuración (por ejemplo, controlador de dominio, servidor miembro). También enumera el tipo, la velocidad y el número de CPU en el equipo y la cantidad de memoria física instalada. Esta información hace que PsInfo sea útil para la identificación o el inventario del sistema. Al igual que todas las herramientas del conjunto PsTools, PsInfo se ejecuta en el equipo local o remoto de Windows NT, 2000 o XP.
Descargue PsInfo v1.1 en http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml.
PSEXEC V1.24
PsExec le permite iniciar procesos en sistemas remotos sin tener que instalar manualmente ningún software en el sistema remoto, siempre y cuando el sistema esté en su vecindario de red. La fuerza de PsExec se basa en su compatibilidad con la E/S del programa de consola redirigido, donde controla la entrada de teclado y la salida de texto del programa de consola remota como si estuviera ejecutándose en el sistema local.
La versión más reciente de PsExec admite varios procesos en ejecución en el mismo sistema remoto, lo que le permite abrir de forma remota varios símbolos del sistema en otro sistema, por ejemplo. También tiene una nueva opción "forzar copia" que le permite especificar que desea que PsExec copie un archivo en un equipo remoto para su ejecución, reemplazando cualquier versión existente.
Descargue PsExec v1.24 en http://www.sysinternals.com/ntw2k/freeware/psexec.shtml.
PSLOGLIST V2.07
PsLogList, otra utilidad de PsTools, vuelca los registros de eventos del sistema local o remoto. A diferencia de la eloglist, la herramienta Kit de recursos de Windows 2000 con el mismo propósito, PsLogList muestra la cadena de evento completa de un registro y, al volcar registros remotos, usa los archivos de recursos de cadena del registro de eventos desde el sistema remoto en lugar de desde el local.
La versión 2.07 de PsLogList incluye un modificador de línea de comandos para que pueda dirigirlo a volcar la información de registro de eventos extendidos (la información adicional que se puede asociar a un registro) y un nuevo modificador para que pueda ver los registros solo de los últimos días especificados.
Descargue PsLogList v2.07 en http://www.sysinternals.com/ntw2k/freeware/psloglist.shtml.
DISEÑO DE ORIGEN DE WINDOWS XP
¿Alguna vez se ha preguntado cómo organiza Microsoft el código fuente que compone el kernel de Windows NT/2000/XP? Yo también, y me di cuenta de que la información está disponible públicamente. Cada vez que Microsoft publica una nueva compilación de Windows 2000/XP, publica varias versiones:
- una versión "gratuita" del uiniprocesador
- una versión "gratuita " del uiniprocesador que admite más de 4 GB de memoria física
- una versión "gratuita" del multiprocesador
- una versión "libre" de varios procesadores que admite más de 4 GB de memoria física
- una versión de multiprocesador "activada"
- una versión de multiprocesador "activada" que admite más de 4 GB de memoria física
Para un total de 6 versiones. Lo que distingue a la versión "libre" de la " comprobada " no es el hecho de que la versión "libre" sea gratuita (no lo es), sino que la versión "comprobada", que se incluye en el conjunto de CD de MSDN, incluye código y datos que ayudan a depurar el sistema operativo y los controladores de dispositivos. La versión "gratuita" simplemente se compila sin el código adicional que se incluye en las instrucciones de compilación condicional.
Algunos ejemplos del código comprobado adicional incluyen instrucciones de impresión de depuración que informan de lo que hace el sistema operativo, comprobaciones de coherencia más rigurosas en los parámetros pasados a funciones en modo kernel de controladores de dispositivo e instrucciones "aserción". Una instrucción assert valida la suposición de un desarrollador sobre las condiciones que se aplican a un área de código. Por ejemplo, si un puntero debe apuntar a una estructura de datos con una firma de identificación, un desarrollador podría insertar una aserción en ese efecto. ¿Qué ocurre cuando se infringe la suposición de la aserción? Esto depende de la aserción, pero en el caso de los incluidos en las compilaciones comprobadas, se imprime un mensaje de salida de depuración y, a continuación, se desencadena un punto de interrupción del depurador para que el depurador del kernel se active (o, si no hay ningún depurador activo, se produce un bloqueo que, con suerte, genera un archivo de volcado que se puede examinar más adelante).
Para facilitar la identificación de los problemas detectados por aserciones, las aserciones usadas en la compilación seleccionada imprimen el archivo, la función y el número de línea de la ubicación de la aserción. Puedo mostrar el diseño del árbol de origen extrayendo estas cadenas con mi utilidad de extracción de cadenas "cadenas" y organizándolas en una vista de árbol de Java.
Vea el diseño de origen de Windows XP y obtenga más información sobre las aserciones en http://www.sysinternals.com/ntw2k/info/xpsrctree.shtml (tenga en cuenta que el IE mostrará una advertencia sobre la carga lenta de la página. Desactívelo y verá el árbol).
DEBUGVIEW V4.13
DebugView es una utilidad para desarrolladores que permite capturar la salida de depuración de aplicaciones o controladores en el sistema local o uno remoto, incluso desde varios sistemas simultáneamente. Esta versión más reciente agrega compatibilidad con Windows XP RC 1. DebugView funciona en Windows 9x, Windows Me, Windows NT, Windows 2000 y Windows XP.
Descargue DebugView v4.13 en http://www.sysinternals.com/ntw2k/freeware/debugview.shtml.
PAGEDEFRAG V2.1, CONTIG V1.41
La clasificación en la parte superior de las descargas de Sysinternals más populares son PageDefrag y Contig. PageDefrag desfragmenta los archivos de datos del núcleo del sistema en el arranque y Contig es una utilidad de desfragmentación de archivos de línea de comandos. Las versiones más recientes de estas herramientas tienen un motor de desfragmentación mejorado para Windows 2000 y cada una tiene algunas de sus propias mejoras.
Además de desfragmentar archivos de registro y paginación, la versión más reciente de PageDefrag también desfragmenta los archivos de registro de eventos. Y similar a Chkdsk en Windows 2000, PageDefrag ahora tiene un recuento de 3 segundos hacia abajo durante el proceso de arranque durante el cual puede presionar cualquier tecla para que se omita la desfragmentación.
Lo que hace que Contig sea único es el hecho de que se puede usar para desfragmentar archivos individuales, directorios completos o un disco completo. Contig está dirigido a optimizar archivos concretos que son críticos para el rendimiento de la aplicación porque, a diferencia de los desfragmentadores comerciales, no consolida el espacio libre para ayudar a evitar la fragmentación futura en un disco. Además del motor de desfragmentación mejorado, el nuevo Contig tiene un mejor formato de salida tanto en modos no detallados como detallados.
Descargue PageDefrag v2.1 en http://www.sysinternals.com/ntw2k/freeware/pagedefrag.shtml.
Descargue Contig v1.4 en http://www.sysinternals.com/ntw2k/freeware/contig.shtml.
SYSINTERNALS AT 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. Esto lleva a 27 el número total de referencias de KB a Sysinternals.
0x8000FFFF Mensaje "Error catastrófico" con el controlador ODBC de SQL Server
http://support.microsoft.com/support/kb/articles/Q243/3/49.ASPACC: Mensaje de error: El componente ActiveX no puede crear el objeto
http://support.microsoft.com/support/kb/articles/Q296/2/05.ASPHOWTO: Determinar la versión de MSXML usada por Internet Explorer
http://support.microsoft.com/support/kb/articles/Q296/6/47.ASPHOWTO: Solución de problemas de "ADODB. Connection" Error 800a0bb9 de Recordset DTC
http://support.microsoft.com/support/kb/articles/Q197/3/23.ASPINFO: Guía de solución de problemas de 80004005 y otros mensajes de error
http://support.microsoft.com/support/kb/articles/Q183/0/60.ASPXADM: Los mensajes de identificador de evento 3036 y 3026 se producen al rellenar el almacén de buzones
http://support.microsoft.com/support/kb/articles/Q296/1/36.ASP
INFORMACIÓN INTERNA
DENTRO DE WINDOWS 2000, EL DVD INTERACTIVO
Dave Salomón y yo escribimos "Inside Windows 2000, 3rd Edition", la guía oficial de los elementos internos y la arquitectura de Windows 2000, y nos complace anunciar el lanzamiento inminente del tutorial de DVD "Inside Windows 2000". En realidad, el tutorial consta de 5 DVD con más de 9 horas de contenido que consta de Dave y me enseñando los trabajos internos de Windows 2000 en un entorno informal.
Los temas tratados incluyen administración de memoria, procesos y subprocesos, almacenamiento, sistemas de archivos, redes y mucho más, y cada uno se divide en módulos de 10 a 20 minutos para una visualización cómoda. La presentación incluye docenas de diagramas, demostraciones, capturas de pantalla y listas de resumen, y cada módulo concluye con preguntas de revisión para probar y solidificar su comprensión.
Los precios finales y la fecha de lanzamiento aún no se han finalizado, pero si desea recibir una notificación de la versión, envíe un correo electrónico a mailto:video@...
con la palabra "interés" en el asunto. O bien, veahttp://www.sysinternals.com/video/ para más detalles.
MARCAR LA FECHA: RUSSINOVICH Y SALOMÓN ENSEÑA JUNTOS EN AUSTIN
Si está interesado en el conjunto de DVD, sin duda le interesará tener la oportunidad de vernos a Dave y a mí enseñando NT internals en directo. Ven a Austin, TX 11-13 para escucharnos presentar nuestra clase de arquitectura interna de Windows XP/2000/NT de 3 días. 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.
Cuando los detalles estén disponibles, le informaremos en el boletín informativo y en el sitio web, así que manténgase atento!
ADMINISTRACIÓN DEL DISCO DE LA LÍNEA DE COMANDOSMNT
Cediendo a la presión de los administradores de sistemas, Microsoft ha lanzado finalmente una herramienta de línea de comandos para la administración de discos en Windows 2000. DiskPart permite crear volúmenes o particiones, crear e interrumpir reflejos, ampliar volúmenes y examinar los detalles de los discos, volúmenes y particiones. Lo bueno es que DiskPart es una descarga gratuita desde http://www.microsoft.com/downloads/release.asp?ReleaseID=31167.
DIAPOSITIVAS EN LÍNEA DE WINHEC 2001
Si ha perdido la Conferencia anual de ingeniería de hardware de Windows (WINHEC) de Microsoft, puede ver las diapositivas de muchas de las presentaciones. Visite http://www.microsoft.com/winhec/sessions/driver.htm para obtener una lista de sesiones, descripciones y vínculos complementarios a las barajas de Power Point. Las presentaciones de interés general son las relativas a técnicas de depuración de controladores, controladores de filtro y controladores de minipuerto e intermedios NDIS.
NUEVAS INTERFACES DE CONTROLADOR DE FILTRO DEL SISTEMA DE ARCHIVOS EN XP
Si tiene un producto de administración de almacenamiento jerárquico basado en un controlador de filtro del sistema de archivos en tiempo real, comprobar el virus de acceso o el producto de administración de almacenamiento jerárquico que se basa en un controlador de filtro del sistema de archivos, querrá asegurarse de que su versión más actualizada de los cambios que Microsoft ha introducido en Windows XP que le afectan.
El mayor cambio se relaciona con las rutinas de E/S rápidas, las funciones especiales que registra un controlador del sistema de archivos para que el administrador de memoria, el Administrador de caché y el sistema de E/S puedan ejecutar E/S del sistema de archivos e interactuar con controladores del sistema de archivos sin tener que generar IRP. Puede ser una sorpresa para algunos de ustedes averiguar que hay 6 rutinas de E/S rápidas para las que siempre se omiten los controladores de filtro del sistema de archivos. Son las siguientes:
FastIoAcquireFileExclusive
FastIoReleaseFile
FastIoAcquireFileForCcFlush
FastIoReleaseFileForCcFlush
FastIoAcquireFileForModWrite
FastIoReleaseFileForModWrite
El Administrador de memoria llama FastIoAcquireFileExclusive
y FastIoReleaseFile
antes y después de crear una sección respaldada por un archivo, y otros subsistemas en modo kernel pueden llamar a estas rutinas para impedir temporalmente la creación de secciones. El Administrador de caché llama FastIoAcquireFileForCcFlush
y FastIoReleaseFileForCcFlush
antes y después de vaciar todos o parte de los datos almacenados en caché modificados de un archivo en el disco, y el Administrador de memoria llama FastIoAcquireFileForModWrite
y FastIoReleaseFileForModWrite
antes y después de escribir páginas de archivo asignadas desfasadas en un archivo.
En lugar de invocar funciones de E/S rápidas directamente, los subsistemas en modo kernel usan rutinas de tiempo de ejecución del sistema de archivos suplentes (FsRtl). Las rutinas en tiempo de ejecución para las funciones de E/S más rápidas invocan controladores de filtro obteniendo una referencia a su objeto de dispositivo de filtro a través de una llamada a en el objeto de archivo de destino y, a continuación, llamando a IoGetRelatedDeviceObject
la rutina de E/S rápida correspondiente del filtro, pero las rutinas en tiempo de ejecución relacionadas con las llamadas de E/S rápidas que se enumeran en su lugar llaman IoGetBaseFileSystemDeviceObject
a , que devuelve el objeto de dispositivo del controlador del sistema de archivos subyacente. La razón por la que el tiempo de ejecución omite los filtros de estas funciones es, en mi opinión, un poco lame: el tiempo de ejecución simplemente no confía en los controladores de filtro. Si un filtro no pasa estas llamadas al controlador del sistema de archivos subyacente, provoca daños en los datos del sistema de archivos y casi ciertamente un bloqueo. Pero hay muchas cosas que un controlador de filtro puede hacer para causar bloqueos.
En Windows XP, el FsRtl presenta una nueva función, FsRtlRegisterFileSystemFilterCallbacks
, que filtra los controladores para registrar devoluciones de llamada para estas diversas operaciones. Esto permite que los controladores de filtro del sistema de archivos examinen estas operaciones e incluso los produzcan errores, y el tiempo de ejecución puede garantizar que el controlador del sistema de archivos subyacente siempre se invoque cuando sea adecuado. ¿Dónde puede encontrar la documentación de la función? El Kit del sistema de archivos instalable de Windows XP, que está disponible para $995 de Microsoft: http://www.microsoft.com/ddk/ifskit/XPdefault.asp.
BLOQUEO DE VENTANAS CON UN TRAZO DE CLAVE
Hace algunos boletines le dije cómo podría agregar una configuración al Registro de Windows 2000 que le permite iniciar un bloqueo Bluescreen de un sistema en ejecución con una secuencia de claves especial, lo que le permite analizar sistemas que, de lo contrario, no responden a la entrada. ¿Cómo bloquear Windows NT y Windows 2000 sin tener que establecer nada en el Registro?
Abra una ventana del símbolo del sistema, cambie el directorio actual a la raíz de la unidad de arranque (la unidad con \winnt
en ella) y escriba dir /s
. Mientras se ejecuta, escriba F7+Entrar varias veces y, a continuación, anule la lista escribiendo Ctrl-C. Encontrará inmediatamente una pantalla azul o un reinicio espontánea. Genial, ¿verdad? Desafortunadamente, a diferencia del truco que he notificado anteriormente, este no es el comportamiento diseñado, sino un error para el que puede encontrar un informe en http://www.WindowsITsecurity.com/articles/index.cfm?articleID=22037.
Para aquellos de usted que han perdido el boletín que incluía la configuración de bloqueo de pulsación de teclas, agregue el siguiente valor del Registro a su Registro de Windows 2000 o XP según las instrucciones del archivo de ayuda de herramientas de depuración de Microsoft:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters\CrashOnCtrlScrll DWORD 1
Reinicie y puede bloquear el sistema escribiendo el bloqueo de desplazamiento dos veces mientras mantiene presionada la tecla de control izquierdo.
CAPTURA PREVIA DE WINDOWS XP
Microsoft ha centrado Windows XP en mejorar la experiencia del usuario final y los usuarios consideran una gran parte de la experiencia a la que se activa un equipo y es utilizable. Por lo tanto, los desarrolladores de Microsoft han dedicado mucho esfuerzo a mejorar el rendimiento del proceso de arranque y el inicio de la aplicación. Se han abordado de varias maneras: la primera es que los controladores de dispositivos de red y serie se inicializan en paralelo, a diferencia de Windows 2000 donde inicializan en serie. En segundo lugar, Winlogon ya no espera a que el servicio de estación de trabajo (que en sí espera en los servicios de red) esté disponible antes de presentar el cuadro de diálogo de inicio de sesión y permitir que un usuario inicie sesión. Por último, han incorporado una técnica denominada "captura previa" en el proceso de arranque y el inicio de la aplicación. Voy a explicar brevemente cómo funciona la captura previa y le señalaré en una notas del producto publicadas por Microsoft en optimizaciones de arranque.
Windows (todas las versiones excepto win3.1 en modo real) es un sistema operativo paginado a petición, donde los datos de archivo y el código se "han generado errores" en la memoria desde el disco, ya que una aplicación intenta acceder a él. Los datos y el código se produce en fragmentos pormenorizados de "página" en los que el tamaño de una página viene determinado por el hardware de administración de memoria de la CPU. Una página es de 4 KB en x86. La captura previa es el proceso de traer datos y páginas de código a la memoria del disco antes de que se demande.
Para saber lo que debe capturar previamente, XP Cache Manager supervisa los errores de página que incurren las aplicaciones a medida que se inician. De forma predeterminada, realiza un seguimiento de los primeros 2 minutos del proceso de arranque y los primeros 10 segundos de inicio de la aplicación. Después de recopilar un seguimiento organizado en errores tomados en el archivo de metadatos de tabla de archivos maestros NTFS (MFT) (si la aplicación tiene acceso a archivos o directorios en volúmenes NTFS), los archivos a los que se hace referencia y los directorios a los que se hace referencia, notifica al componente de captura previa del Programador de tareas mediante la señalización de un objeto de evento con nombre. El Programador de tareas realiza una llamada a NtQuerySystemInformation con un tipo de información que especifica una consulta para un seguimiento y la lee. Después de realizar el procesamiento posterior en los datos de seguimiento, el Programador de tareas lo escribe en un archivo en \Windows\Prefetch
. El nombre del archivo es el nombre de la aplicación a la que se aplica el seguimiento seguido de un guión y la representación hexadecimal de un hash de la ruta de acceso del archivo. El archivo tiene una extensión ".pf", por lo que un ejemplo sería NOTEPAD.EXE-AF43252301.PF.
Una excepción a la regla de nombre de archivo es el archivo que almacena el seguimiento del arranque, que siempre se denomina NTOSBOOT-B00DFAAD.PF
(una convolución de la palabra compatible hexadecimal "BAADF00D", que los programadores suelen usar para representar datos no inicializados). Los errores realizados en los procesos Sistema o Inactivo se consideran parte del arranque, lo que tiene sentido, ya que está en el proceso del sistema que los controladores de dispositivo cargan e inicializan.
Cuando se inicia el arranque o una aplicación ejecuta el Administrador de procesos, llama al Administrador de caché para darle la oportunidad de realizar la captura previa. El Administrador de Caché busca en el directorio de captura previa para ver si existe un archivo de seguimiento para el escenario de captura previa en cuestión. Cuando el Administrador de caché llama a NTFS para capturar previamente las referencias de archivo de metadatos de MFT, lee en el contenido de cada uno de los directorios a los que se hace referencia y, por último, abre cada archivo al que se hace referencia y usa el Administrador de memoria para leer en los datos y el código especificado en el seguimiento que aún no está en memoria. El Administrador de memoria inicia todas las lecturas de forma asincrónica y, a continuación, espera a que se completen antes de permitir que el inicio de una aplicación continúe.
¿Cómo proporciona este esquema una ventaja de rendimiento? La respuesta se encuentra en el hecho de que, durante el arranque normal o el inicio de la aplicación, el orden de los errores se produce de modo que algunas páginas se traían de una parte de un archivo, luego otra, algunas de un archivo diferente, luego algunas de un directorio, etc. Este salto se corresponde directamente con el salto en el disco y Microsoft ha aprendido a través del análisis de que los tiempos de búsqueda de disco son un factor dominante que ralentiza los tiempos de arranque y inicio de la aplicación. La búsqueda se elimina virtualmente cuando se captura previamente las lecturas en los datos de un archivo o directorio concretos a la vez antes de pasar a otro.
Para minimizar aún más la búsqueda, cada tres días, el Programador de tareas organiza una lista de archivos y directorios en el orden en que se hace referencia a ellos durante un inicio de arranque o aplicación y almacena la lista en un archivo denominado \Windows\Prefech\Layout.ini
. A continuación, inicia el desfragmentador del sistema con una opción de línea de comandos que indica al desfragmentador que desfragmente en función del contenido del archivo en lugar de realizar una desfragmentación completa. El desfragmentador encuentra un área contigua en un volumen lo suficientemente grande como para contener todos los archivos y directorios enumerados y, a continuación, los mueve al área para que se almacenen uno después del otro.
Estos son los conceptos básicos del esquema de captura previa XP, que Microsoft informa de que acelera significativamente el proceso de arranque (en realidad puede ver que XP arranca mucho más rápido que Windows 2000). Puede encontrar más información sobre la captura previa y las otras mejoras de arranque rápido en una notas del producto en . http://www.microsoft.com/hwdev/fastboot/. Además, Dave Salomón y yo hemos empezado a trabajar en la revisión XP de "Inside Windows 2000" (para publicación en mediados de primavera), y encontrará una descripción aún más detallada allí.
CONEXIONES DE WINDOWS .NET
Los que me han perdido en TechEd pueden oírme hablar en la conferencia de Conexiones de Windows .NET en Scottsdale, Arizona el 3 de octubre. Estoy entregando presentaciones en el análisis de volcado de memoria de Windows NT/2000 y los cambios de kernel en Windows XP. Otros oradores de la conferencia incluyen a otros editores colaboradores de Windows 2000 Magazine Mark Minasi y Sean Daily. Hágame saber si asiste a que ha oído hablar de la conferencia del boletín informativo.
Puede ver los resúmenes de mis conversaciones y encontrar un vínculo al sitio conexiones de Windows .NET en http://www.sysinternals.com/ntw2k/info/talk.shtml.
PRÓXIMAMENTE
MIS EXPERIENCIAS ITANIUM
Microsoft me ha prestado un sistema Itanium para poder migrar utilidades Sysinternals a Win64. La máquina tiene algunas especificaciones impresionantes, por cierto: procesadores de 733 MHz y 8 GB (!) de RAM. La próxima vez que le contaré sobre mis experiencias de portabilidad, incluidos los cambios que he tenido que realizar en varias utilidades para que funcionen en Win64.
Gracias por leer el Boletín de Sysinternals.
Publicado el lunes 20 de agosto de 2001 7:03 p. m. por ottoh
[Archivo de boletines ^] [< Volumen 3, Número 1] [Volumen 4, Número 1 >]