Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Apuntes sobre Windows NT Parte1, Apuntes de Sistemas Operativos

Apuntes de Sistemas Operativos sobre Windows NT, Nuevo entorno, Novedades de Windows NT, Windows NT 4.0 Workstation, Servicios clientes para Netware, Modelo de objetos de componentes distribuidos.

Tipo: Apuntes

2013/2014

Subido el 20/01/2014

Jaime_89
Jaime_89 🇩🇴

4.5

(107)

475 documentos

Vista previa parcial del texto

¡Descarga Apuntes sobre Windows NT Parte1 y más Apuntes en PDF de Sistemas Operativos solo en Docsity! 1. PRIMEROS PASOS CON EL NUEVO SISTEMA Ya al iniciar Windows NT, se observa que no tiene nada que ver con sistemas del tipo de Windows 95, sino que se trata de un sistema completamente independiente. En la primera pantalla, ya se muestra como un sistema operativo multiusuario: es necesario identificarse. Sin la autorización de acceso al sistema no existe ninguna posibilidad de trabajar con este sistema operativo. Una vez arrancado el sistema, Windows NT mostrará su nuevo entorno de Windows 95. Si ya ha trabajado con Windows 95, se orientará rápidamente. Para los usuarios que utilizan por primera vez este entorno ofrezco en las páginas siguientes un resumen de los aspectos más importantes. 1.1 El Nuevo entorno Si anteriormente ha trabajado con Windows 3.11 o versiones anteriores de Windows NT, estos primeros pasos con el nuevo entorno le resultarán algo inusuales. Es inútil buscar el Administrador de programas de las anteriores versiones de Windows, así como el Administrador de archivos. En su lugar podrá ver un área de trabajo(escritorio) con iconos de programas. En el extremo inferior de la pantalla de presenta una barra gris con el botón Inicio. Esta barra se llama barra de tareas. Con el fin de aclarar la idea del nuevo entorno, cabe señalar que no existe ninguna diferencia conceptual entre un archivo (gestionado con el Administrador de archivos) y un programa (gestionado con el Administrador de programas). En su lugar los exploradores muestran todos los archivos y programas conjuntamente. Para iniciar un programa o abrir un archivo no hace falta saber donde es encuentra este exactamente dentro de la estructura de una unidad concreta. Simplemente basta con pulsar en el acceso directo a ese archivo situado en el escritorio o en el menú de Inicio. El administrador de programas de Windows 3.x ha sido absorbido por la barra de tareas en Windows 95 y Windows NT 4.0. En el menú Programas encontrará tanto aplicaciones que se pueden iniciar directamente, como otros menús que recuerdan a los grupos de programas de las anteriores versiones Windows. Sin embargo, el menú Inicio ofrece mucho más: El menú Documentos muestra una lista de los últimos 10 archivos que han sido editados. Con el menú Configuración se activa el Panel de control y la administración de impresoras. Con el menú Buscar podrá buscar un archivo, una carpeta o un ordenador en la red. El menú Ayuda ofrece un resumen de las funciones más importantes del entorno de Windows NT 4.0. Existe un comando Ejecutar, con el cual se pueden iniciar programas desde el disco duro o desde la unidad de disquete indicando o seleccionando el nombre de archivo exacto y la ruta de acceso. En el extremo derecho de la barra de tareas, Windows NT 4.0 muestra en un pequeño cuadro la hora actual. Este cuadro contiene iconos para componentes del sistema, como impresoras, modems o programas del sistema. 1 El administrador de Archivos de Windows 3.x también se localiza fácilmente. Tiene un aspecto distinto y ahora se denomina Explorador. Este es una ventana dividida en dos partes: En la parte izquierda, el árbol de directorios completo con todas las unidades locales y de red disponibles. En la parte derecha, las carpetas o archivos de la unidad o de la carpeta seleccionada. La mejor forma de realizar operaciones con archivos, como copiar o mover, es mediante el ratón. Por ejemplo para eliminar un archivo basta con arrastrarlo hasta la Papelera de reciclaje. Cabe destacar también la función del botón derecho del ratón, que ofrece menús contextuales con los comandos disponibles, está operativo en cualquier lugar del escritorio. Pulsando dicho botón en un lugar vacío del escritorio se pueden editar las propiedades del mismo: diseño del fondo, protector de pantalla o propiedades generales de las ventanas. Resumiendo lo dicho hasta ahora podemos decir que el nuevo entorno de Windows esta ampliamente orientado a objetos. Para finalizar el trabajo con Windows NT pulse el botón Inicio y elija la opción Apagar el sistema. Posteriormente le aparecerá el cuadro de diálogo Salir de Windows, donde podrá decidir si quiere: Apagar el equipo. Reiniciar el equipo. Iniciar la sesión como un usuario distinto. 1.2 Novedades de Windows NT 4.0 Windows NT 4.0 Workstation El nuevo entorno Windows NT 4.0 contiene ahora el entorno de Windows 95.Con ello, no sólo adquiere un nuevo aspecto, sino que también toda la funcionalidad de ese entorno. Internet Explorer Windows NT se suministra ahora junto con el navegador WWW Internet Explorer. Microsoft Exchange Microsoft Exchange es un programa con el que se puede controlar y administrar toda la comunicación electrónica desde un solo programa de aplicación. A diferencia de Windows 95, Exchange no dispone de controlador de fax integrado. Perfiles de hardware Con perfiles de hardware es posible guardar diversas configuraciones y abrirlas fácilmente mediante sus nombres. 2 que utilizan exclusivamente el software cliente de Microsoft ahora pueden darse de alta al árbol NDS de una red Netware 4.11 a través del servidor NT. Soporte de servidor PPTP Windows NT Server soporta el protocolo PPTP, que en comparación con PPP garantiza una gran seguridad en redes RAS. De esta forma, las redes Windows NT pueden combinarse a través de Internet con Redes virtuales personales (VPN). Editor de directivas de sistema Con el editor de directivas de sistema podrá controlar la configuración de ordenadores e instalar un entorno de trabajo unitario en los ordenadores cliente. Monitor de red Con el monitor de red puede comprobar y analizar a nivel de paquetes el flujo de datos enviados y recibidos en el servidor NT. Asistentes de administración Este asistente hará la vida un poco más fácil a los administradores del sistema, haciendo las tareas rutinarias. De este modo resulta muy sencillo, por ejemplo, instalar nuevos usuarios, compartir recursos o administrar licencias, impresoras o modems. 2 CARACTERISTICAS PRINCIPALES DE WINDOWS NT A continuación se explicaran las principales características de Windows NT de forma no muy extensa (simplemente para tener una noción desde el principio), ya que posteriormente serán explicadas de manera minuciosa algunas de ellas. Las principales directrices usadas en el desarrollo de Windows NT fueron, fiabilidad, rendimiento, portabilidad, compatibilidad, escalabilidad y seguridad. FIABILIDAD Está especialmente indicado para estaciones de trabajo y servidores de red, los cuales necesitan el máximo rendimiento. Esta versión de Windows NT mejora las versiones anteriores proporcionando las siguientes características en fiabilidad: Modelo cliente−servidor interno. Windows NT es un sistema operativo de 32 bits, proporciona la seguridad de que, cuando se ejecuten las aplicaciones de usuario no lo hagan en la zona de memoria que tiene asignado el núcleo del sistema, llamado Kernel. Modelo de memoria plana de 32 bits. Un verdadero sistema operativo de 32 bits, Windows NT proporciona un modelo de 32 bits de memoria plana, lo que permite al sistema operativo un acceso a 4 GB de memoria. Con este sistema las aplicaciones se ejecutan independientemente en su zona de memoria, impidiendo que otros programas sobrescriban accidentalmente sus zonas de memoria, que es la causa más común de las caídas de los sistemas. 5 Modelo multitarea . Windows NT utiliza la multitarea preferente para garantizar que todas las aplicaciones que se están ejecutando pueden ejecutar los recursos de la CPU en todo momento. Es decir, evita que algunas aplicaciones monopolicen el uso de la CPU o paren totalmente el sistema por la ejecución de aplicaciones erróneas. Sistema de ficheros transnacional (NTFS). El sistema de archivos NTFS de Windows NT es un sistema de ficheros avanzado y robusto que proporciona una mayor fiabilidad. RENDIMIENTO Windows NT fue también diseñado para ser un sistema operativo de alto rendimiento. Características que contribuyen a esto son: Diseño real en 32 bits. Todo el código de Windows NT está escrito en 32 bits, lo que le proporciona mucha más velocidad que los sistemas operativos escritos con tecnología de 16 bits. Características de multitarea y multiproceso. Windows NT proporciona multitarea preferente, lo que permite una ejecución simultánea de todos los procesos, además soporta varias CPU lo que eleva su rendimiento. Soporte de CPU RISC. Windows NT fue diseñado a independencia del hardware, no sólo soporta CPU basadas en INTEL, sino que soporta diferentes tipos de CPU como Poder PC, DEC Palpa y MIS. PORTABILIDAD En el pasado los sistemas operativos eran diseñados para plataformas hardware propias, como por ejemplo la familia Intel x86. Desgraciadamente esto impedía a los sistemas operativos ser capaces de aprovechar las ventajas de nuevos chips. Portabilidad en Windows NT significa que este sistema operativo puede utilizarse con diferentes tipos de hardware sin necesidad de reescribir el código completamente de nuevo. Windows NT proporciona las siguientes características en portabilidad: Arquitectura de micro−Kernel modular. Windows NT posee un diseño modular lo que le proporciona independencia del hardware. El único código específico del hardware reside en el HAL (Hardware Abstraction Layer), que consta de una pequeña porción de todo el sistema operativo. El HAL opera a bajo nivel traduciendo las operaciones de bajo nivel del sistema operativo a funciones que pueden ser entendidas por el hardware específico que se está utilizando. Sistemas de archivos configurables. Otra de las características de Windows NT que aumenta sus posibilidades de portabilidad es su capacidad de soportar diferentes sistemas de archivos. Actualmente soporta FAT usado en sistemas DOS, HPFS usado en sistemas OS/2, NTFS sistema de archivos de NT, CDFS sistema de archivo de CD−ROM y sistemas de archivos de Macintosh. Puesto que Windows NT es un sistema modular, se le podría añadir en el futuro, de manera muy sencilla, soporte para sistemas de archivo adicionales. COMPATIBILIDAD Un elemento clave para la aceptación de un sistema operativo, es la capacidad de trabajar con las aplicaciones ya existentes. Windows NT es capaz de ejecutar una amplia variedad de diferentes aplicaciones e interactuar 6 con diferentes sistemas operativos. Diseño de aplicaciones como subsistemas. Windows NT soporta aplicaciones MS−DOS, Windows 3.x (16 bits), Windows 95, Windows 98, POSIX y OS/2 1.x. Otra vez el diseño modular de Windows NT lo hace posible. Subsistema Windows−On−Windows (WOW). WOW proporciona una compatibilidad excelente con Win 16, emulando por completo el entorno de Windows 3.1 y ofrece la elección de ejecutar aplicaciones Windows 3.x en un espacio de memoria compartido o separado. Interfaz explorador de Windows 95. Se ha mantenido el interfaz gráfico de Windows 95, es realmente una copia exacta ano ser por algunas carpetas que faltan y otras que se han añadido. De hecho cuando un usuario migra de Windows 95 a Windows NT puede optar por mantener el escritorio original. Interoperatividad con Netware. El soporte de Windows NT incluye de origen el protocolo IPX/SPX para clientes Netware 3.x y 4.x. También ofrece la capacidad de compartir archivos Netware y recursos de impresión a clientes no Netware. Windows NT Server puede importar cuantas de usuarios y los scripts de logon. Interoperatividad con UNIX. Windows NT se comunica con sistemas Unix a través del protocolo TCP/IP. También soporta impresión TCP/IP e incluye aplicaciones de conectividad básicas como por ejemplo FTP, Telnet y Ping. Interoperatividad con Macintosh. Windows NT ofrece un procedimiento de soporte a sistemas Apple Macintosh sin precedentes. Tanto la versión Workstation como la de Servidor soporta Appletalk, protocolo usado en las redes Macintosh. Windows NT Server permite la creación de nombres Macintosh en NTFS. ESCALABILIDAD Otro aspecto importante de Windows NT es que es un sistema operativo escalable. Esto quiere decir que puede ser usado por un amplio abanico de sistemas, desde un ordenador personal hasta grandes sistemas con múltiples procesadores. Una pequeña lista de las características de escalabilidad son estas: Soporte multiplataforma. Debido a que la arquitectura del micro−Kernel está en capas y usa la capa de abstracción de hardware (HAL), Windows NT es capaz de soportar los más potentes procesadores desarrollados en el futuro. Soporte multiprocesador. Soporta múltiples CPU, lo que le proporciona un funcionamiento más eficiente a medida que se aumentan los procesadores. SEGURIDAD Desde las primeras implementaciones de Windows NT se ha prestado especial atención a este apartado, para que este sistema operativo ofrezca seguridad en la protección de datos tanto a empresas como a estamentos estatales. Windows NT tiene las siguientes características generales en cuanto a seguridad: Soporte de seguridad de dominio. El modelo de seguridad de dominio es un sofisticado sistema de acceso a la red, de manera que se controla perfectamente los recursos de red que un usuario puede utilizar. Unos servidores especiales llamados controladores de dominio son los encargados de realizar todo el trabajo de autentificación de usuarios. La información de seguridad se guarda en una base de datos llamada SAM 7 Administrador de inicio de OS/2 Administrador de inicio como LILO de Linux Además, es posible utilizar la configuración de inicio dual de Windows 95. En primer lugar, debería planificar, qué sistema de archivos quiere asignar a cada partición de su disco duro (ver capitulo 5). Cuando existen varias particiones primarias sólo se puede acceder a los datos de la partición activa. Por lo tanto primarias solamente deben contener los elementos esenciales del sistema operativo correspondiente. El resto de los datos están mejor guardados en unidades lógicas. Una vez se haya decidido por una combinación se sistemas de archivos, el segundo paso consiste en seleccionar el administrador de inicio adecuado. Con Windows NT puede conmutar entre varias versiones de NT y una versión de DOS o de Windows 95. Por consiguiente si sólo deben estar instalados en su ordenador estos sistemas operativos no necesitará ningún administrador de inicio aparte. Si, junto con Windows NT, debe utilizarse otro sistema operativo que requiera una partición primaria propia (OS/2 o Linux), es mejor emplear el administrador de inicio de OS/2 o productos adicionales (como el administrador de inicio LILO). En estos casos, será precisa una partición primaria propia en el primer disco duro (C:). 3.3 Preparación de la instalación. Windows NT 4.0 se suministra en un CD o en un CD y tres disquetes. En la versión que sólo incluye el CD, estos tres disquetes se crean, opcionalmente, con el programa de instalación. Con dichos disquetes se llevan a cabo los primeros pasos de la instalación y se ejecuta Windows NT. A continuación se trasladan todos los archivos de sistema desde el CD o desde una unidad de disco duro temporal en la que se han copiado previamente los datos. La opción que decida dependerá de si Windows NT 4.0 detecta directamente la unidad de CD−ROM de su ordenador o no. Para instalar Windows NT 4.0 en un ordenador Intel, utilice el programa WINNT.EXE que se encuentra en el directorio \i386 de CD de instalación. Puede activar dicho programa en Windows NT para actualizar una versión ya existente del programa, o desde el símbolo de sistema de DOS. En ambos casos se crearán los tres disquetes de inicio y, eventualmente, se copiaran los archivos en un directorio temporal del disco duro. Con el comandoWINNT.EXE/B es posible instalar directamente Windows NT desde la unidad de CD−ROM sin los disquetes de inicio. Si se instala Windows NT en un ordenador sin sistema operativo, es mejor crear los disquetes de inicio en otro ordenador. Una vez iniciada la instalación, Windows NT tratará de detectar la unidad de CD−ROM y ejecutar la instalación. Si durante la instalación desde los disquetes de inicio no se detectara dicha unidad, sería preciso instalar Windows NT a través de una red o bien crear una partición DOS en el ordenador e instalar el controlador de CD−ROM. Luego se inicia el ordenador y se inicia la instalación. Dependiendo de si desea instalar Windows NT desde el CD−ROM, desde un directorio temporal o de si sólo quiere crear los disquetes 10 de inicio, deberá activar el programa de instalación WINNT.EXE con distintos parámetros. La siguiente tabla ofrece un resumen de ellos. Parámetro Efecto /S[:] Nombre de la ruta Indica la ruta de origen de los archivos de Windows NT; también puede tratarse de una unidad de red. /T[:] Nombre del directorio Indica el directorio temporal en el que se guardan archivos para la instalación; también puede tratarse de una unidad de red. /I[:] Archivo Inf Indica el nombre del archivo de información de instalación. La opción predeterminada es el archivo DOSNET.INF. /O Sólo crea los disquetes de inicio. /OX Crea los disquetes de inicio para una instalación desde el CD−ROM (o desde disquetes). /X Ejecuta el programa de instalación sin disquetes de inicio. /F Desactiva la comprobación de los archivos para la copia en disquetes de inicio. /C Pasa por alto los controles de espacio disponible en los disquetes de inicio. /B Instalación sin disquetes; en este caso es necesario indicar mediante los datos de los archivos de instalación. /U Permite una instalación automática si se indica mediante la ruta de origen de los archivos de instalación. 3.4 Detección del hardware. Cada vez más, los sistemas operativos van equipados con una detección de hardware que reconoce e instala por su cuenta cada uno de los elementos del ordenador y dispositivos periféricos. En sistemas operativos como Windows NT, Windows 95 u OS/2, es imposible que se realizan errores graves en las indicaciones y se provoquen daños en el hardware. La instalación de un dispositivo resulta particularmente fácil si el sistema operativo suministra e instala todos los controladores necesarios. Para describir esta característica se creó la expresión Plug&Play (que traducido sería algo así como conectar y funcionar). Lamentablemente, aun no funciona de forma totalmente satisfactoria con Windows NT. Windows NT soporta durante la instalación la característica Plug&Play para muchos dispositivos, desde tarjetas gráficas pasando por unidades de CD−ROM hasta unidades de cinta para copias de seguridad. 3.5 Instalación Mostraremos el proceso de instalación después de crear los disquetes de inicio. En cualquier momento de la instalación puede solicitar ayuda con la tecla <F1>. El programa de instalación presenta un mensaje de bienvenida y pregunta si se desea instalar Windows NT ahora, reanudar una instalación interrumpida o cancelar el trabajo. Si instala Windows NT en el ordenador por primera vez, basta con que pulse la tecla <Enter>. 11 Configuración de unidades de almacenamiento. El primer paso de la instalación consiste en que Windows NT detecte las unidades de almacenamiento (CD−ROM, unidades de copia de seguridad, adaptadores SCSI) del ordenador. Es posible instalar posteriormente unidades de almacenamiento si no han sido detectadas automáticamente. Los discos duros IDE y EIDE se detectan automáticamente en la posterior instalación de Windows NT (basta con activar el administrador de discos duros y registrar y dar formato al o a los discos en NT). Pero los discos SCSI deben ser instalados manualmente con el icono SCSI en el Panel de control de Windows NT. El programa de instalación le muestra finalmente la configuración de las unidades de almacenamiento de todos los dispositivos detectados. La instalación de Windows NT realiza entonces particiones, si fuera necesario, en los discos duros. Dichas particiones reciben formato con el sistema de archivos que haya indicado. Selección del directorio raíz de Windows NT Una vez los discos duros tengan particiones y formato, se debe indicar un directorio raíz para los archivos de sistema de Windows NT. Si anteriormente no había instalado en el ordenador ninguno de los sistemas operativos Windows NT, Windows 95, Windows 98 o Windows para trabajo en grupo, puede elegir el directorio libremente, darle un nombre y establecer la partición de destino en el disco duro. Sin embargo, si ya había instalado alguno de los sistemas operativos anteriormente mencionados, puede sobrescribir el existente con Windows NT o bien instalar Windows NT en otro directorio ( a través de la instalación personalizada). Si elige la primera opción, las aplicaciones existentes se instalaran rápidamente si son compatibles con Windows NT, y las configuraciones personales que haya realizado se incorporaran a Windows NT. En cambio si instala el nuevo sistema operativo en otro directorio se conserva el anterior y, al iniciar, podrá elegir entre ambos sistemas con el administrador de inicio de Windows NT. Sugerencia En ocasiones puede ser conveniente instalar dos veces NT 4 en el disco duro. Cuando, por ejemplo, en una versión de NT debe iniciar demasiados servicios, que quizás sean incompatibles entre sí, la velocidad de ejecución de NT en parte se reduce drásticamente. De este modo concluyen las configuraciones de instalación basadas en DOS y el programa de instalación intentará reiniciar su equipo. Para ello deberá retirar el disquete de inicio de su unidad. Por último, se cargará automáticamente el asistente de instalación, el cual le indicará los pasos necesarios. Selección del tipo de instalación. En el primer paso del asistente de instalación puede elegir que tipo de instalación desea ejecutar: Instalación típica: es el tipo más sencillo. El asistente de instalación se encarga de tomar la mayoría de decisiones instalando todas las opciones predeterminadas. Windows NT se instala con todos los componentes adicionales (como HyperTerminal y MS Exchange). Instalación portátil: esta opción se ha incorporado especialmente para la instalación de Windows NT en ordenadores portátiles. Sólo se instala una versión reducida. 12 NetBEUI: NetBEUI es el protocolo estándar en las redes Microsoft Windows en Windows NT a partir de la versión 3.1, Windows para Trabajo en grupo o Windows 95. En la mayoría de los casos se utiliza en redes pequeñas, con menos de 200 clientes. NetBEUI sólo soporta un encaminamiento simple a través de funciones de Token Ring. NWLink: Este protocolo compatible con IPX/SPX y, por lo tanto, con Novell Netware, se utiliza en la mayoría de redes LAN grandes. Tiene capacidades de encaminamiento y trabaja junto con aplicaciones cliente−servidor de Netware. TCP/IP: Es el protocolo estándar en redes de área extensa y en Internet. Como TCP/IP es compatible con todas las plataformas de sistemas es el protocolo estándar en redes heterogéneas. TCP/IP tiene plena capacidad de encaminamiento. El programa de instalación establece los enlaces de los distintos protocolos con las tarjetas de red. Los controladores de redes RAS son tratados como tarjetas de red. En primer lugar, acepte las configuraciones predeterminadas de Windows NT. La edición de los enlaces sólo merece la pena si utiliza en su ordenador varias tarjetas de red que utilizan distintos protocolos. Si eliminamos los enlaces innecesarios, la velocidad de Windows NT se incrementará. Selección del grupo de trabajo o dominio Windows NT soporta vinculaciones de red a través del grupo de trabajo de una red punto a punto o del dominio de una red Windows NT. En este punto tiene que decidir si sólo desea darse de alta en un grupo de trabajo o si el ordenador debe formar parte de una red Windows NT, en cuyo dominio tendrá que darse de alta. El primer inicio de sesión en el sistema es el del administrador, ya que aún no se ha creado ningún usuario. Además, por lo general se deberán efectuar otras configuraciones adicionales que sólo puede llevar a cabo el administrador. Con esto concluimos la instalación propiamente dicha, ahora lo que se podría instalar son componentes opcionales como por ejemplo el módem, un CD−ROM o una tarjeta RDSI. 4 FUNDAMENTOS DE WINDOWS NT Windows NT no es, como Windows 95, una ampliación de las anteriores versiones de DOS y Windows, sino un sistema operativo desarrollado totalmente de nuevo. Por lo tanto, no padece por naturaleza de las peculiaridades conocidas de DOS. Para conseguirlo, se diferencia tanto de esos sistemas en sus propiedades esenciales, que merece la pena tratar con más detalle la arquitectura del sistema de Windows NT. Windows NT Server y Windows NT Workstation en realidad persiguen unos objetivos muy distintos. Windows NT Workstation es el sistema operativo cliente interactivo, mientras que NT Server es el sistema operativo servidor de alto rendimiento. Los objetivos de diseño del sistema en NT Workstation son un buen comportamiento temporal al intercambiar tareas (el proceso principal disfruta de la máxima prioridad en cuanto a memoria RAM en la distribución temporal), una presentación de gráficos rápida y unas necesidades mínimas de RAM. 15 Los objetivos de diseño del sistema en NT Server son un buen funcionamiento de red y la utilización de toda la memoria de trabajo disponible y de la CPU para un acceso rápido a los archivos de la red (el caché de archivos tiene la máxima prioridad en lo que se refiere a la memoria RAM en la distribución temporal). A pesar de todo, estos dos sistemas operativos sólo se diferencian en algunas entradas del registro del sistema. Si se modifican estas entradas en un ordenador Windows NT Workstation, pueden iniciarse también servicios de Windows NT Server. 4.1 Evolución de NT. Microsoft inició el desarrollo del sistema operativo Windows NT a finales de los año 80. El director del proyecto fue David Cutler, antiguo empleado de Digital y uno de los desarrolladores de VMS, competencia de UNIX hoy algo adormecida. El objetivo era un sistema que compitiera con UNIX y Netware, y que funcionara tanto en procesadores Intel como en sistemas RISC (estaciones de trabajo). El desarrollo de NT representó para Microsoft algunos costes. Sólo para la primera versión se invirtieron más de 150 millones de dólares. A pesar de los elevados costes de desarrollo hasta ahora Microsoft no había comercializado de forma agresiva Windows NT. La primera versión de NT, la 3.1, requería un hardware tan caro e insólito que pocos usuarios estaban dispuestos a instalar. Además, apenas había programas de aplicación que funcionaran en NT y sacaran provecho de todas las ventajas de este sistema operativo de 32 bits. Hasta la aparición de la versión 3.5 no se detectaban discos duros (E)IDE y unidades CD−ROM. Con la versión 3.51 se agregó entre otras cosas, la compatibilidad con tarjetas PCMCIA. El descenso de los precios del hardware −y sobre todo de la memoria− incrementó el atractivo de Windows NT. Gracias al desarrollo del procesador Pentium PRO de Intel, Windows NT ha consiguió una plataforma eficaz y compite con las estaciones de trabajo UNIX. NT se estableció en primer lugar como servidor de aplicaciones (por ejemplo para bases de datos como ORACLE, SQL, para sistemas Groupwise como Lotus Notes y últimamente como plataforma para R/3). Cada vez más NT hacía la competencia − especialmente en cuanto a la integración del sistema con la familia MS−BackOffice− a los tradicionalmente potentes servidores de aplicaciones y de archivos como Novell Netware en las versiones 3.12 y 4.1, sobretodo en nuevas instalaciones y en redes pequeñas y medianas−grandes. En cambio OS/2 parece ir perdiendo importancia en la empresa. Actualmente, el OS/2 tiene aun una gran implantación en bancos y aseguradoras y se utiliza como servidor de aplicaciones (por ejemplo para el control del servicio de extranjero y de divisas). En estos ámbitos se apreció mucho la cada vez mayor (hasta la versión 3.51) fiabilidad del sistema operativo NT, que reducía los trabajos de mantenimiento para servidores NT. Además, se ha hecho un favor a los administradores del sistema con el entorno de usuario totalmente gráfico, el cual facilita notablemente las tareas de administración diarias y reduce el periodo de formación. Como estación de trabajo Windows NT se utiliza únicamente en ámbitos de altas prestaciones, como por ejemplo el software CAD profesional, debido a sus altos requerimientos de hardware. Hasta ahora, en redes, generalmente se conectaban clientes de Windows para Trabajo en grupo en 3.11 o clientes de Windows 95 con un servidor NT, ya que los ordenadores antiguos no cumplían los elevados requerimientos de hardware de una estación de trabajo Windows NT. Pero entonces no se dispone de las características de seguridad y comodidad de los entornos puramente NT. Por lo que respecta a ofrecer servicios de Internet, las soluciones de Windows NT cada vez despiertan mayor 16 interés. Si bien hasta hace no mucho tiempo se encontraban casi exclusivamente servidores WWW basados en UNIX, actualmente aparecen cada vez más sitios NT en la red global de datos y más servidores Web comerciales. Esta tendencia aun se acentuará más con la versión 4.0 puesto que ahora se ha integrado Internet Information Server para construir una Internet o un acceso a Internet en el sistema operativo. Con la versión 4.0, Windows NT gana mercado como sistema operativo de escritorio. Es por ello que en el mismo se ha incorporado el entorno de Windows 95 que ya estaba disponible como versión beta para la versión 3.51. Va especialmente dirigido a usuarios que no quieren renunciar a la comodidad de manejo del entorno de Windows, pero desean utilizar un sistema operativo seguro y con capacidades de multiusuario. Especialmente en redes grandes destaca de forma positiva un entorno de usuario sólido en clientes y servidores. Hasta el año 1997 se calcula en este ámbito cuotas de mercado de más del 20 % para NT, más del 40 % para Windows 95 y claramente menos del 10% para OS/2. 4.2 Estructura del sistema operativo En este apartado presentaré el modo en el que trabaja Windows NT 4.0 tras su nuevo entorno. 4.2.1 Arquitectura Comprender cómo funciona Windows NT es fundamental para programar y recomendable para administrarlo. Vamos a hacer un recorrido por las profundidades de este sistema operativo. 4.2.1.1 Introducción Windows NT presenta una arquitectura del tipo cliente−servidor. Los programas de aplicación son contemplados por el sistema operativo como si fueran clientes a los que hay que servir, y para lo cual viene equipado con distintas entidades servidoras. Uno de los objetivos fundamentales de diseño fue el tener un núcleo tan pequeño como fuera posible, en el que estuvieran integrados módulos que dieran respuesta a aquellas llamadas al sistema que necesariamente se tuvieran que ejecutar en modo privilegiado (también llamado modo Kernel, modo núcleo y modo supervisor). El resto de las llamadas se expulsarían del núcleo hacia otras entidades que se ejecutarían en modo no privilegiado (modo usuario), y de esta manera el núcleo resultaría una base compacta, robusta y estable. Por eso se dice que Windows NT es un sistema operativo basado en micro−kernel. Por tanto en un primer acercamiento a la arquitectura distinguimos un núcleo que se ejecuta en modo privilegiado, y se denomina Executive, y unos módulos que se ejecutan en modo no privilegiado, llamados subsistemas protegidos. Los programas de usuario (también llamados programas de aplicación) interaccionan con cualquier sistema operativo (S.O. en adelante) a través de un juego de llamadas al sistema propio de dicho sistema. En el mundo Windows en general, las llamadas al sistema se denominan API (Application Programming Interfaces, interfaces para la programación de aplicaciones). En Windows NT y en Windows 95 se usa una versión del API llamada API Win32. 4.2.1.2 Los subsistemas protegidos. Son una serie de procesos servidores que se ejecutan en modo no privilegiado, al igual que los procesos de usuario, pero que tienen algunas características propias que los hacen distintos. Se inician al arrancar el S.O. y existen dos tipos: integrales y de entorno. 17 La facilidad de llamada a procedimiento local (LPC Facility). Este módulo se encarga de recibir y enviar las llamadas a procedimiento local entre las aplicaciones cliente y los subsistemas servidores. El administrador de entrada/salida (I/O Manager). Consta de varios subcomponentes: el administrador del sistema de ficheros, el servidor de red, el redirector de red, los drivers de dispositivo del sistema y el administrador de cachés. Buena parte de su trabajo es la gestión de la comunicación entre los distintos drivers de dispositivo, para lo cual implementa una interfaz bien definida que permite el tratamiento de todos los drivers de una manera homogénea, sin preocuparse del funcionamiento específico de cada uno. Trabaja en conjunción con otros componentes del Executive, sobre todo con el VMM. Le proporciona la E/S síncrona y asíncrona, la E/S a archivos asignados en memoria y las caches de los ficheros. El administrador de caches no se limita a gestionar unos cuantos buffers de tamaño fijo para cada fichero abierto, sino que es capaz de estudiar las estadísticas sobre la carga del sistema y variar dinámicamente esos tamaños de acuerdo con la carga. El VMM realiza algo parecido en su trabajo. El monitor de referencias a seguridad. Este componente da soporte en modo privilegiado al subsistema de seguridad, con el que interacciona. Su misión es actuar de alguna manera como supervisor de accesos, ya que comprueba si un proceso determinado tiene permisos para acceder a un objeto determinado, y monitoriza sus acciones sobre dicho objeto. De esta manera es capaz de generar los mensajes de auditorías. Soporta las validaciones de acceso que realiza el subsistema de seguridad local. El núcleo (Kernel). Situado en el corazón de Windows NT, se trata de un micro−kernel que se encarga de las funciones más básicas de todo el sistema operativo: ejecución de subprocesos, sincronización multiprocesador, manejo de las interrupciones hardware. El nivel de abstracción de hardware (HAL). Es una capa de software incluida en el Executive que sirve de interfaz entre los distintos drivers de dispositivo y el resto del sistema operativo. Con el HAL, los dispositivos se presentan al S.O. como un conjunto homogéneo con el cual interacciona a través de un conjunto de funciones bien definidas. Estas funciones son llamadas tanto desde el S.O. como desde los propios drivers. Permite a los drivers de dispositivo adaptarse a distintas arquitecturas de E/S sin tener que ser modificados en gran medida. Además oculta los detalles hardware que conlleva el multiprocesamiento simétrico de los niveles superiores del S.O. 4.2.1.4 Llamadas a procedimientos locales y remotos. Windows NT, al tener una arquitectura cliente−servidor, implementa el mecanismo de llamada a procedimiento remoto (RPC) como medio de comunicación entre procesos clientes y servidores, situados ambos en máquinas distintas de la misma red. Para clientes y servidores dentro de la misma máquina, la RPC toma la forma de llamada a procedimiento local (LPC). Vamos a estudiar en detalle ambos mecanismos pues constituyen un aspecto fundamental del diseño de NT. Llamada a Procedimiento Remoto (Remote Procedure Call −RPC). 20 Se puede decir que el sueño de los diseñadores de Windows NT es que algún día se convierta en un sistema distribuido puro, es decir, que cualquiera de sus componentes pueda residir en máquinas distintas, siendo el Kernel en cada máquina el coordinador general de mensajes entre los distintos componentes. En la última versión de Windows NT esto no es aún posible. No obstante, el mecanismo de RPC permite a un proceso cliente acceder a una función situada en el espacio virtual de direcciones de otro proceso servidor situado en otra máquina de una manera totalmente transparente. Vamos a explicar el proceso en conjunto. Supongamos que tenemos un proceso cliente ejecutándose bajo una máquina A, y un proceso servidor bajo una máquina B. El cliente llama a una función f de una biblioteca determinada. El código de f en su biblioteca es una versión especial del código real; el código real reside en el espacio de direcciones del servidor. Esa versión especial de la función f que posee el cliente se denomina proxy. El código proxy lo único que hace es recoger los parámetros de la llamada a f, construye con ellos un mensaje, y pasa dicho mensaje al Executive. El Executive analiza el mensaje, determina que va destinado a la máquina B, y se lo envía a través del interfaz de transporte. El Executive de la máquina B recibe el mensaje, determina a qué servidor va dirigido, y llama a un código especial de dicho servidor, denominado stub, al cual le pasa el mensaje. El stub desempaqueta el mensaje y llama a la función f con los parámetros adecuados, ya en el contexto del proceso servidor. Cuando f retorna, devuelve el control al código stub, que empaqueta todos los parámetros de salida (si los hay), forma así un mensaje y se lo pasa al Executive. Ahora se repite el proceso inverso; el Executive de B envía el mensaje al Executive de A, y este reenvía el mensaje al proxy. El proxy desempaqueta el mensaje y devuelve al cliente los parámetros de retorno de f. Por tanto, para el cliente todo el mecanismo ha sido transparente. Ha hecho una llamada a f, y ha obtenido unos resultados; ni siquiera tiene que saber si el código real de f está en su biblioteca o en una máquina situada tres plantas más abajo, esta es la elegancia de las RPC. Llamada a procedimiento local (Local Procedure Call −LPC). Las LPC se pueden considerar una versión descafeinada de las RPC. Se usan cuando un proceso necesita los servicios de algún subsistema protegido, típicamente Win32. Vamos a intentar descubrir su funcionamiento. El proceso cliente tiene un espacio virtual de 4 Gb. Los 2 Gb inferiores son para su uso (excepto 128 Kb). Los 2 Gb superiores son para uso del sistema. Vamos a suponer que el cliente realiza una llamada a la función CreateWindow. Dicha función crea un objeto ventana y devuelve un descriptor al mismo. No es gestionada directamente por el Executive, sino por el subsistema Win32 (con algo de colaboración por parte del Executive, por supuesto; por ejemplo, para crear el objeto). El subsistema Win32 va guardando en su propio espacio de direcciones una lista con todos los objetos ventana que le van pidiendo los procesos. Por consiguiente, los procesos no tienen acceso a la memoria donde están los objetos; simplemente obtienen un descriptor para trabajar con ellos. Cuando el cliente llama a CreateWindow, se salta al código de esa función que reside en la biblioteca USER32.DLL asignada en el espacio de direcciones del cliente. Por supuesto, ese no es el código real, sino el proxy. El proxy empaqueta los parámetros de la llamada, los coloca en una zona de memoria compartida entre el cliente y Win32, pone al cliente a dormir y ejecuta una LPC. La facilidad de llamada a procedimiento local del Executive captura esa llamada, y en el subsistema Win32 se crea un subproceso que va a atender a la petición del cliente. Ese subproceso es entonces despertado, y comienza a ejecutar el correspondiente código de stub. Los códigos de stub de los subsistemas se encuentran en los 2 Gb superiores (los reservados) del espacio virtual del proceso cliente. Aunque no he encontrado más documentación al respecto, es muy probable que dichos 2 Gb sean los mismos que se ven desde el espacio virtual de Win32. Sea como sea, el caso es que el stub correspondiente desempaqueta los parámetros del área de memoria compartida y se los pasa a la función CreateWindow situada en el espacio de Win32. Ése sí es el código real de la función. Cuando la función retorna, el stub continúa, coloca el descriptor a la ventana en la memoria compartida, y devuelve el control de la LPC al Executive. El subproceso del Win32 es puesto a dormir. El Executive despierta al subproceso cliente, que estaba ejecutando código proxy. El resto de ese código lo que hace es simplemente tomar el descriptor y devolverlo como resultado de la función CreateWindow. 21 Novedades de la versión 4.0 Con al versión 4.0 de Windows NT, Microsoft ha dado otro paso hacia delante en lo que se refiere a un sistema operativo puramente de micronúcleo. Dos partes esenciales del subsistema WIN32, que funcionan en modo usuario, se han trasladado al micronúcleo y funcionan en modo núcleo: el archivo User.exe (administrador de ventanas) y el archivo Gdi.exe(GDI, interfaz de dispositivos gráficos), el sistema de salida de gráficos de Windows NT. Para comprender la función de estos dos archivos y la importancia de esta modificación, es necesario observar con detalle en primer lugar el subsistema WIN32, en el cual estaban integrados estos archivos hasta ahora. El subsistema WIN32 fue pensado originalmente como unidad independiente. Todas las partes de este sistema debían estar rigurosamente separadas entre sí y debían funcionar de forma independiente del resto de áreas del sistema operativo. Este procedimiento garantiza una alta seguridad, pero resta rendimiento. Muchos elementos de cada una de las partes del subsistema WIN32 se repiten, aunque deben ser tratadas individualmente en cada parte, por lo que consumen innecesariamente espacio de disco duro. El subsistema WIN32, hasta la versión 3.51 de Windows NT, estaba formado por los siguientes componentes: Administrador de ventanas: control de las funciones de entrada y salida y de pantalla. Interfaz de dispositivos gráficos: biblioteca con los elementos del entorno gráfico de usuario. Controladores de dispositivos gráficos: controladores dependientes del hardware para el control de la tarjeta gráfica. Consola: control de la interfaz de comandos de Windows NT. Funciones del sistema operativo: conexión de los componentes en el subsistema WIN32. El problema esencial de esta organización consistía en que el subsistema WIN32 contenía todas las funciones para la salida de gráficos. Durante el trabajo con un sistema operativo pueden realizarse perfectamente varios centenares de peticiones por segundo al sistema de gráficos. En el sistema WIN32 estas peticiones deben ser descompuestas en subprocesos (threads) y procesos, y la CPU debe procesarlas. Debido a la rigurosa separación de los componentes, muchos procesos se tratan doblemente. Por lo tanto, esta organización no sólo requiere espacio de memoria, sino también tiempo de la CPU. A pesar de que la separación de los archivos User.exe y Gdi.exe del micronúcleo en Windows NT 3.51 funciona de modo muy satisfactorio, Microsoft se ha decidido por el desplazamiento al micronúcleo. Para ello era decisivo el hecho de que Windows NT fuera un sistema operativo gráfico: existen numerosas ejecuciones de las rutinas gráficas de salida y cada aplicación en Windows NT utiliza dichas rutinas. Por lo tanto si se desplazan al modo núcleo, se ejecutarán con mayor prioridad y estarán protegidas ante los accesos directos mediante programas de aplicación. El resultado es en este caso, una mayor velocidad de procesamiento, especialmente en Windows NT Workstation y una menor carga de memoria del sistema. Naturalmente, el procedimiento también tiene inconvenientes: el micronúcleo crece de forma continua y las necesidades de memoria se desvían a otro punto. Lo problemático es que el núcleo de NT Workstation y NT Server únicamente se modifica por razones de rendimiento. La presentación acelerada de gráficos solo es conveniente para estaciones de trabajo NT; para servidores NT es innecesaria esta modificación del diseño, ya que aquí son importantes el cache de archivos y 22 Multitarea y multisubproceso Multitarea Windows NT utiliza el método multitarea prioritario (auténtico). Con el mismo se ejecutan simultáneamente varios procesos con distintas prioridades. Así , es posible, por ejemplo, dar formato a los disquetes de inicio en el programa de instalación mientras se copian archivos temporales en el disco duro. Las tareas se distribuyen, en las unidades de control, en lapsos de tiempo. Los conceptos multitarea sencillos utilizan el método multitarea cooperativo. Con el mismo también se asumen y gestionan varios procesos al mismo tiempo. Sin embargo, en cada momento sólo se edita un proceso, mientras que el resto se trasladan a una cola de espera. Multisubproceso (multithreading) El procesamiento paralelo de varias tareas en un ordenador se puede mejorar todavía. Si se realizan al mismo tiempo distintas tareas en un programa de aplicación, de poco sirve el método multitarea por si sólo. Para el procesador estas tareas son una sola, por lo que solamente se ejecutarán una tras otra. El remedio a este problema es el multisubproceso. Con el mismo, el programa de aplicación diferencia distintas tareas mediante los denominados subprocesos. El número de subprocesos que puede administrar al mismo tiempo una aplicación depende de los recursos del sistema operativo y del software de la aplicación. Algunos programas gestionan hasta 17 subprocesos. Un ejemplo: Un buen ejemplo de multisubproceso es el trabajo con el navegador WWW Netscape. Con un único navegador es posible descargar archivos mediante FTP y al mismo tiempo pasar a la página WWW siguiente. Allí, se puede iniciar otra sesión FTP y asignar un tercer subproceso. Estabilidad y seguridad Junto con el rendimiento las características de calidad esenciales de un sistema operativo son la estabilidad y seguridad. Windows NT ejecuta cada aplicación en un área de memoria distinta. Durante el funcionamiento normal no pueden interferir en territorio ajeno. Una aplicación que haya dejado de responder puede ser terminada (o finalizada) con el administrador de tareas, sin que el resto de aplicaciones o el propio sistema operativo finalicen. Aunque se ejecuten aplicaciones en distintas áreas de memoria pueden producirse fallos en el sistema. Por ejemplo, si dos programas acceden al mismo tiempo al archivo de sistema User.exe, pueden interferirse mutuamente provocando una pérdida de datos y dejar inutilizable el archivo de sistema para cualquier otro uso posterior. En estas situaciones Windows NT también ofrece soluciones. El servidor del sistema, responsable de las tareas fundamentales del sistema operativo, se ejecuta en un área de memoria que no puede ser utilizada por ninguna otra aplicación. Incluso si se hubiera dañado el propio entorno (shell) de Windows NT (el archivo Explorer.exe) mediante el bloqueo de otras aplicaciones, el servidor del sistema puede activar el Explorador y hacer funcionar el sistema. De este modo, un servidor Windows NT nunca puede bloquearse ( por lo menos teóricamente). 25 Inconveniente Naturalmente, la gestión separada de programas en áreas de memoria propias requiere unos recursos del sistema mayores que para dividir la memoria. Cada aplicación de Windows NT toma como mínimo 3 MB de memoria RAM. Si se ejecutan algunos servicios estándar o incluso de servidor en segundo plano, la memoria RAM se consume rápidamente. Administración central La gestión central de datos de configuración también contribuye a la seguridad y a la estabilidad de un sistema operativo. Windows NT utiliza una base de datos de configuración central, la base de datos del registro. Los antiguos usuarios de Windows 3.x se alegrarán de no tener que volver a editar un WIN.INI, un SYSTEM.INI, un AUTOEXEC.BAT, un CONFIG.SYS, etc. Para ello es necesario trabajar con cuidado con la complicada base de datos del registro. Si se realizan configuraciones incorrectas se puede bloquear el sistema. Aunque en este caso no está todo perdido: al volver a iniciar Windows NT basta con recurrir a la última configuración buena conocida, guardada en el sistema como copia de seguridad, e intentarlo de nuevo. Sin embargo, no confíe demasiado en estos mecanismos de rescate. Si ha efectuado modificaciones en un servicio que ha provocado el fallo del sistema y dicho servicio no se puede iniciar automáticamente, tal vez esas modificaciones surtan efecto después de varios reinicios. No obstante, si también se ha dañado la versión anterior de la base de datos de registro, no podrá trabajar más con Windows NT. Sólo le quedan los disquetes de emergencia o deberá volver a instalar el sistema de nuevo. En el primer caso, se pierden todas las configuraciones realizadas desde la creación de los disquetes de emergencia, mientras que en el segundo caso se deben introducir de nuevo todos los datos del usuario y volver a compartir los recursos de la red si se trata de un equipo Windows NT Server. Administración de usuarios En una red trabajan varias personas que comparten recursos como el espacio de disco duro, el rendimiento del ordenador, la impresora y los programas de aplicación. Es evidente que, en una red de este tipo, no todo el mundo puede hacerlo todo. Para controlarlo, Windows NT soporta: Cuentas de usuario, que establecen exactamente quien puede acceder a que recursos y de que forma. Registros de usuarios, con los cuales se comprueba quien ha utilizado que recursos y cuando. Registros de sucesos generales, que ayudan a encontrar el error si se produjera un fallo. Como sistema operativo verdaderamente multiusuario, Windows NT ofrece esta administración de usuarios para todos los usuarios locales. Por lo tanto para cada usuario que se siente delante de un ordenador Windows NT puede establecer los derechos de acceso y perfiles de usuario. Conexión con Internet Desde el boom de Internet de 1994 y1995 la conexión de servidor a esta red mundial de datos es cada vez más importante. Con el protocolo TCP/IP los requerimientos para participar en Internet son cada vez menores, aunque con un sistema operativo para servidor como Windows NT se consigue más. También debe poder ofrecer servicios en Internet (por ejemplo un servidor WWW, telnet, un servidor FTP). Windows NT dispone de todos estos servicios. 26 Más adelante describiré la utilización de Windows NT (Workstation y Server) como servidor WWW. Administración de discos duros y de archivos Este tema será tratado con detenimiento en los temas posteriores, aquí sólo lo nombro para que quede constancia de que forma parte de las características de rendimiento de NT. 5 ADMINISTRACION DE ARCHIVOS EN NT Los discos duros contienen el bien más preciado: los datos. Si los datos no se guardan periódicamente, la perdida de datos puede ser catastrófica para la empresa. Existen varias posibilidades para protegerse de incidentes y sus consecuencias. El riesgo de pérdida de datos se reduce a través de: La selección de discos duros de mayor calidad. La elección de un sistema de archivos estable (es NT: NTFS). La organización de datos segura y compatible con el sistema de archivos o el controlador de disco duro. La copia de los datos realizando copias de seguridad regulares (mejor diarias) y reflejando el disco duro o utilizando sistemas RAID 5. En este capitulo presentaré distintas posibilidades para proteger la seguridad de los datos. Sistemas de archivos Los sistemas de archivos organizan los datos en los discos duros distribuyéndolos en áreas físicamente accesibles del disco. Algunos sistemas de archivos aceleran los procesos de lectura y escritura con memorias caché propias. Los sistemas operativos de ordenadores utilizan principalmente los siguientes sistemas de archivos: FAT HPFS NTFS Sistemas de archivos de los dialectos UNIX Estos sistemas de archivos se diferencian por su seguridad y rendimiento: FAT Tabla de asignación de archivos (FAT) es el sistema de archivos más sencillo. En un archivo aparte (FAT), consta en qué sectores del disco duro (o del disquete) se encuentra cada parte de un archivo. Para ello, FAT divide el disco duro en bloques. El número de bloques es limitado y todos los 27 duros. De los seis grados de RAID (de 0 a 5), algunos protegen los datos de posibles pérdidas por daños en el equipo, mientras que otros aumentan la velocidad de lectura y escritura. Los procedimientos RAID más conocidos son el RAID 1 y el RAID 5. El RAID 1 duplica los datos en los discos duros idénticos (discos espejo).El RAID 5 forma paridades de conjuntos de bandas, que se distribuyen de forma redundante por todos los discos duros (ver un poco más abajo, en conjunto de bandas). El RAID 5 aumenta el rendimiento en la lectura de datos, pero, en cambio, es más lento que el RAID 1 para escribir. El RAID 5 de Windows NT se controla a través de programa y carga notablemente la memoria principal. Es más efectivo y seguro el RAID 5 del equipo, a través de controladores de discos duros RAID junto con discos intercambiables durante el funcionamiento. Discos espejo Con los discos espejo se reproducen los datos de una partición o de una unidad de un disco en un área libre de otro disco duro. Esta área del segundo disco duro deja entonces de estar visible en el administrador de archivos y en la interfaz de comandos, puesto que sólo refleja datos. Los discos espejo son un medio muy eficaz para protegerse contra una posible pérdida de datos debida a un error del disco duro. Sin embargo, de este modo no es posible evitar los defectos de control, los virus y otros problemas, ya que también hacen mella en el conjunto de almacenamiento de datos. Conjuntos de bandas En un conjunto de bandas, los datos no se escriben como una totalidad en el disco duro, sino en pequeñas partes denominadas bandas. Los conjuntos de bandas pueden extenderse por distintas áreas de una unidad física (o incluso de distintas).Es posible crear conjuntos de bandas con o sin paridad. Para una banda con paridad es preciso un número impar de partes de espacio disponible (tres o más), mientras que para un conjunto de bandas sin paridad siempre hará falta un número par (dos o más). Los conjuntos de bandas sin paridad ofrecen ventajas en cuanto a velocidad, porque los datos pueden escribirse al mismo tiempo en distintos discos (quizás utilizando para ello distintos controladores). Si se produce un error en una unidad de almacenamiento de un conjunto de bandas, se pierden todos los datos del conjunto, ya que el resto de bandas, generalmente, no pueden recuperar datos sin la información del defectuoso. Muy distinto es con bandas con paridad. Aunque con ellas se pierde la ventaja de la velocidad que ofrecen las bandas sin paridad, a partir de la información de paridad se pueden recuperar datos de una banda defectuosa. El sistema de archivos NTFS En este apartado analizaremos con más detenimiento el sistema de archivos NTFS, que es el responsable de la organización de los datos en el disco duro en Windows NT. Windows NT, como sistema operativo de nueva tecnología tenía que incorporar un sistema de archivos de nueva tecnología y despedirse definitivamente del sistema de archivos FAT. Aunque el sistema de archivos FAT, gracias a su ampliación a VFAT, domine los nombres de archivo largos en Windows 95 / DOS 7, apenas cumple los criterios de un sistema de archivos profesional que pueda utilizarse en servidores. Los sistemas de archivos para sistemas operativos multiusuario y servidor precisan derechos de acceso avanzados para usuarios individuales y para grupos de usuarios. NTFS permite particiones de disco duro mucho más grandes y archivos como (V)FAT (máximo 4 GB), por lo que está preparado para ser utilizado en servidores. Además, NTFS es compatible con los métodos RAID 1 a 5, que sirven para aumentar la velocidad de acceso y para hacer copias de los datos mediante los discos 30 duros espejo (ver arriba). NTFS distingue mayúsculas de minúsculas en los nombres de archivos y directorios y permite caracteres especiales como los acentos. Con ello cumple las directivas del estándar UNICODE. Las particiones NTFS pueden recuperarse de forma más fácil que las particiones (V)FAT después de un fallo del sistema. NTFS es menos propenso que (V)FAT a la fragmentación de los discos duros. NTFS hace patentes sus ventajas en cuanto a velocidad frente a FAT especialmente en cooperación con los controladores SCSI. Gracias al acceso asincrónico a los datos pueden desplazarse procesos de lectura y escritura a las colas de espera, librando así al procesador de una carga. Durante la edición de un proceso pueden aceptarse y editarse entonces otros procesos. Especialmente en servidores Windows NT, que tienen que afrontar numerosos procesos de lectura y escritura debido a los accesos simultáneos de los usuarios, es donde NTFS experimenta un aumento de velocidad más evidente en controladores SCSI de 32 bits. Hasta la versión 3.51, Windows NT era compatible con el sistema de archivos HPFS. Este sistema de archivos desarrollado originalmente por Microsoft se sigue suministrando actualmente con OS/2. HPFS es tan seguro como NTFS y en su ampliación para WARP Server muestra las mismas propiedades en cuanto a compatibilidad con RAID y derechos de acceso. Lamentablemente, desde la versión 4.0 Windows NT sólo puede leer particiones HPFS y convertirlas en otras particiones, pero no puede crear particiones HPFS propias o escribir en ellas. Organización de los datos en NTFS NTFS, a diferencia de otros sistemas de archivos, no utiliza bloques fijos para los archivos de parámetros o de inicio. Únicamente un bloque de parámetros BIOS establecido y definido por el hardware debe incorporarse en un lugar fijo del disco duro. Los archivos de inicio y el resto de archivos para la organización del sistema pueden estar en cualquier lugar del disco duro. De esta forma los datos y sobretodo la capacidad de inicio de un disco duro, están mejor protegidos ante errores de hardware del disco duro y de sus efectos. Físicamente, NTFS divide el disco duro en clústers. El tamaño de los clústers puede indicarlo uno mismo al dar formato al disco duro o bien puede configurarlo automáticamente NTFS a partir del tamaño de disco disponible. El papel central de la organización de archivos NTFS es el de la tabla principal de archivos (MTF). Esta tabla contiene para cada archivo un registro (registro MFT) que a su vez contiene los atributos de archivo y los datos sobre qué partes del archivo se pueden encontrar en qué clústers del disco duro. Existe una copia de seguridad de la MFT, que puede utilizarse para reconstruir los datos en caso de error en el disco duro. La MFT y su copia de seguridad pueden colocarse en un lugar cualquiera del disco duro, es decir, pueden estar separadas por áreas de datos de cualquier tamaño y por los sectores de parámetros del disco duro. La MFT es un archivo NTFS completamente normal y el sistema de archivos lo administra como si se tratara de cualquier otro archivo. Cada registro MFT tiene exactamente un tamaño de 2 KB y contiene los datos siguientes: Un encabezado con datos internos del sistema de archivos, en el que se guarda, por ejemplo, cuantos otros archivos o directorios remiten al archivo o directorio actual. Información sobre atributos del archivo y sobre su nombre. Las referencias a los sectores en los que se encuentran las distintas partes de un archivo. 31 Atributos de seguridad avanzados del sistema de archivos NTFS. Los atributos y el encabezado del registro MFT ocupan unos 560 bytes, de modo que para las referencias a los sectores en los que se encuentra el archivo quedan unos 1,44 KB disponibles. Para no regalar espacio, los archivos pequeños (de menos de 1,44 KB) se guardan en la propia MFT, por lo que las referencias son sustituidas por los datos auténticos. En cambio, para archivos muy grandes o fragmentados no son suficientes los 1,44 KB para poder guardar todas las referencias al archivo. En tal caso se crean para el archivo otros registros MFT que guardan las referencias adicionales. Estos registros ya no contienen entonces información sobre los atributos de archivo. Es el registro MFT original se encuentran ahora, en lugar de las referencias a los clústers del archivo o del directorio, las referencias a los otros registros MFT. En este caso las referencias se denominan atributos externos. En NTFS los directorios son tratados como archivos, igual que en la mayoría de sistemas de archivos, sólo que contienen otro atributo. El contenido de un directorio se guarda en el registro MFT como un índice compuesto por el nombre de los archivos y subdirectorios y un número único de archivos o directorios. Si este índice tiene menos de 1,44 KB, se encuentra directamente en el registro MFT. Los archivos de índices mayores son guardados como si fueran archivos y directorios grandes, de modo que en el registro MFT original sólo hay referencias a otros registros MFT, que son los que contienen realmente los datos. De esta manera, para cada directorio se guardan en forma de árbol los archivos y subdirectorios que contiene. Esto es lo que se denomina árbol binario. Estas referencias directas a los archivos de un directorio desde el propio directorio permiten un acceso a los datos mucho más rápido. En una FAT, para buscar un archivo primero debe examinarse completamente toda la tabla (sin ordenar). En cambio, en un árbol binario (ordenado) se accede al archivo deseado directamente desde el directorio. Como evitar nombres de archivo 8+3 Si utiliza programas DOS o WIN 16 en Windows NT no puede servirse de los nombres de archivo largos de NTFS. Dado que de forma predeterminada para cada archivo se guarda el nombre DOS 8+3, estos programas utilizan ese nombre. Cuando guarde un archivo con un nombre de archivo largo con este programa DOS, por desgracia se perderá el nombre largo e incluso algunos atributos de archivo NTFS. Esto puede evitarse prohibiendo totalmente guardar archivos en formato 8+3 en Windows NT. Para ello debe definir con el valor 1 la entrada NtfsDisable8dot3NameCreation de la base de datos de registro de Windows NT. Encontrará esta entrada en la base de datos de registro dentro del árbol HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem Administración de unidades de almacenamiento en Windows NT La administración de discos duros es especialmente interesante para servidores. Los servidores disponen de varios discos duros, generalmente mucho más grandes que los ordenadores de escritorio. Los datos de esos discos duros no sólo deben ponerse a disposición de los clientes, sino que también deben de estar guardados en los discos duros de forma segura. Tamaño de los discos duros: el tamaño de los discos duros no es asunto del sistema operativo instalado. Sin el controlador Enhanced IDE o LBA BIOS pueden surgir problemas con los discos IDE, ya que sólo son iniciables las particiones por debajo de 540 MB. En los discos SCSI no hay este tipo de problemas. Seguridad: de la seguridad de los datos de un disco duro se encarga, esencialmente, junto con la calidad del 32 cambios sobre la marcha usando el comando Partición/Registrar cambios ahora. Si sale del programa sin haber registrado los cambios un diálogo le dará la posibilidad de hacerlo o de salir sin registrar nada. Guardar datos En los apartados anteriores he presentado distintas posibilidades de proteger los datos de forma activa. En este caso, hablamos de protección activa porque estas medidas evitan las perdidas de datos. Ahora trataremos las medidas de seguridad pasivas con las cuales se reducen al mínimo las consecuencias de una pérdida de datos. Una de las medidas de seguridad pasivas consiste en guardar periódicamente los datos en otros soportes de datos. Aquí haré referencia a verdaderas unidades de copia de seguridad. Elegir el medio Una de las primeras cuestiones a considerar para guardar datos es la elección del medio de almacenamiento correcto. Se dispone de los medios siguientes, entre otros, con distintas capacidades de almacenamiento: Cintas de copia de seguridad de hasta 500 MB. Cintas DAT (DDS1, DDS2) de hasta 2 o 4 GB, comprimidas hasta 4 u 8 GB (en función del medio: cinta DAT de 90 o 120 metros). Cintas DLT de hasta 20 o 40 GB. Unidades magnetoópticas hasta 900 MB. CD−ROM con hasta 600 MB. Discos intercambiables mínimo 1 GB. El tamaño de los datos reduce la selección de las posibles unidades de almacenamiento. En cualquier caso, también se deben tener en cuenta la durabilidad y el manejo de los medios. Los CD−ROM grabados por uno mismo duran mucho menos que los editados por los fabricantes. La capa del cd en la que se escribe es muy delicada y puede que dar inutilizable con sólo algunos rasguños. Además actualmente algunos críticos de estos medios predicen unos pocos años de durabilidad incluso tratándolos con cuidado ya que los cd de plástico se descomponen. Los CD−ROM gozan de la decisiva ventaja de que sólo con introducirlos en una unidad de CD−ROM se puede trabajar con los datos. Por lo tanto, se puede prescindir de la reproducción de los datos tal y como sucede son una unidad de cinta. Las unidades MLO son muy seguras, puesto que los datos se escribes en el medio bajo un determinado aumento de temperatura. En cuanto el medio se enfría, no puede dañarse, por ejemplo, con un imán. Las cintas son un medio de almacenamiento de gran durabilidad. Para almacenar datos en una cinta, lo que se denomina copia de seguridad se debe escribir en ella con un programa especial y para leer los datos se debe utilizar el mismo programa. Precisamente sobre esta cuestión, las empresas no deben elegir cualquier programa ni cualquier unidad para realizar copias de seguridad sino utilizar estándares que sean soportadas durante las dos décadas siguientes. Si opta por una unidad SCSI−DAT utilizando el programa para copias de seguridad de Windows NT, hasta 35 cierto punto puede estar seguro de que estas copias podrán leerse con versiones posteriores de NT. Lo mismo se puede aplicar para proveedores conocidos, que vendan programas de este tipo desde hace años. Copias de seguridad de Windows NT Windows NT contiene, en su versión estándar, un sencillo programa de copias de seguridad de la casa Seagate, el fabricante de Arcada Backup para NT. Con el mismo se pueden guardar datos en unidades de cinta compatibles con Windows NT y previamente instaladas en Windows NT. Información El programa de copias de seguridad de Windows NT no soporta el almacenamiento en disquetes. En Windows NT también se pueden iniciar copias de seguridad con el comando backup de la interfaz de comandos. De esta forma, es posible iniciar copias de seguridad fácilmente, a través de conexiones remotas con el ordenador Windows NT. Almacenamiento de datos con el programa de copias de seguridad de NT Inicie el programa Copia de seguridad en el menú Herramientas administrativas. Durante el inicio el programa intenta rápidamente detectare y mostrar las unidades de cinta instalada. En la ventana Unidades obtendrá una relación de las carpetas y archivos del ordenador y de las unidades de red vinculadas. Pulsando dos veces el icono de la unidad se muestran las carpetas de la misma en una nueva ventana. En ella puede seleccionar los directorios que quiera copiar. Si ya ha seleccionado previamente la unidad, estarán seleccionados todos los directorios. Para anular esta selección deberá pulsar la casilla que se encuentra en la esquina superior izquierda. Luego, pulse el botón Copia de seguridad he indique el nombre y otros particulares para la copia de seguridad. Programas para copias de seguridad A título de ejemplo de un buen programa para copias de seguridad, describiré aquí el ARCserve y Arcada Backup Exec para Windows NT. Con ARCserve de la casa Cheyenne se pueden administrar varios servidores de forma centralizada. A través de acceso remoto (RAS) es posible modificar la configuración de ARCserve he iniciar tareas de copias de seguridad. De este modo, ARCserve funciona como servicio del sistema y, por lo tanto, no precisa ningún usuario conectado. Gracias a la división del proceso de tareas, proceso de cinta y proceso de base de datos, se garantiza una alta estabilidad y velocidad. Para incrementar la velocidad de la copia se puede acceder, de forma paralela a distintos dispositivos de copia de seguridad. Un detector de virus hace posible la integridad de los datos antes de la copia. Además, se puede consultar información sobre destinatarios de llamadas, correo electrónico, colas de impresión, SNMP o mensajes de red. Arcada Backup Exec es un producto de la firma Seagate. En Arcada Backup se instalan y planifican las tareas a través del programa Backup Exec. A través de RAS puede iniciar de modo remoto trabajos de copia de seguridad con Backup Exec View y comprobar si las copias se han realizado correctamente. Arcada Backup se luce por su integración en Windows NT. Por ejemplo: todos los eventos importantes del sistema se escriben directamente en el registro de aplicaciones de NT. 36 Discos duros fragmentados Los discos duros guardan los datos en sectores, de forma consecutiva. El disco duro se va llenando con datos de este modo. La información sobre que partes de un archivo se encuentran en que sectores esta guardada en la tabla de asignación de archivos. En el sistema de archivos NTFS este archivo se denomina Master File Table (MFT). Cuando se eliminan archivos se comparten las áreas correspondientes, aunque estas no pueden ser sobrescritas realmente hasta que se agota el espacio al final del disco duro. En este preciso momento surge el problema de la fragmentación de archivos. Si las áreas disponibles son más pequeñas que el archivo a guardar, es preciso dividir el archivo en varias áreas, es decir, subdividirlo en fragmentos. Cuanto mayor es la frecuencia con que se eliminan, reducen y amplían archivos, más fragmentos se van formando en el disco duro. Además de la fragmentación de archivos, puede producirse una fragmentación del soporte de datos. Si el disco duro ya ha llegado una vez a su límite de capacidad, sólo es posible compartir espacio eliminando o reduciendo archivos. Pero, como es natural, lo que se hace es dividirlo en pequeños fragmentos. En NTFS, la fragmentación de archivos no juega un papel tan importante como en el sistema de archivos (V)FAT. Debido a una organización de los datos algo diferente, los discos duros NTFS no se fragmentan tan rápidamente como los que tienen el sistema (V)FAT. Sin embargo, en servidores cuyos datos se escriben y se modifican con frecuencia, pueden producirse fragmentaciones que retardan notablemente el acceso a los datos. Programas defragmentadores Para volver a organizar el disco duro dividido en fragmentos y escribir los archivos seguidos en lo posible es necesario un programa defragmentador. Este tipo de programas pueden trabajar fuera de línea y en línea. Las defragmentaciones fuera de línea no permiten ningún acceso a los archivos durante la reorganización del disco duro. Así, por ejemplo, en una estación de trabajo pueden ejecutarse durante un funcionamiento en vacío o al apagar o encender el ordenador. Para un servidor, estos programas defragmentadores fuera de línea no son tan adecuados. Todo administrador de sistema causará la irritación de sus compañeros si tiene que parar el sistema con mucha frecuencia, y trabajar por la noche o en domingo tampoco es un medio adecuado. En estos casos, es preciso recurrir a los defragmentadores en línea, que permiten acceder a los datos mientras se están escribiendo y, a pesar de ello, trabajan de forma fiable. Es fácil imaginarse que un programa de este tipo no es fácil de crear y que con un programa que funciona de forma imperfecta es uy fácil dañar todos los datos de un disco duro. Microsoft no ofrece un programa defragmentador para NTFS, como ocurre con el sistema de archivos (V)FAT. En este caso hay que recurrir a la ayuda de otros fabricantes. Ya existen defragmentadores sencillos como el shareware o freeware. Para uso empresarial es mejor recurrir a las versiones comerciales ampliadas de estos programas, puesto que la mayoría de ellas permiten la terminación de la defragmentación y también son adecuadas para la administración remota. Como ejemplo de estos programas citamos Diskeeper de Executive Software. Sistema de archivos distribuido Con el Sistema de archivos distribuido (DFS), es posible administrar y utilizar recursos en redes grandes de modo más fácil y claro. Con DFS pueden activarse los recursos compartidos de muchos ordenadores distintos 37 poder trabajar hasta cierto punto con independencia del equipo informático y de la ubicación del propio lugar de trabajo acceder en cualquier momento a recursos (discos duros, memoria RAM, impresoras,...) seleccionados en una red e iniciar, en otros ordenadores, aplicaciones que no están instaladas en el propio ordenador. Además, las redes ofrecen: comunicación e información a nivel mundial interfaces y edición común de tareas dentro de la red. Las redes se utilizan actualmente de forma muy intensiva, tanto dentro de las empresas como fuera de sus límites. Cuando se trabaja con datos delicados en la red de una empresa, que también es accesible desde fuera mediante una conexión con Internet, se requieren unas medidas de seguridad particularmente escrupulosas. Aquí mostraré las características de seguridad de Windows NT como servidor en una red. Construir redes Si se instala una red de forma totalmente objetiva, su aspecto puede ser muy simple: los usuarios de la red pueden utilizar los recursos de la misma. Para ello basta con que el usuario comunique sus deseos a otros ordenadores y espere a que esos recursos estén disponibles. El ordenador COMPI−A dispone de un disco duro muy grande y, por lo tanto, puede ofrecer espacio al resto de ordenadores de la red. Para hacer uso de ese espacio, el usuario del ordenador COMPI−C da la instrucción: utiliza el disco duro con la denominación HD_01 del ordenador COMPI−A. En este caso, COMPI−C parte del hecho de que puede utilizar cualquier recurso del otro ordenador y de que conoce el nombre del resto de ordenadores y de sus recursos. En grandes redes de empresas, raras veces se pueden encontrar ordenadores conectados punto a punto con iguales derechos. El concepto opuesto de red es el que empleaban los ordenadores Mainframe con equipos informáticos enormes y usuarios con terminales tontos, que utilizaban la memoria y la capacidad de cálculo del ordenador central y, por ellos mismos, no podían procesar ni guardar datos de forma local. Actualmente, las redes, salvo pocas excepciones, trabajan según el principio cliente−servidor. Determinados ordenadores ofrecen los recursos y controlan la utilización de los mismos, mientras que unos terminales inteligentes (los clientes) recurren a los recursos del servidor, pero también pueden trabajar de forma autónoma. Las redes cliente−servidor pueden estar organizadas centralmente de distintas formas. Estructuras cliente−servidor En redes basadas en el principio cliente−servidor, los servidores ponen a disposición de sus clientes recursos, servicios y aplicaciones. Dependiendo de que recursos ofrecen los servidores y qué recursos conservan en los clientes, se pueden distinguir distintas estructuras cliente−servidor en función del lugar: donde se encuentre los datos 40 donde se encuentren los programas de aplicación y donde se presenten los datos. A continuación se presenta una introducción a estos conceptos Sistema central basado en el host Los datos, programas de aplicación y la presentación se encuentran en el servidor. La imagen final se envía a terminales simples para el usuario. Los terminales vuelven a enviar las cadenas de caracteres de las entradas de usuario al host. Los sistemas Mainframe están basados en este concepto. Downsized − PC−Cliente/Servidor (host) Los datos y aplicaciones se guardan de forma central en el servidor, Los datos se consultan a través de las aplicaciones que guarda el propio servidor. Las estaciones de trabajo son simplemente equipos basados en Windows. Rightsized − estación de trabajo−Cliente/sevidor de base de datos En el servidor se encuentran los datos (generalmente en una base de datos). Con un cliente de la base de datos se accede a esos datos desde el ordenador de cualquier lugar de trabajo. En el cliente se procesan los datos utilizando para ello la inteligencia del cliente. Cada estación de trabajo contiene, de forma local, aplicaciones con las que luego se pueden procesar los datos. Smartsized PC Cliente/Servidor de aplicaciones En este tipo de red, como mínimo, se dispone de dos servidores distintos. Un servidor actúa como mero servidor de base de datos, y el resto como servidores de aplicaciones. En esta red, los servidores de aplicaciones también son responsables del acceso a la base de datos. En cada estación de trabajo se ejecutan las aplicaciones clientes correspondientes. Sistema Cliente/Servidor descentralizado cooperativo A diferencia de la reds Smartsized, la base de datos está distribuida en distintos servidores o incluso clientes. Las aplicaciones funcionan igualmente en varios servidores o, en parte, en clientes. En las redes Windows NT no se aconseja probar la primera variante (sistema central), muy rígida; esta se deja para los ordenadores Mainframe. Todos los grados de descentralización restantes se pueden encontrar en redes puramente NT o incluso en entornos heterogéneos. 6.2 Conceptos de red de Microsoft Microsoft empezó a tratar el tema de redes casi de cero. Las primeras ampliaciones de red para MS−DOS, realmente no ofrecían mucho más que lo que se ha descrito al principio con el concepto más simple. Sin embargo, pronto se encontró muy limitado. Cuando había muchos ordenadores se perdía la visión de conjunto y no se podía saber quién estaba utilizando cada recurso. Además, era necesario apuntarse todos los nombres y direcciones posibles para registrarse individualmente para cada recurso. Este camino condujo a las redes, aún hoy utilizadas, Windows para trabajo en grupo, las redes punto a punto. En ellas, existen unos subgrupos de ordenadores conectados que forman grupos de trabajo. Los ordenadores de un grupo de trabajo pueden utilizar recursos mutuamente. Cada usuario puede decidir, por sí mismo, qué 41 recursos de su ordenador quiere ofrecer a los miembros del grupo de trabajo y qué recursos no. La utilización de archivos y directorios esta graduada mediante simples derechos de acceso. Sólo es posible pasar a otros grupos de trabajo de la misma red registrándose en la red en cuestión. Un grupo de trabajo no puede evitar que un miembro de otro grupo se registre y utilice los recursos compartidos. En las redes punto a punto de Microsoft, no existe ninguna instancia central para el control de los derechos de acceso y las utilizaciones en la red. Únicamente la Personal NetWare de Novell separa rigurosamente entre sí los grupos de trabajo, incluso en redes punto a punto. Estas limitaciones muestran posibles ámbitos de aplicación del concepto punto a punto: en redes totalmente cerradas formadas por pocos ordenadores sin datos de transcendencia comercial, las redes punto a punto, como por ejemplo Windows para trabajo en grupo, prestan perfectamente su servicio. No obstante, la falta de concepto de seguridad y las limitaciones de acceso convierten su utilización en el ámbito empresarial en un riesgo de seguridad inexcusable. Las leyes de protección de datos tampoco se pueden tener en consideración en la extensión que requiere la legislación. La respuesta a ello son las redes cliente−servidor, en las cuales como mínimo un ordenador asume el papel de vigilante y coordinador. Mientras un grupo de trabajo no es nada más que el nombre de un grupo de ordenadores que comparten ciertos recursos, detrás de un dominio hay un grupo de ordenadores que poseen un concepto de seguridad común. Este es administrado por un servidor del dominio, el controlador principal de domino. Por lo tanto, hay dos novedades esenciales: Existe un servidor. Esto significa que no todos los ordenadores tiene los mismos derechos. Cualquier ordenador físicamente conectado no puede utilizar los recursos del grupo de trabajo si no dispone de una autorización de acceso al dominio. Microsoft ha aplicado este concepto de red en la red Windows NT. La posición central la toma aquí el controlador principal de dominio, un servidor NT. Puede estar representado por un servidor sustituto, el controlador de dominio de reserva o controlador de dominio de seguridad. Estos servidores responden al concepto de seguridad y administran los recursos disponibles de forma centralizada. Además, las redes NT también pueden contener otros servidores como simples servidores de archivos o de aplicaciones. Éstos también se incluyen en el concepto de seguridad de Windows NT a través de los controladores de dominio. En las redes Windows NT pueden utilizarse los siguientes sistemas operativos o conexiones de red para clientes u otros servidores: MS−DOS con expansión de red Windows para trabajo en grupo Windows 95 Windows NT OS/2 incluyendo LAN−Manager Novell NetWare y Mac System 7.x (sólo cliente). 6.3 Protocolos de red 42 Las posiciones de confianza siempre son unilaterales: si, como en nuestro ejemplo, el dominio Ventas comparte recursos con miembros seleccionados del dominio Compras, no significa que el dominio Ventas pueda acceder a los recursos del dominio Compras. Para ello, este último también tendría que construir una posición de confianza. 6.5 Organizar dominios Los dominios articulan las redes extensas en redes parciales más claras, y con ello reducen el trabajo de administración. Windows NT soporta hasta 26.000 usuarios y unos 250 grupos de dominio. Sin embargo, no es posible administrar tales cantidades de forma cómoda. El número de dominios en que se divide una organización depende de: el número de usuarios la organización empresarial y las necesidades en cuanto a seguridad de cada uno de los departamentos. A continuación voy a presentar distintos modelos y sus posibilidades de aplicación. Los límites del sistema En primer lugar, el número de usuarios, de ordenadores y de grupos de usuarios influye en la división de una red Windows NT. Para su administración, Windows NT crea una base de datos denominada Directory Database. Esta puede alcanzar como máximo 40 Mbyte y se encuentra tanto en el controlador principal de dominio como en el controlador de dominio de reserva. Windows NT necesita espacio disponible para cada elemento: 1 Kbyte para cada usuario 0,5 Kbytes para cada ordenador de la red y 4 Kbytes para un grupo de unos 300 usuarios. Mediante estos números se pueden plantear situaciones sobre cuándo y con qué configuración una red traspasará los límites de Windows NT. Un dominio único La forma de organización más sencilla de una red NT es un dominio único. Los accesos de los usuarios y los recursos del dominio son controlados por un controlador principal de dominio (PDC) y uno o varios controladores de dominio de reserva (BDC). Cada controlador de dominio puede administrar hasta 5.000 usuarios si está equipado con la memoria RAM suficiente. En un dominio único, los administradores del PDC (controlador principal de dominio) pueden gestionar todos los usuarios, todos los ordenadores (clientes y servidor) y todos los recursos del dominio. Esto requiere una administración eficaz. Si se divide la red, también se dividen las tareas administrativas en varias posiciones. Dominios maestros únicos 45 Si una red es lo suficientemente pequeña para administrarse en un dominio único pero, por razones de organización, dentro de la empresa se necesitan distintos dominios, la opción apropiada es el concepto de dominios maestros únicos. En el mismo, todos los usuarios y grupos de usuarios globales se crean y administran en el domino maestro. Los ordenadores de cada una de las distintas unidades organizativas de la empresa se sitúan en distintos dominios, los cuales ponen su confianza en el dominio maestro. En este modelo, los usuarios se registran en el domino maestro. Este dominio en sí no ofrece ningún otro recurso, sino que únicamente regula las configuraciones de seguridad de los usuarios y grupos de usuarios. Los recursos propiamente dichos son ofrecidos por los otros dominios. Gracias a la posición de confianza unilateral del resto de dominios hacia el dominio maestro, éste puede servir de mediador entre los recursos de cada uno de los dominios. Un dominio maestro se administra de forma centralizada. Esta tarea se puede realizar por un centro de cálculo o un departamento especial de informática. En este caso, los administradores se benefician de la administración centralizada: deben cuidarse en un único dominio de los usuarios y grupos de usuarios, así como de sus configuraciones de seguridad y, por lo tanto, pueden administrar una red de muchos dominios distintos. En cambio, los recursos de cada uno de los dominios de una red de este tipo pueden administrarse en el dominio maestro o en el dominio respectivo. Los datos delicados como la administración de usuarios se deja en unas manos, mientras que los datos menos delicados, como la administración de recursos, se delegan a cada una de las unidades organizativas que gestionan dominios propios. Cada uno de los dominios se puede dividir para adaptarse a la organización de la empresa. En una organización de este tipo, los controladores de dominio de reserva de cada uno de los dominios trabajan como controladores de dominio de reserva del dominio maestro y aseguran la red múltiples veces contra fallos de los controladores de dominio. Dominios maestros múltiples En el caso de los dominios maestros múltiples, se vinculan entre si dos o más dominios maestros. Todos los dominios de los dominios maestros tienen una posición de confianza unilateral hacia todos los dominios maestros. Los dominios maestros, por su parte, tienen una posición de confianza bilateral entre sí. Al igual que en el concepto de dominios maestros únicos, los accesos de usuarios sólo se gestionan en los dominios maestros, mientras que el resto de dominios ponen a disposición sus recursos. En un dominio maestro múltiple (dividido), cada usuario de cualquier dominio de recursos puede registrarse en cualquier dominio maestro, ya que los dominios maestros tienen posiciones de confianza bilaterales en ambas direcciones. En este modelo, a cada usuario del dominio maestro se le asigna exactamente una cuenta de ordenador, de forma que en cada dominio maestro se pueden administrar hasta 26.000 usuarios. Organización flexible Los dominios maestros múltiples ofrecen las siguientes ventajas: Es posible administrar organizaciones con más de 40.000 usuarios dividiéndolas en distintos dominios maestros. En principio, el concepto de los dominios múltiples no tiene número máximo de usuarios, puesto que se pueden instalar tantos dominios maestros como se desee. Los usuarios móviles, como colaboradores en el exterior, pueden conectarse desde cualquier lugar del mundo y desde cualquier dominio de recursos de la red. 46 La red se puede administrar de forma centralizada (dentro del marco de los dominios maestros) o descentralizada (también a nivel de los dominios de resursos). En el modelo de dominios maestros múltiples también se pueden reproducir estructuras organizativas complejas. Las empresas con filiales por todo el mundo, las unen en una sola red a través de dominios maestros divididos. Dicha red se puede administrar, a pesar de todo, de forma centralizada dentro de cada una de las filiales. Los controladores de dominio de reserva pueden estar distribuidos a través de LANs y WANs para protegerlas especialmente contra pérdidas de datos debidas a incendio o catástrofe similar. 6.6 Solución para los nombres Con la red cliente−servidor y el concepto de dominios, podría estar solucionado el riesgo de seguridad de este concepto de red tan simple. Pero ahora queda por resolver la cuestión de los nombres: ¿cómo pueden saber los usuarios de una red, ya sea cliente−servidor o punto a punto, qué ordenador ha compartido qué recursos y con qué nombre? Este problema lo solucionan distintos conceptos. Listas de nombres estáticas La solución más simple es un archivo con los nombres y los recursos compartidos de todos los clientes y servidores de la red. Consultando este archivo se pueden observar los recursos disponibles. Un archivo de este tipo debe estar ubicado de forma centralizada en el servidor de registro de la red, a fin de que los clientes lo puedan consultar. El concepto es sencillo y suficiente, siempre y cuando no se modifique mucho la estructura de la red. Sobre todo no se debe modificar el nombre del servidor, ya que en tal caso los clientes ya no sabrían dónde se tienen que registrar y, por lo tanto, tampoco podrían consultar las listas de recursos. Además, no se conocen todos los recursos compartidos hasta que no se reinician los clientes y el servidor. Estas listas de nombres estáticas también existen actualmente en Windows NT. Con ellas es posible administrar: los nombres para el NetBIOS en el archivo Lmhosts los nombres de redes TCP/IP en el archivo Hosts. Ambos archivos se encuentran en el subdirectorio System32Drivers\etc del directorio raíz de Windows NT. Listas dinámicas Una ampliación sencilla del concepto son las listas dinámicas. Aquí, el servidor consulta los recursos compartidos en todos los ordenadores de la red, a intervalos regulares. De esta forma, los clientes también conocen, a intervalos regulares, los nuevos recursos compartidos del servidor. Este concepto representado en redes Novell 3.1x se denomina Service Advertising Protocol (SAP). El inconveniente decisivo de esta solución se presenta en redes grandes con numerosos recursos compartidos: en estos casos, la actualización de las listas sobrecarga la red. Examinador de red 47 al menos un hilo que ejecuta código en el espacio de direcciones del proceso. En el caso de que no exista ningún hilo que ejecute código en el espacio de direcciones del proceso, no hay razón para que este último siga existiendo, por lo que el sistema lo destruye a él y a su espacio de direcciones. Para que se ejecuten todos esos hilos, el sistema operativo planifica y distribuye el tiempo de la CPU entre ellos. El sistema operativo crea la ilusión de que todos los hilos se ejecutan simultáneamente entregándoles rodajas de tiempo (time slice) de modo cíclico. Cada proceso tiene un bloque de entorno asociado. Un bloque de entorno consiste en un bloque de memoria reservada dentro del espacio de direcciones del proceso. Cada bloque contiene un conjunto de cadenas con el siguiente aspecto: NombreVar1=ValorVar1\0 NombreVar2=ValorVar2\0 NombreVar3=ValorVar3\0 .... NombreVarX=ValorVarX\0 La primera parte de cada cadena es el nombre de una variable de entorno. En nombre va seguido del signo igual, al que sigue el valor que se desea asignar a la variable. Todas las cadenas del bloque de entorno deben estar ordenadas alfabéticamente, en función de los nombres de las variables. A causa de la utilización del signo igual para separar el nombre del valor, dicho signo no puede formar parte del nombre. Además, los espacios son significativos. Por ejemplo, si se declaran dos variables: XYZ= Win32 {Obsérvese el espacio que sigue al signo igual.} ABC=Win32 Y a continuación se comparan los valores de XYZ y ABC, el sistema informará que son diferentes. Normalmente, un proceso hijo hereda un conjunto de variables de entorno que coincide exactamente con el de su proceso padre. Sin embargo, el proceso padre puede controlar qué variables de entorno va a heredar el proceso hijo. Cuando digo heredar, quiero decir que el proceso hijo obtiene su propia copia del bloque de entorno del padre, no que ambos comparten el mismo bloque. Esto significa que el proceso hijo puede añadir, borrar o modificar variables en su bloque, y estos cambios no se reflejan en el bloque del padre. Habitualmente, las aplicaciones utilizan las variables de entorno para dar la oportunidad al usuario de hacer ajustes finos del comportamiento de las mismas. El usuario crea una variable de entorno y le asigna su valor. Entonces, cuando el usuario invoca la aplicación, ésta examina el bloque de entorno buscando la variable. Si la encuentra, la aplicación analiza su valor y ajusta su comportamiento. El problema es que los usuarios no suelen entender ni asignar valor a las variables de entorno con facilidad. Los usuarios deben deletrear correctamente los nombres de las variables, y también deben conocer con exactitud la sintaxis que la aplicación espera en los valores. Por otra parte, la mayoría (si no todas) de las aplicaciones gráficas permitan a los usuarios realizar el ajuste fino del comportamiento de las mismas mediante cuadros de dialogo. Esta aproximación es mucho más amigable para el usuario, y también es más recomendable. 50 Cada proceso tiene asociado un conjunto de banderas que indican al sistema cómo debería responder el proceso ante errores serios. Entre los errores serios están los fallos del medio de almacenamiento de los discos, escepciones sin gestión prevista, fracasos en la búsqueda de archivos, y un mal alineamiento de los datos. Un proceso puede indicar al sistema cómo gestionar cada uno de estos errores si llama a la función SetErrorMode: UINT SetErrorMode (UINT fuErrorMode); El parametro fuErrorMode es una combinación de cualquiera de las banderas de la tabla adjunta, realizando una operación OR lógica a nivel de bit con las mismas. Bandera Descripción SEM_FAILCRITICALEERRORS El sistema no muestra el cuadro de mensajes del gestor de errores críticos y devuelve el tipo de error al proceso que hizo la llamada. SEM_NOGPFAULTERRORBOX El sistema no muestra el cuadro de mensajes de fallo de protección general (PG). Esta bandera sólo debe ser activada por aplicaciones de depuración que son capaces de tratar los fallos de PG por sí mismas, con un gestor de excepciones. SEM_NOOPENFILEERRORBOX El sistema no muestra un cuadro de mensajes cuando fracasa al tratar de encontrar un archivo. SEM_NOALIGNMENTFAULTEXCEPT El sistema corrige automáticamente los alineamientos de memoria defectuosos y los hace invisibles a la aplicación. Esta bandera no tiene efecto en los procesadores x86 o Alpha. Por omisión, un proceso hijo hereda las banderas de modo de error de su padre. En otras palabras, su un proceso tiene en la actualidad activada la bandera SEM_NOGPFAULTERRORBOX y engendra un proceso hijo, éste tendrá también dicha bandera activada. Sin embargo, esto no se le notifica al proceso hijo, y quizá no haya sido escrito para que gestione los errores por fallo de PG. Si ocurriera un fallo de PG en uno de los hilos del proceso hijo, la aplicación hija podría concluir sin avisar al usuario. De todas formas, un proceso padre puede evitar que su modo de error sea heredado por sus hijos. Un proceso puede terminar de tres maneras: Un hilo del proceso llama a la función ExitProcess (éste es el método más común). Un hilo de otro proceso llama a la función TerminateProcess (este método debe evitarse). Todos los hilos del proceso se mueren por sí solos (esto rara vez ocurre). Procesos hijos Cuando se diseña una aplicación, surgen situaciones en las cuales se desea que otro bloque de código lleve a cabo un determinado trabajo. A menudo se asigna el trabajo mediante llamadas a funciones o subrutinas. Cuando se llama a una función, la ejecución del código que la llama queda detenida hasta que esta vuelve. Y en muchas situaciones, s necesaria esta sincronización de una única tarea. Una manera alternativa para que otro bloque de código lleve a cabo una tarea es crear un nuevo hilo en el proceso y hacer que colabore en el procesamiento. Esto permite al código restante continuar la ejecución 51 mientras el hilo lleva a cabo el trabajo solicitado. Esta técnica es útil, pero crea problemas de sincronización cuando el hilo original desea ver los resultados obtenidos por el nuevo hilo. Otra aproximación es la de engendrar un nuevo proceso −in proceso hijo− para que eche una mano con el trabajo. Supongamos que el trabajo a realizar es bastante complejo. Para acometerlo, simplemente se decide crear un nuevo hilo en el proceso. Se escribe el código correspondiente, se prueba y se observan resultados incorrectos. Podría haber un error en el algoritmo, o quizá se desreferenció algo de manera incorrecta, produciendo la sobreescritura de alguna cosa importante en el espacio de direcciones. Una forma de proteger el espacio de direcciones y conseguir que se haga el trabajo es crear un nuevo proceso que se ocupe de ello. 7.2 Hilos Un hilo describe una trayectoria de ejecución dentro de un proceso. Cada vez que arranca un proceso, el sistema crea su hilo principal. Para muchas aplicaciones, este hilo principal es el único que requieren. Sin embargo, los procesos pueden crear hilos adicionales que les ayuden en su trabajo. La idea que subyace a todo esto es la de aprovechar todo el tiempo de CPU que sea posible. Por ejemplo, un programa de hoja de cálculo necesita recalcular los resultados a medida que el usuario modifica los datos introducidos en las celdas. Dado que esos cálculos le pueden llevar varios segundos si la hoja de cálculo es compleja, una aplicación bien diseñada no recalcula todo cada vez que el usuario hace un cambio. En vez de esto, la función para recalcular se ejecuta en un hilo aparte, de menor prioridad que el hilo principal. Así, el usuario está tecleando, se ejecuta el hilo principal, lo que significa que el sistema no planificará tiempo para el hilo que recalcula la hoja. Cuando el usuario deja de teclear, el hilo principal se para, esperando nueva entrada, y se asigna el tiempo al segundo hilo. Tan pronto como el usuario vuelve a teclear, el hilo principal, que tiene mayor prioridad, apropia la CPU al hilo que recalcula. Al crear un hilo adicional, el programa responde al usuario de una manera mucho más rápida. Además, es bastante sencillo implementar este tipo de diseño. Cuando no se debe crear un hilo A muchos programadores les ocurre que, la primera vez que se les da acceso a un sistema que admite múltiples hilo, entran en éxtasis. Si hubieran podido tener hilos antes, sus aplicaciones habrían sido tan sencillas de escribir... Y, por alguna razón desconocida, estos programadores empiezan a dividir una aplicación en trozos, cada uno de los cuales se puede ejecutar en un hilo. Ésta no es la manera correcta de proceder a la hora de desarrollar una aplicación. Los hilos son increíblemente útiles, y tienen su lugar, pero al utilizar hilos se pueden crear nuevos problemas potenciales al intentar resolver los antiguos. Por ejemplo, digamos que estamos desarrollando una aplicación de proceso de texto y deseamos permitir a la función de impresión que se ejecute en su propio hilo. Esto suena bien, ya que de ese modo el usuario podrá volver a editar el documento de inmediato, mientras éste se está imprimiendo. Pero, un momento: esto significa que los datos del documento podrían cambiar durante la impresión. Esto hace surgir un nuevo tipo de problema enteramente nuevo, que será necesario acometer. Quizá no fuera lo mejor tener la impresión ejecutándose en su propio hilo; pero esta solución parece un tanto drástica. ¿Qué tal si permitimos al usuario que edite otro documento, mientras el que se imprime queda bloqueado hasta que concluya la impresión? O copiar el documento a un archivo temporal, imprimir el contenido del archivo temporal y dejar que mientras el usuario modifique el original. Una vez que ha concluido la impresión del archivo temporal, éste puede borrarse. Como se puede ver, los hilos ayudan a solucionar algunos problemas pero de corre el riesgo de crear otros nuevos. Al igual que un proceso, el hilo puede terminar de tres maneras: 52 Con Windows NT, el usuario puede controlar la mejora de prestaciones que hace el sistema en los procesos normales de primer plano, pulsando dos veces en la opción Sistema del Panel de Control, y después pulsando en la etiqueta Rendimiento. Ésta presenta un cuadro de diálogo, donde la barra de desplazamiento Mejora indica en qué medida debe mejorarse el cuanto de tiempo de los hilos de primer plano. Si la barra de desplazamiento está en Ninguno, el cuanto del hilo se multiplica por 1; si la barra de desplazamiento está en Máximo el cuanto de tiempo se multiplica por tres; y si está en el medio, el cuanto se multiplica por 2. La prioridad en reposo es perfecta para aplicaciones que vigilen el sistema. Por ejemplo, podría escribirse una aplicación que muestre periódicamente la cantidad de RAM disponible en el sistema. Como no sería deseable que esta aplicación interfiriera en las prestaciones de otras aplicaciones, habría que establecer que la clase de prioridad de este proceso fuera IDLE_PRIORITY_CLASS. Otro buen ejemplo de una aplicación que puede utilizar la prioridad en reposo es un protector de pantallas. Un protector de pantallas pasa la mayor parte del tiempo simplemente observando las acciones del usuario. Cuando el usuario permanece inactivo, durante un cierto periodo de tiempo, el protector de pantallas se activa. No hay razón para que el protector de pantallas observe las acciones del usuario con alta prioridad, así que su prioridad puede ser perfectamente en reposo. La clase de alta prioridad sólo debe utilizarse cuando resulte absolutamente necesario. La cuarta bandera de prioridad, REALTIME_PRIORITY_CLASS, no debe utilizarse prácticamente nunca. La prioridad de tiempo real es extremadamente alta, y dado que la mayoría de los hilos en el sistema (incluidos los de gestión del sistema) se ejecutan con una prioridad menor, se verían afectados por un proceso de esta clase. En la práctica, los hilos del sistema que controlan el ratón y el teclado, el volcado a disco en segundo plano, y la vigilancia de la combinación Ctrl+Alt+Del, operan todos ellos con una prioridad menor que la de la clase de tiempo real. Si el usuario está moviendo el ratón, el hilo que controla su movimiento pierde la CPU ante la llegada de un hilo de tiempo real. Esto afecta al movimiento del ratón, que se moverá a trompicones, en vez de hacerlo con suavidad. Pueden también, presentarse consecuencias más serias que ésta, como pérdidas de datos. Podría utilizarse la clase de prioridad de tiempo real si se escribe una aplicación que se entienda directamente con el hardware, o si se necesita realizar alguna tarea de corta duración y se quiere tener una seguridad casi absoluta de que no va a ser interrumpida. Un proceso no puede ejecutarse con la clase de prioridad de tiempo real si el usuario que ha accedido al sistema no dispone del privilegio de Incremento de la prioridad en la planificación. Cualquier usuario que se designe como administrador o bien como usuario intensivo tiene este privilegio por defecto. Se puede otorgar este privilegio a otros usuarios o grupos de usuarios mediante el Administrador de usuarios de Windows NT. Como establecer la prioridad relativa de un hilo Cuando se crea un inicialmente un hilo, su nivel de prioridad es el de la clase de prioridad de su proceso. Por ejemplo, al hilo principal de un proceso de la HIGH_PRIORITY_CLASS se le asigna un nivel de prioridad inicial de 13. A pesar de ello, es posible elevar o disminuir la prioridad de los hilos individuales. La prioridad de un hilo está siempre relacionada con la clase de prioridad del proceso que lo posee. Se puede cambiar la prioridad relativa dentro de un proceso de un hilo del mismo llamando a SetThreadPriority: BOOL SetThreadPriority (HANDLE hThread, int nPriority); El primer parámetro, hThread, es el descriptor del hilo cuya prioridad se desea modificar. El parámetro 55 nPriority puede ser cualquiera de los valores que se muestran en la tabla siguiente. Identificador Significado THREAD_PRIORITY_LOWEST La prioridad del hilo debe ser dos unidades menor que la de la clase del proceso. THREAD_PRIORITY_BELOW_NORMAL La prioridad del hilo debe ser una unidad menor que la de la clase del proceso. THREAD_PRIORITY_NORMAL La prioridad del hilo debe ser igual que la de la clase del proceso. THREAD_PRIORITY_ABOVE_NORMAL La prioridad del hilo debe ser una unidad mayor que la de la clase del proceso. THREAD_PRIORITY_HIGHESTLOWEST La prioridad del hilo debe ser dos unidades mayor que la de la clase del proceso. En el momento de crear un hilo, su prioridad inicial es THREAD_PRIO−RITY_NORMAL. Las reglas que se aplican a los hilos dentro de los procesos son similares a las que se aplican a los hilos de diferentes procesos. Sólo se debe asignar a un hilo la THREAD_PRIORITY_HIHGEST cuando sea absolutamente necesario para que el hilo se ejecute correctamente. El planificador dejará morir de inanición a los hilos de menor prioridad si hay hilos de alta prioridad que necesiten ejecutarse. Además de las banderas que recoge la tabla, se pueden pasar dos banderas especiales a SetThreadPriority: THREAD_PRIORITY_IDLE y THREAD_PRIORITY_TIME_ CRITICAL. Si se especifica THREAD_PRIORITY_IDLE, el nivel de prioridad del hilo se establece a 1, con independencia de que la clase de prioridad del proceso sea en reposo, normal o alta. Sin embargo, si la clase del proceso es de tiempo real, entonces el valor se establece en 16. Si se indica THREAD_PRIORITY_TIME_CRITICAL la prioridad del hilo se establece en 15, con independencia de que la clase del proceso sea en reposo, normal, o alta. Sin embargo, si la clase de prioridad del proceso es de tiempo real, THREAD_PRIORITY_TIME_CRITICAL establece el nivel de prioridad en 31. La siguiente tabla muestra el modo en que el sistema combina la clase de prioridad de un proceso con la propiedad relativa de los hilos, para calcular el nivel básico de prioridad de éstos. Clases de prioridad del proceso Prioridad relativa del hilo En reposo Normal Alta De tiempo real Crítica en tiempo 15 15 15 31 La más alta 6 10 15 26 Superior a lo normal 5 9 14 25 Normal 4 8 13 24 Inferior a lo normal 3 7 12 23 La más baja 2 6 11 22 En reposo 1 1 1 16 Modo en que el sistema determina el nivel básico de prioridad de un hilo. 56 La tabla anterior muestra las prioridades de los hilos de los procesos de la clase normal, cuando se ejecutan en segundo plano. En Windows NT, estas prioridades no cambian al pasar el proceso al primer plano; sólo cambian los cuantos de tiempo que se asignan a los hilos. Mejora dinámica de los niveles de prioridad de los hilos El nivel de prioridad que se determina por la combinación de la clase de prioridad del proceso y la prioridad relativa del hilo se denomina nivel básico de prioridad. Ocasionalmente, el sistema mejora el nivel de prioridad de un hilo. Esto ocurre habitualmente como respuesta a la aparición de un suceso de E/S, tal como un mensaje de ventanas o una lectura de disco. Por ejemplo, un hilo con una prioridad relativa normal que se ejecute en un proceso de la clase de alta prioridad tiene un prioridad básica de 13. Si el usuario pulsa una tecla, el sistema coloca un mensaje WM_KEYDOWS en la cola del hilo. A causa de que el mensaje aparezca en la cola del hilo, el sistema asigna temporalmente la CPU a ese hilo, para que pueda procesar el mensaje. Además, el sistema también hace una mejora temporal de la prioridad del hilo, desde 13 a 15 (el valor real puede variar). Este nuevo nivel de prioridad del hilo se denomina prioridad dinámica. Una vez que la CPU ejecuta el hilo durante una rodaja de tiempo completa, su prioridad baja a 14. De nuevo, cuando se le asigne la CPU y pueda ejecutar otra rodaja de tiempo completa, cuando ésta acaba, el sistema reduce de nuevo la prioridad en uno. El sistema no permite que la prioridad dinámica de un hilo nunca esté por debajo de su nivel básico de prioridad. Microsoft hace continuamente ajustes finos de las mejoras dinámicas del sistema para alcanzar los mejores resultados medios. Todo este esfuerzo esta destinado a conseguir que el sistema responda de manera inmediata al usuario final. Dicho sea de paso, el sistema nunca mejora la prioridad dinámica de los hilos que están en el rango de tiempo real (valores de 16 a 31). El sistema sólo mejora los hilos del rango dinámico. Por otra parte, el sistema tampoco mejorará un hilo si su prioridad va a entrar en el rango de tiempo real (valores de 15 o superiores). 8 ADMINISTRACIÓN DE USUARIOS Windows NT es un auténtico sistema operativo de red multiusuario. Por eso, a diferencia de Windows 95 y de Windows 3.x, es necesaria una administración de los usuarios. Los administradores del sistema son los que definen quién está autorizado a utilizar los dominios del servidor NT y con qué derechos. A los usuarios locales de NT Workstation se les ofrece la posibilidad de personalizar la pantalla de presentación del entorno Windows NT. La administración de los usuarios tiene tareas fundamentales: Posibilitar la personalización y optimización de la pantalla de presentación y el funcionamiento del sistema operativo para el mayor número de usuarios posible, de acuerdo con las necesidades de cada uno de ellos. Eso significa que, para proteger los datos, aveces es conveniente no permitir el libre acceso de todos los usuarios a todos los archivos de NT Server. la segunda tarea fundamental es garantizar la seguridad del sistema. Los derechos limitados de todo usuario normal no permitan modificar los archivos más importantes del sistema (como son los archivos de registro) ni, por lo tanto, causar daños graves. Por esa razón no siempre es conveniente hacerse administrador de NT Workstation cuando se es el único usuario de la misma. Los administradores de red de un dominio NT sólo deberían entrar en la red como administradores para trabajos de mantenimiento: para reconocer rápidamente el mal uso de los derechos de acceso a la red de los usuarios normales. 57
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved