Evolución de los Sistemas Operativos Windows: Características y Diferencias

Sistemas Operativos Windows Monousuario

  • Primera versión: Windows 1.0 (1985).
  • Primera versión interesante: Windows 3.0 (1990).
  • Última versión anterior a Windows 95: Windows 3.11 (1992) preparada para trabajo en red.

Los anteriores no son realmente Sistemas Operativos, sino solo entornos gráficos (capa de software sobre otro Sistema Operativo para poder funcionar en modo gráfico). Windows 3.x ya permitía OLE (Object Linking and Embedding).

Evolución de los Sistemas Operativos en Windows: Diferencias entre Versiones

Partiremos de Windows 95, que supuso el primer gran salto cualitativo (y comercial):

  • Interfaz más intuitiva y fácil de operar.
  • Construido sobre un moderno DOS.
  • Multitarea con prioridades y con subprocesos.
  • Soporta nombres de archivos largos.
  • Utiliza el registro de configuración del sistema.

Más Características de Windows 95

  • Permite configuración para varios usuarios.
  • Menos posibilidades de fallo total del sistema.
  • Mejora del trabajo en red (soporte para TCP/IP).
  • Soporta el nuevo estándar Plug & Play.
  • Introduce el sistema de ficheros FAT32, frente al FAT de 16 bits empleado hasta el momento.

Cambios en Windows 98

  • Escritorio activo (active desktop) y personalización de carpetas.
  • Mejoras en menú de inicio y barra de tareas.
  • Mayor estabilidad. Menos bugs.
  • Automatización de tareas mediante el programador de tareas.
  • Mejoras en el soporte de hardware (USB, DVD,…).

Novedades en Windows Me

  • Desaparición del modo real del DOS. Permite arranque más rápido (aunque solo tendremos DOS en disquete).
  • Compartición de módem (ya presente en 98SE) o ICS (Internet Connection Share).
  • Asistente para configurar redes domésticas.
  • Herramienta de recuperación del sistema (System Restore).
  • Bloqueo de controladores no certificados por un Windows Hardware Quality Lab.
  • Opciones multimedia más avanzadas.

Características Adicionales de Windows XP

  • Mayor fiabilidad. Especialmente por la utilización de un núcleo derivado de NT.
  • Gran compatibilidad con todo tipo de software.
  • Soporta una gran cantidad de hardware (provee muchísimos drivers).
  • Tenemos, por tanto, la compatibilidad de la línea 9x más la fiabilidad de la línea NT.

Otras Características de Windows XP

  • Disminución del número de ocasiones en las que hay que reiniciar el sistema.
  • Apariencia más agradable e intuitiva para el usuario inexperto.
  • La ayuda está claramente mejorada.
  • Intercambio rápido de usuarios.
  • Asistencia remota.
  • Escritorio remoto.

Novedades en Windows Vista

  • Incorporación de numerosas aplicaciones.
  • Carga las aplicaciones un 15% más rápido que XP.
  • Se reduce el número de veces que debe reiniciarse el sistema después de las actualizaciones.
  • Control de cuentas de usuario: los nuevos usuarios no tienen por defecto derechos de administrador.

Críticas a Windows Vista

  • Incompatibilidad con cantidad de aplicaciones y accesorios.
  • Grandes requerimientos de hardware: procesador de al menos 1 GHz, 1 GB de memoria RAM, Disco duro de 40 GB.
  • Bajo rendimiento.

Características de Windows 7

  • Surge como una actualización de Vista.
  • Sistema más ligero, estable y rápido.
  • Personalización del Control de cuentas de usuario: evita constantes alertas en tareas simples.
  • Mejor arranque y mejoras a nivel de núcleo.

Multitarea en Windows

En Windows 3.x existía multitarea cooperativa, muy primitiva. Son las aplicaciones las que determinan la utilización de tiempo de CPU. A partir de Windows 95 tenemos multitarea prioritaria y con subprocesos (threads). Es el sistema operativo el que determina la utilización de CPU.

Procesos y Subprocesos

Cuando se ejecuta un programa, se carga en memoria y se crea su proceso correspondiente. Un proceso requiere una serie de recursos como: espacio de memoria para el código, datos y pila del programa, utilización de archivos y secciones del disco duro, etc. En Windows los procesos se dividen en subprocesos o threads que son las auténticas unidades de ejecución.

Procesos y Subprocesos (II)

Ejemplo:

Supongamos dos procesos, 1 y 2. A su vez, el proceso 1 presenta dos subprocesos, el 1A y 1B, mientras que el proceso 2 se divide en los subprocesos 2A, 2B y 2C. Windows ejecutaría durante 20 ms el subproceso 1A, luego dedicaría 20 ms para el subproceso 1B, después 20 ms para el 2A y así sucesivamente para el 2B y el 2C. Pasado un cierto tiempo volvería de nuevo al 1A y se repetiría el ciclo, dando la sensación de que todos los subprocesos se ejecutan a la vez.

