UNIVERSIDAD TECNOLOGICA DE SANTIAGO (UTESA) NOMBRE Materia Sistema Operativo II−B Tema Resumen Capitulo 11 Windows 2000 Sección 006 Santo Domingo D.N 14/12/2007 Windows 2000 es un sistema operativo moderno que se ejecuta en computadoras personales de escritorio y servidores de alto nivel. HISTORIA DE WINDOWS 2000 Los sistemas operativos de Microsoft para las PCs de escritorio y portátiles pueden dividirse en tres familias: MS−DOS Windows para consumidor (Windows 95,98 y me) y Windows NT MS − DOS En 1981, que entonces era la compañía de computadoras más grande y poderosa del mundo produjo la PC de IBM basada en el 8088. La PC venia equipada con un sistema operativo real de 16 bits, monousuario manejado mediante líneas de comandos, llamado MS− DOS 1.0 un sistema operativo proporcionado por Microsoft, una pequeña compañía naciente, a la que en ese tiempo se conocía principalmente por su interprete de Basic que se usaba en sistemas 8088 y Z−80. WINDOWS 95−98−ME Windows 95, que salio en agosto del 1995 no elimino por completo a MS−DOS aunque si transfirió toda la funcione del DOS a la parte Windows. Juntos Windows y el nuevo MS− dos 7.0 contenían casi todas las funciones de un sistema operativo completo incluía memoria virtual, administración de procesos y multiprogramación. Sin Embargo Windows 95 no era un programa de 32 bits cabal. Windows 98 liberado en junio del 1998, MS−DOS seguía presente (ahora en la versión 7.1 y ejecutando código de 16 bits. Aunque había migrado aun más funcionalidad de la parte de DOS a la parte Windows y ahora se usaba en forma estándar una organización de disco apropiada para discos mayores, en su interior Windows 98 no era muy diferente de Windows 95. 1 Windows Me fue lanzada en el ano del milenio como una modernización menor de Windows 98, aunque en ella se corregían algunos errores y se añadían unas cuantas funciones, en los aspectos internos era en esencia a Windows 98. WINDOWS NT A finales de los anos 80, Microsoft se dio cuenta que construir un sistema operativo moderno de 32 bits encima del MS−Dos de 16 bits, con todos sus defectos, quizás no era la mejor estrategia. La compañía recluto a David Cutler, Uno de los diseñadores claves del sistema operativo VMS De Dec, para que encabezaran un equipo que produjera un sistema operativo de 32 bits completamente nuevo y compatible con Windows, este nuevo sistema llamado Windows NT (Windows Nueva tecnología). DIFERENTES VERSIONES DE WINDOWS 2000 Durante el arranque, el sistema operativo consulta el registro para ver de qué versión se trata Versión Profesional Servidor Servidor Avanzado Serv. De Datos RamMax. 4GB 4Gb CPUS 2 4 Max.Clientes 10 Ilimitados Tam.Cluster 0 0 Optimizado Para Tiempo de respuesta Vel.real De transporte 8GB 8 Ilimitados 2 Vel.real De transporte 64GB 32 Ilimitados 4 Vel.real De transporte Las diferencias incluyen el máximo de memoria que puede manejarse, el número máximo de procesadores (En una configuración multiprocesador). El numero máximo de clientes que es posible atender. El tamaño del cluster se refiere a la capacidad de Windows 2000 que dos o cuatro maquinas parezcan un solo servidor desde la perspectiva del mundo exterior, función útil en el caso de servidores Web. EL REGISTRO Windows necesita mantenerse al tanto de una gran cantidad de información acerca del hardware el software y los usuarios. En Windows 3x esta información se almacenaba en cientos de archivos .ini (De iniciación) disperso por todo el disco. Apartir de Windows 95, casi toda la información para arrancar y configurar el sistema y adaptarlo al usuario se reunió en una gran base de datos central llamado registro. El registro de Windows 2000 es una de las partes peores o complicadas y la nomenclatura no ayuda en nada. Por fortuna se han escrito libros enteros para describirlos. LA CAPA DE ABSTRACCIÓN DEL HARDWARE Una de las metas de Windows 2000 y NT era que el sistema operativo fuera portátil entre plataforma. De manera ideal, cuando llega una nueva maquina, debería ser posible recompilar el sistema operativo con el compilador de la nueva maquina y hacer que se ejecute la primera vez. Por desgracia la vida no es así. Aunque puede lograrse que las capas superiores del sistema operativo sean portátiles completamente (por que en su mayor parte manejan estructuras de datos internas). Las capas inferiores se encargan de registros de dispositivos, interrupciones DMA y otras características de hardware que difieren en forma apreciable de una maquina a otra. Aunque todo el código de bajo nivel esta escrito en c no es posible tan solo tomarlo de una Pentium, ponerlo en una alpha, digamos recompilarlo y rearrancarlo, debido a las múltiples pequeñas diferencias de hardware 2 entre Pentium y alpha que nada tienen que ver con los diferentes conjuntos de instrucciones y que el compilador no puede ocultar. Consiente de este problema Microsoft hizo un intento serio por ocultar muchas de las pendencias de la maquina en una capa delgada situada hasta abajo llamada capa de abstracción del hardware. CÓDIGO PARA CALENDARIZAR SUB. PROCESOS El código para calendarizar sub.−procesos también esta en el kernel. Cuando llega el momento de ver si puede ejecutarse un nuevo sub. proceso, por ejemplo. Después que se agota un cuanto o después de que termina una interrupción de entrada y salida, el kernel escoge el sub. Proceso y efectúa la conmutación de contexto para ejecutarlo. Desde el punto de vista el resto del sistema operativo, las capas inferiores manejan en forma automática la conmutación de sub. Procesos de forma portátil, sin que el resto del sistema operativo tenga que efectuar trabajo alguno. Los objetos de control son aquellos que controlan el sistema e incluyen los objetos de procesos primitivos, los objetos de interrupción y dos objetos un tanto extraños Llamados DPC y APC. Un objeto de llamada diferida a procedimiento DPC, que sirve para separar la parte de un procedimiento de servicio de interrupción para la cual el tiempo no es crítico, para la parte la cual si lo es. En general un procedimiento de servicio de interrupción guarda unos cuantos registros de hardware volátiles asociado al dispositivo de entrada y salida, interruptor para que no se sobrescriban y vuelve habilitar el hardware, pero deja el grueso del procesamiento para después. EL ADMINISTRADOR DE SEGURIDAD Este hace que se respete el complejo mecanismo de seguridad de Windows 2000. Puesto que se trata de un sistema operativo orientado al trabajo en red y a la compartición de recursos, la familia Windows 2000 ha integrado sólidas tecnologías de seguridad. La intencion es que cada usuario pueda comprender como funcionan estas tecnologias y controlarlas de forma cabal. Esta "infraestructura" de seguridad funciona en tres niveles: Local: Se refiere a la protección de datos en el ordenador. El sistema esta diseñado para evitar que usuarios no autorizados se "salten" el sistema de arranque y, por tanto, tambien las funciones de seguridad. Algunos fabricantes de hardware integran sistemas de "contraseña", una solucion no muy adecuada para entornos de trabajo compartido. La encriptación de los datos en el disco NTFS es un servicio que se basa en la arquitectura CriptoAPI de Windows para implementar el sistema de llaves publicas. Cada archivo (incluyendo sus temporales de trabajo) se encripta a traves de una llave generada aleatoriamente, utilizando algoritmos asimétricos. W2000 es el primer operativo que implementa encriptacion de 128 bits en un proceso transparente, ya que ENF encripta y desencripta los archivos localizando las llaves del usuario, bien desde el almacen del sistema o desde los dispositivos como los Smart Cards Corporativo: Se refiere a la protección de datos en una red local. W2000 utiliza el protocolo de autentificación Kerberos version, 5, un estandar de seguridad en redes locales e intranets que verifica y hace un seguimiento de la actividad de cada usuario dentro de la red. Kerberos permite un control del acceso unificado a casi cualquier entorno de red, eliminando la necesidad de obtener permisos y esperar la respuesta 3 de cada vez que un cliente desea acceder a un nuevo recurso de la red. Publico: W2000 utiliza también sistemas de llaves publicas y protocolos de autenticación para mantener la seguridad de las comunicaciones que se realizan por Internet, de forma que verifique la procedencia de mensajes de correo o garantice las fuentes de donde proceden las descargas. Por otra parte, incluye soporte para redes privadas virtuales (VPN), protocolos encapsulados que crean un "canal" de comunicación privado a traves de redes públicas. El soporte VPN se realiza a traves del protocolo PPTP (Point to Point Tunneling Protocol), Layer 2 Tunneling Protocol e IPSec, un protocolo que implementa una gama de funciones sobre una capa de red encriptada. EL ADMINISTRADOR DE CACHE Mantiene en la memoria los bloques de disco mas recientemente utilizados para agilizar el acceso a ellos en el portable caso de que se vuelvan a necesitar. Su labor consiste en determinar cuales bloques es probable que se vayan a necesitar otra vez y cuales no. Es posible configurar Windows 2000 con múltiples sistemas de archivos, en cuyo caso el administrador de cache trabajara para todos ellos. De modo que no tenga que efectuar su propia administración de cache cada uno. Cuando se necesita un bloque, se pide al administrador de cache que lo proporcione. Si el administrador de cache no tiene el bloque lo solicita al sistema de archivo apropiado. Puesto que los archivos pueden tener correspondencia con los espacios de direcciones de los procesos, el administrador de cache debe interactuar con el administrador de memoria virtual para mantener la consistencia necesaria. La cantidad de espacio dedicada al cache es dinámico y puede aumentar o reducirse al cambiar la demanda. EL ADMINISTRADOR DE PLUG−AND−PLAY Este recibe todas las notificaciones de dispositivos nuevos recién conectados, en el caso de algunos dispositivos se efectúa una verificación en el momento del arranque pero no después. Otros dispositivos como USB, pueden conectarse en cualquier momento y su conexión genera un mensaje dirigido al administrador de plug−and−play que entonces localiza y carga el controlador apropiado. EL ADMINISTRADOR DE CONSUMO DE ELECTRICIDAD Trata de reducir al mínimo el consumo de energía. Esto lo hace apagando el monitor y los discos sin han estado inactivo durante un cierto tiempo. En las ladtops el administrador de consumo de electricidad vigila el consumo de la batería y toma ciertas medidas cuando la batería esta apunto de agotarse. Esas acciones por lo general incluyen avisar a los programas que guarden sus archivos y se preparen para una terminación ordenada y que se apresuren hacerlo. EL ADMINISTRADOR DE CONFIGURACIÓN Esta acargo del registro; añade nuevas entradas y consulta claves cuando se les pide hacerlo. EL ADMINISTRADOR DE LLAMADAS A PROCEMIENTOS LOCALES Ofrece un mecanismo muy eficiente de comunicación entre procesos, que se usa entre los procesos y los subsistemas. Puesto que este mecanismo es necesario para ejecutar algunas llamadas al sistema, la eficiencia 4 es crucial aquí, y es por ello que no se emplean los mecanismos estandar de comunicación entre procesos. El modulo GDI Win 32 del ejecutivo maneja ciertas llamadas al sistema (Pero no todas). En un principio estaba un espacio de usuario pero se paso al espacio del kernel en NT 4.0 para mejorar el desempeño LA INTERFAS DE DISPOSITIVOS GRÁFICOS. Esta se encarga de administrar imágenes para el monitor y las impresoras. Ofrece llamadas al sistema que permiten a los programas de usuario escribir en el monitor y en las impresoras en forma independiente del dispositivo. También contiene el administrador de ventanas y el controlador de pantalla. Antes de NT, este componente también estaba en espacio de usuario, pero su desempeño era decepcionante así que Microsoft lo paso al kernel para acelerarlo. LA CAPA LLAMADA SERVICIO DEL SISTEMA Su función es proporcionar una interfaz con el ejecutivo. Esta capa acepta las verdaderas llamadas al sistema de Windows 2000 e invoca a otras partes del ejecutivo para que las ejecute. En el momento del arranque Windows 2000 se carga en la memoria en forma de una colección de archivos, la parte principal del sistema operativo que consta del kernel y ejecutivo, esta en el archivo ntoskml.exe. EL ARCHIVO NTOSKRNL.EXE Viene en dos versiones uníprocesador y multiprocesador. También hay versiones para el procesador Xeon, que puede tener más de 4 GB de memoria física, y el Pentium, que no puede. Por ultimo, las versiones pueden consistir en una compilación libre Que la venden en tiendas y la preinstalan los fabricantes de computadoras'' o una compilación verificada para fines de depuración. En Total podría haber ocho combinaciones, aunque dos pares se combinaron, con lo que quedan seis. Una de estas se copia en ntoskrnl.exe cuando se instala en el sistema, vale la pena hablar un poco de las compilaciones verificadas. Cuando se instala un dispositivo de entra y salida nuevo en una PC, siempre debe instalarse un controlador, proporcionado por el fabricante. Para que funcione. Supongamos que se instala una tarjeta IEEE 1394 en una computadora y el parecer funciona bien. Dos Semanas después el sistema falla de pronto. El Dueño culpa a Microsoft del error, el error de programación si podría ser de Microsoft, pero algunos se deben en realidad a controladores defectuosos. Sobre los cuales Microsoft no tiene ningún control y que se instalan en la memoria del kernel con pleno acceso a todas sus tablas, así como a todo el hardware. En un intento por reducir el número de clientes iracundos que llaman por teléfono, Microsoft trata de ayudar a quienes crean los controladores a depurar su código colocando instrucciones de la forma ASSERT (alguna condición) por todo el código. Estas instrucciones verifican que todos los parámetros sean congruentes con los procedimientos internos del kernel (que pueden ser invocados libremente por los controladores) y efectúan además muchas otras verificaciones. LOS CONTROLADORES DE DISPOSITIVOS Cada uno de estos puede controlar unos o mas dispositivo de entrada y salida, pero también puede hacer cosas no relacionadas con un dispositivo especifico, como cifrar un flujo de datos o simplemente proporcionar acceso a estructuras de datos del Kernel. 5 Los controladores de dispositivo más grande, el de Win32, GDI y video. Este componente maneja muchas llamadas al sistema y casi todas las funciones de gráficos. Puesto que los clientes pueden instalar controladores de dispositivos nuevos, pueden afectar el kernel y corromper el sistema, por ello debe tener mucho cuidado al escribir controladores IMPLEMENTACIÓN DE OBJETOS Los objetos quizá sean el concepto individual más importante de Windows 2000. Proporcionan una interfaz uniforme y coherente para todos los recursos del sistema y estructuras de datos, como procesos, subprocesos, semáforos, etc. Esta uniformidad tiene diversas facetas. En primer lugar, se tiene acceso y se da nombre a todos los objetos de la misma forma, empleando identificadores de objeto. Segundo, dado que todos los accesos a objetos se efectúan por medio del administrador de objetos, es posible colocar todas las verificaciones de seguridad en un lugar y garantizar que ningún proceso pueda evitarla. Tercero, el compartimiento de objetos entre procesos puede manejarse de manera uniforme. Cuarto, puesto que todas las aperturas y cierres de objetos se tramitan por medio del administrador de objetos, es fácil llevar el control de cuales objetos están en uso todavía y cuales pueden eliminarse sin peligro. Quinto, Este modelo uniforme de administración de objetos facilita administrar las cuotas de recursos en forma directa. Algo fundamental para entender los objetos es darse cuenta de que un objeto del ejecutivo no es más que cierto número de palabras consecutivas en la memoria, es decir en el espacio de direcciones virtual kernel. Un objeto es una estructura de datos en RAM, ni más ni menos Un archivo en disco no es un objeto, aunque se crea un objeto `es decir, una estructura de datos en el espacio de direcciones virtual del kernel' para un archivo cuando se abre. LLAMADAS DE LA API PARA ADMINISTRACIÓN DE TRABAJOS, PROCESOS, SUBPROCESOS Y FIBRAS Para crear nuevos procesos se utiliza la función createprocess de la API Win32. esta función tiene 10 parámetros cada una de las cuales tienes muchas opciones. Es obvio puesto que este diseño es mas complicado que UNIX, en el que fork no tiene parámetros Y EXEC tiene apenas tres. El Kernel se encarga de crear los subprocesos, así que es obvio que tiene conocimientos de ellos, es decir no se implementan exclusivamente en el espacio de usuario, como sucede en algunos otros sistemas. COMUNICACIÓN ENTRE PROCESOS Los subprocesos pueden comunicarse de diversas maneras, que incluyen canalizaciones, canalizaciones con nombre, ranuras de correo, Sockets, llamadas a procedimientos remotos y archivos compartidos. Las canalizaciones tienen dos modos: de byte y de mensaje; el modo se selecciona el en momento en que se crean Las canalizaciones en modo de byte operan igual que en UNIX. Las de modo de mensaje son algo similares pero conservan las fronteras de los mensajes, de modo que cuatro criaturas de 128 bytes se leerán como 4 6 mensajes de 128 bytes, no como un mensaje de 512 bytes como podría suceder en las canalizaciones en modo de byte. También hay canalizaciones de nombre que pueden usarse en una red, las normales no. LAS RANURAS DE CORREO Son una característica de Windows 2000 que no esta presente en UNIX. Estas ranuras tienes ciertas similitudes can las canalizaciones, pero también presentan diferencias. Una de ellas es que son unidireccionales, mientras que las canalizaciones son bidireccionales. También pueden usarse en una red pero no garantizar la entrega. Por ultimo, permiten al proceso transmisor difundir un mensaje a muchos receptores, en vez de a uno solo. SOPORTE DE HARDWARE En lo que se refiere a soporte de hardware, las dos tecnologías que componen los cimientos de Windows 2000 son Plug−and−Play y ACPI (advanced Configuration and Power Inteface), ambas en l base del soporte de hardware de Windows 98. En términos de Microsoft, el conjunto de ACPI y Plug and Play se conocen como la Iniciativa OnNow. Esta iniciativa de diseño hace que las computadoras estén inmediatamente disponibles. En otras palabras, sin OnNow, las PC's bootean cuando se las enciende. Con OnNow, éstas pasan de un estado de bajo consumo de energía directamente al estado de funcionamiento, y viceversa. Cuando una computadora no está en uso, permanece en un estado en el que parece apagada; sin embargo, todavía esta en condiciones de reaccionar a los eventos que se puedan producir en su entorno. En términos comunes, OnNow permite la suspensión y la hibernación. En este último caso, el sistema operativo vuelca en un archivo del disco rígido el contenido de la memoria y se apaga. Al reiniciarse, vuelve a invocar el archivo de la memoria y el Escritorio aparece exactamente igual que antes de apagarse. FIABILIDAD DE WINDOWS 2000 La fiabilidad y la capacidad de gestión se han mejorado con herramientas que ayudaran a los usuarios y administradores de red a gestionar de forma mas sencilla sus sistemas, empezando porque el laberinto de las DLLs parece resuelto. Windows 2000 permite que las DLLs (Dynamic Link Libraries) se instalen en los directorios de sus aplicaciones específicas, y eviten que se eliminen las DLLs compartidas. ACTIVE DIRECTORY Un servicio de directorios es un servicio de red que identifica todos los recursos en ella y los vuelve accesibles a los usuarios y a las aplicaciones. Active Directory (AD) es el servicio de directorio incluido en W2000. El elemento principal de AD es el directorio, que almacena información sobre los recursos de la red y los servicios que hacen disponible la información. Los recursos almacenados en el directorio, como los datos del usuario, impresoras, servidores, bases de datos, grupo, computadoras y políticas de sistema, se denominan objetos. AD los organiza jerárquicamente en dominios. Un dominio (damain) es una agrupación lógica de servidores y otros recursos de red bajo un mismo nombre de dominio. Cada dominio incluye uno o mas controladores de dominio (domain controllers), que son maquinas que 7 almacenan una replica de un directorio de dominio. Cada vez que se hace algún cambio en alguno de los controladores, el resto se actualiza automáticamente. EL EXPLORADOR DE WINDOWS Una de los accesorios más importante de todos los sistemas operativos de Microsoft se ve mejorada hasta límites insospechados. Primero, siendo bastante más veloz que los predecesores. Desde el actual explorador de Windows se puede acceder al historial de Explorer con un simple clic, buscar archivos con la nueva utilidad de búsqueda y se añade un nuevo icono llamado carpetas con el que se puede acceder fácilmente a cualquier carpeta del disco duro o del web, pero quizás una de las opciones mas novedosas e importantes es la inclusión en el menú ver de la opción thumbnails (los internautas sabréis de que va) mediante la cual se pueden ver en vez del icono del tipo de archivo gráfico el archivo en si, y una ampliación de la vista de detalles donde se pueden seleccionar las columnas con los detalles que se quieren ver de cada carpeta. Así como siempre tendremos 3 links en la parte izquierda del explorador, el de mi PC, el entorno de red y mis documentos. 8