Sistemas operativos modernos
Además de contener un gran trozo de código ensamblador antiguo de 16 bits en el kernel, Windows 98 tenía otros dos problemas graves. Primero, aunque era un sistema de multiprogra mación, el kemel en sí no era reentrante. Si un proceso estaba ocupado manipulando alguna estructura de datos del kemel y de repente se agotaba su cuanto y otro proceso comenzaba a ejecutarse, el nuevo proceso podía encontrar la estructura de datos en un estado inconsistente. Para evitar este tipo de problemas, después de entrar en el kernel, un proceso por lo general ob tenía primero un mutex gigante que cubría todo el sistema, antes de ponerse a hacer algo. Aunque este enfoque eliminaba las posibles inconsistencias, también eliminaba gran parte de la utili dad de la multiprogramación, porque los procesos a menudo se veían obligados a esperar has ta que procesos no relacionados salieran del kemel, para poder entrar en él. Segundo, cada proceso de Windows 98 tenía un espacio de direcciones virtual de 4 GB. De esto, 2 GB eran completamente privados para el proceso, pero el siguiente 1 GB se com partía (de forma escribible) con todos los demás procesos del sistema. El 1 MB de hasta abajo también se compartía entre todos los procesos, para que todos pudieran tener acceso a los vec tores de interrupción de MS-DOS. Casi todas las aplicaciones de Windows 98 utilizaban en for ma intensiva esta área compartida, por lo que un error en un programa podía borrar estructuras de datos clave empleadas por un proceso no relacionado y hacer que todos fallaran. Peor aún, el último 1GB se compartía (de forma escribible) con el kemel y contenía algunas estructuras de datos cruciales de él. Cualquier programa descontrolado que sobrescribiera estas estructuras de da tos con basura podía paralizar el sistema. La solución obvia de no colocar estructuras de datos del kemel en espacio de usuario no era factible, porque era indispensable para que los anterio res programas de MS-DOS funcionaran bajo Windows 98. En el año del milenio, 2000, Microsoft sacó una modernización menor de Windows 98 lla mada Windows Me (Windows Edición del Milenio). Aunque en ella se corregían algunos errores y se añadían unas cuantas funciones, en los aspectos internos era en esencia igual a Windows 98. Las nuevas funciones incluían mejores formas de catalogar y compartir imáge nes, música y películas, más soporte para redes caseras y juegos multiusuario, y más funciones relacionadas con Internet, como manejo de mensajes instantáneos y conexiones de banda an cha (módems de cable y ADSL). Una nueva función que resultó interesante fue la capacidad de restaurar la computadora a sus parámetros anteriores después de una configuración errónea. Si un usuario reconfigura el sistema (por ejemplo, cambia la definición de la pantalla de 640 x 480 a 1024 X 768) y ya no funciona, esto permite revertir el sistema a la última configuración cono cida que sí funcionaba. 11.1.3 WindowsNT A fines de los años ochenta, Microsoft se dio cuenta que construir un sistema operativo moder no de 32 bits encima del MS-DOS de 16 bits, con todos sus defectos, quizá no era la mejor es trategia. La compañía reclutó a David Cutler, uno de los diseñadores clave del sistema operativo VMS de DEC, para que encabezara un equipo que produjera un sistema operativo de 32 bits completamente nuevo y compafible con Windows. Este nuevo sistema, después llama do Windows NT (Windows Nueva Tecnología), estaba pensado para aplicaciones de nego-
RkJQdWJsaXNoZXIy MjI4NDcx