Procesos y Subprocesos (III)

El paso de la ejecución de un subproceso a la del subproceso siguiente no es instantáneo. El sistema operativo necesita un tiempo de administración para, por ejemplo, guardar los contenidos de los registros del procesador, de forma que, al volver a ejecutar el subproceso, este aparezca en el mismo estado en que se interrumpió.

Procesos y Subprocesos (IV)

Todo proceso contiene al menos un subproceso o thread. El hecho de tener diferentes subprocesos nos permite, por ejemplo, estar imprimiendo y escribiendo al mismo tiempo en una aplicación como Word. El esquema de ejecución de subprocesos estudiado anteriormente (con los subprocesos 1A, 1B, 2A,…) es válido cuando todos ellos tienen la misma prioridad. En realidad hay distintas prioridades.

Prioridades

El sistema operativo dispone de un programa de control (scheduler o planificador) para resolver qué subproceso se va a ejecutar y cuál no en función de las prioridades de los mismos. El planificador aumenta y disminuye las prioridades de los subprocesos en función de diferentes circunstancias:

Los subprocesos que se ejecutan disminuyen su prioridad y los que no se ejecutan la aumentan. Por último, a los subprocesos de primer plano (que interactúa con el usuario) se les da mayor prioridad que a los de segundo plano (background).

Gestión de Memoria en Windows

A partir de Windows 95 se requiere ya un microprocesador 386 o superior que utiliza direccionamiento plano de memoria con 32 bits tanto de direcciones como de datos. Con 32 bits se pueden direccionar 4 Gigabytes de memoria. En realidad, tenemos menos memoria física, y hablaremos de direcciones físicas y direcciones virtuales.

Memoria Virtual

Es la forma como los programas ven la memoria, forma que no coincide con la memoria física que realmente almacena programas y datos.

Archivo de Intercambio

En Windows 9X, el Sistema Operativo puede asignar más memoria de la que físicamente está disponible en nuestro PC. Para ello se utiliza el archivo de intercambio o swap (win386.swp). Este archivo cambia de tamaño según sean las necesidades del sistema. En Windows XP esta función la realiza el archivo pagefile.sys.

Paginación

El espacio de direcciones virtuales está dividido en 210 páginas de 4 kbytes cada una. La memoria física también está distribuida en páginas de 4 kbytes (muchas menos). La traducción de páginas virtuales a páginas físicas es muy rápida porque se realiza a nivel interno dentro del procesador.

Ventajas de la Memoria Virtual

  • Más memoria disponible. A la RAM le sumamos el archivo de intercambio. Windows emplea un algoritmo LRU (Least Recently Used) para determinar qué programas pasar a dicho archivo del disco duro. (Poca RAM à Mucha actividad en el disco).
  • Aislamiento entre aplicaciones. Los programas no funcionan en modo real (escribiendo directamente sobre la memoria). Solo el administrador de memoria de Windows es el que asigna espacio en la RAM.

Recursos de Hardware en Windows

Vamos a ver los recursos que emplean los dispositivos hardware que instalamos:

  • Direcciones de memoria.
  • Solicitudes de interrupción (IRQ).
  • Canales de Acceso Directo a Memoria (DMA).
  • Direcciones de E/S.

Normalmente, al instalar los dispositivos (Plug & Play) el sistema les adjudica automáticamente los recursos que necesitan. Sin embargo, a veces hay que hacer reasignaciones manuales de recursos.

Recursos (II)

Para ver los recursos en XP, en el Administrador de dispositivos se selecciona Ver à Recursos por tipo.

Solicitudes de Interrupción (IRQ)

Son líneas de hardware por las cuales los dispositivos notifican al sistema que debe atenderles porque ha sucedido algo (captura de datos, error, solicitud de datos, …). En un PC hay 16 líneas de interrupción o IRQ (Interrupt Request), aunque la IRQ2 está reservada para el sistema.

Solicitudes de Interrupción (II)

Se observan en la figura las IRQs de un PC con XP:

Acceso Directo a Memoria (DMA)

El DMA (Direct Memory Access) permite a los dispositivos trabajar directamente con la memoria sin tener que pasar por el procesador.

Direcciones de E/S

Cada dispositivo que necesita comunicarse con la CPU tiene asignado un rango de direcciones de E/S (16 bits) que solo puede ser utilizado por él. Ejemplo: cuando el teclado tiene datos para el sistema, pone estos datos en una dirección E/S, y la CPU los recoge de ahí.

En la figura se observan algunos rangos de E/S asignados.

Direcciones de Memoria

Además de las direcciones de E/S, muchos dispositivos necesitan para funcionar un rango de direcciones más grande dentro del mapa de memoria de 4 Gbytes. Ejemplo típico de gran rango: tarjeta de video.