24/9/09

XDS-940

Por Pc Internet.
El sistema operativo XDS-940 se diseñó en la University of California at Berkeley. Al igual que el sistema Atlas, usaba paginación para la gestión de memoria. A diferencia del sistema Atlas, XDS-940 era un sistema de tiempo compartido.
La paginación se usaba sólo para reubicación, no para paginación por demanda. La memoria virtual de cualquier proceso de usuario era de sólo 16K palabras, mientras que la memoria física tenía 64K palabras. Las páginas eran de 2K palabras cada una.
En el XDS-940 la tabla de páginas se mantenía en registros. Puesto que la memoria física era más grande que la virtual, varios procesos de usuario podían estar en la memoria al mismo tiempo. El número de usuarios se podía incrementar compartiendo páginas cuando éstas contenían código reentrante sólo para lectura. Los procesos se mantenían en un tambor y se intercambiaban entre el tambor y la memoria según era necesario.
El sistema XDS-940 se construyó a partir de un XDS-930 modificado. Las modificaciones fueron representativas de los cambios que se hacían a un computador básico para permitir la escritura correcta de un sistema operativo. Se añadió un modo de usuario-monitor. Ciertas instrucciones, como las de E/S y la de parar (Halt) se definieron como privilegiadas. Un intento de ejecutar una instrucción privilegiada en modo de usuario transfería el control al sistema operativo a través de una trampa.
Se agregó una instrucción de llamada al sistema al conjunto de instrucciones en modo de usuario. Esta instrucción servía para crear recursos nuevos, como archivos, lo que permitía al sistema operativo controlar los recursos físicos. Los archivos, por ejemplo, se asignaban en bloques de 256 palabras en el tambor. Se usaba un mapa de bits para llevar el control de los bloques libres en el tambor. Cada archivo tenía un bloque índice con punteros a los bloques de datos reales. Los bloques índice se encadenaban unos con otros.
El sistema XDS-940 también contaba con llamadas al sistema que permitían a los procesos crear, iniciar, suspender y destruir subprocesos. Un programador usuario podía construir un sistema de procesos. Los procesos individuales podían compartir la memoria para fines de comunicación y sincronización. La creación de procesos definía una estructura de árbol en la que un proceso era la raíz y sus subprocesos eran nodos abajo de él en el árbol. Cada uno de los subprocesos podía, a su vez, crear más subprocesos.

Sistema operativo Atlas



El sistema operativo Atlas  se diseñó en la Universidad de Manchester en Inglaterra a fines de la década de 1950 y principios de la de 1960. Muchas de sus características básicas,que eran novedosas en ese entonces, se han convertido en componentes estándar de los sistemas operativos modernos. Los drivers de dispositivos eran una parte importante del sistema. Además, se añadieron llamadas al sistema con un conjunto de instrucciones especiales llamadas códigos extra.
Atlas era un sistema operativo por lotes con spooling. El spool permitía al sistema planificar los trabajos según la disponibilidad de los dispositivos periféricos,como las unidades de cinta magnética, lectores de cinta de papel, perforadoras de cinta de papel, impresoras de líneas, lectores de tarjetas o perforadoras de tarjetas.
La característica más notable de Atlas, empero, era su gestión de memoria. La memoria de núcleos era nueva y costosa en esa época. Muchos computadores, como el IBM 650, usaban un tambor como memoria primaria. El sistema Atlas también usaba un tambor para su memoria principal, pero tenía una pequeña cantidad de memoria de núcleos que se usaba como caché para el tambor. Se usaba paginación por demanda para transferir información entre la memoria de núcleos y el tambor automáticamente.
El sistema Atlas utilizaba un computador británico con palabras de 48 bits. Las direcciones tenían 24 bits, pero se codificaban en decimal, lo que sólo permitía direccionar un millón de palabras. En ese entonces, esto era un espacio de direcciones extremadamente grande. La memoria física de Atlas era un tambor de 98K palabras y 16K palabras de memoria de núcleos. La memoria se dividía en páginas de 512 palabras, así que se contaba con 32 marcos en la memoria física. Una memoria asociativa de 32 registros implementaba la transformación de una dirección virtual a una física.
Si ocurría un fallo de página, se invocaba un algoritmo de reemplazo de páginas. Un marco de memoria siempre se mantenía vacío para que una transferencia del tambor pudiera iniciarse de inmediato. El algoritmo de reemplazo de páginas intentaba predecir el comportamiento futuro de acceso a la memoria basándose en el comportamiento anterior. Se encendía un bit de referencia para cada marco cada vez que se accedía a él. Los bits de referencia se colocaban en la memoria cada 1024 instrucciones, y los últimos 32 valores de esos bits se retenían.
Porque antes del D.O.S  y del windows 98, hubo muchos precursores de nuestros sistemas operativos actuales.