Cuando surgen los problemas.

Los problemas aparecen en cualquier sistema por bueno que sea y las redes bajo Windows Server 2003 no son una excepción. La solución de estos de forma rápida y permanente mejorarán la actividad de los servicios de la red.

Windows Server 2003 nos ofrece un conjunto de herramientas para el diagnóstico y resolución de los problemas.

En general el conocimiento del propio funcionamiento del sistema es una ayuda fundamental para poder solucionar cualquier problema que nos surga y aunque dicho conocimiento no tiene por que llegar a ser detallado si es importante quizás saber la diferencia del modo usuario y del modo kernel. Los procesos se ejecutan en cada uno de estos modos se comportan muy distintamente, en especial cuando surgen los problemas.

Los componentes más crítico se encuentran en el modo kernel, si uno de estos falla el sistema entero provoca un Stop error. Los componentes de modo usuario realizan llamadas a los de modo kernel para llevar a cabo la mayoría de tareas comunes y de la interoperatividad con el hardware. De este modo los componentes de modo kernel son capaces de controlar y limitar el comportamiento de los componentes del modo usuario. Si un componente en modo usuario falla, el kernel es capaz de manejar el error sin afectar a la integridad del sistema. El procesador es compatibla con la separación de los procesos que se ejecutan en cada modo restringiendo a los componentes en modo usuario que no cumplen con el modo kernel, limitando además el acceso físico a la RAM.

Modo Kernel

Modo de procesamiento en el kernel, ejecutivo, y los controladores de dispositivo trabajan. Este modo permite al código el acceso total a la memoria y al juego completo de instrucciones del procesador. Tanto el kernel cono los controladores se ejecutan en modo kernel. Los accesos permitidos al modo kernel y al modo usuario vienen definidos por la arquitectura del procesador.

El kernel o núcleo del sistema está definido en una arquitectura por capas. El kernel lleva a cabo las funciones del sistema a bajo nivel, programación de los threads (hilos), y emite interrupciones y excepciones. Controla el acceso del sistema al procesador o procesadores. El kernel también sincroniza las actividades entre los subcomponentes del nivel ejecutivo, y juega un papel en la resolución de problemas manejando las excepciones de hardware y otras funciones dependientes del hardware. El kernel trabaja codo a codo con el HAL (Hardware Abstraction Layer).

El nivel ejecutivo proporciona un mayor nivel de funciones de sistema operativo que el kernel, incluyendo la gestión de la memoria, gestión de hilos y procesos, y la seguridad. Las interfaces gráficas son usadas por las aplicaciones para interactuar con el usuario. Los controladores de dispositivos proporcionan una capa de abstracción entre otros componentes del kernel y una pieza particular de hardware.

El HAL es una capa fina de software que oculta, o abstrae, las diferencias de hardware al kernel. Así pues los distintos tipos de hardware aparecen como iguales ante el kernel. Esto permite al sistema operativo ser portable desde una plataforma de hardware a otra. Asimismo también proporciona rutinas que permieten a un controlador único ser compatible con el mismo dispositivo en todas las plataformas.

Los componentes del modo kernel se ejecutan en el procesador con un nivel privilegios elevados. Los errores y fallos en estos componentes suponen una parada del sistema con su Stop error, como contraste los errores en modo usuario pueden ser contenidos y que no afecten al funcionamiento de otros componentes del sistema.

Modo usuario

Modo de procesamiento en que las aplicaciones, servicios y subsistemas se ejecutan. Los procesos de este modo se ejecutan dentro de sus propios espacios de direcciones virtuales. No pueden acceder a muchas partes del sistema, como el hardware, la memoria no destinada a alguna aplicación, y otras partes del sistema cuyo acceso puedan comprometer la integridad del mismo. Los procesos en este modo están perfectamente aislados de los del modo kernel y de otros procesos de modo usuario. Los fallos aquí generalmente no pueden afectar a la estabilidad del sistema.

En un uso común, una aplicación es un proceso que se ejecuta en modo usuario e interactúa directamente con el usuario mediante el entorno gráfico de ventanas. Los servicios, similares a las aplicaciones, se ejecutan sin embargo en segundo plano y sin ofrecer una interfaz gráfica(normalmente). Frecuentemente los servicios agregan entradas en el registro de sucesos de Windows Server 2003, dando información a los administradores.

Aquéllas aplicaciones desarrolladas bajo .NET Framework se ejecutan bajo el CLR (common language rutine), que proporciona una colección de interfaces para el uso de las aplicaciones. El CLR proporciona una capa de protección superior y más allá de las ofrecidas a otros componentes del modo usuario, limitando el acceso de una aplicación al entorno del equipo y proporcionando control detallado a los administradores del acceso concedido a una aplicación. Similar al CLR el subsistema Win32 proporciona un juego robusto de interfaces que habilitan a las aplicaciones Win32 a llevar a cabo tareas dentro del sistema operativo. Sin embargo el CLR permite a las aplicaciones desarrolladas en .NET ejecutarse en cualquier plataforma que sea compatible con CLR., mientras que Win32 son menos portables.

Excepciones

Sucesos o eventos que ocurren dentro de un proceso cuando el resultado devuelto desde una función en particular está fuera de sus límites. No son errores; efectivamente, las excepciones son inesperadas, y en general no causan que una aplicación falle. De hecho, son una ocurrencia común en una aplicación. Sin embargo, todos los fallos son excepciones. Las aplicaciones bien diseñadas manejarán de forma transparente la mayoría de excepciones sin necesidad de intervención. Cuando ocurre una excepción, Windows Server 2003 localiza y ejecuta el código de manejador de excepción dentro de la aplicación.

La mayoría de excepciones son controladas por el desarrollador al escribir la aplicación. Así que cuando ocurre suele lanzar un mensaje de advertencia al usuario mientras ejecuta el código que la maneja. En el caso de excepciones no controladas desde la aplicación es Windows Server 2003 el encargado, mediante el servicio de informe de errores, de notificar al usuario del error y enviar un informe de error.

Las excepciones ocurren dentro de una normal ejecución de los procesos en modo kernel y normalmente son manejadas por el  componente de modo kernel en el que se produjo. Sin embargo, Windows Server 2003 trata de diferente forma las excepciones no manejadas en modo kernel de las no manejadas en modo usuario, ya que los procesos en modo kernel son potencialmente peligros para el sistema. Como prevención Windows responde con un Stop error si una excepción no manejada ocurre dentro de un componente de modo kernel. El Stop Error causa una parada del sistema deteniéndolo y mostrar el mensaje de STOP, que todos conocemos como pantalla azul (blue screen).