# Sprite (sistema operativo)

Sprite es el nombre de un sistema operativo distribuido con un núcleo monolítico desarrollado por la University of California, Berkeley, más concretamente por el grupo de investigación de John Ousterhout.
Este sistema operativo tiene la apariencia para los programadores de un sistema único, ya que la distribución se produce dentro del propio núcleo y de este modo, Sprite nos da la impresión de estar trabajando sobre un típico sistema UNIX.

## Trabajo inicial

Las ideas al comienzo del trabajo con Sprite, eran las de crear un sistema que trabajara de forma "consciente" en red, y que al mismo tiempo lo hiciera de forma transparente para el usuario. El área primaria de trabajo fue la construcción de un nuevo sistema de archivos en red el cual hiciera uso de caché local del lado del cliente para mejorar el desempeño. Después de abrir el archivo y realizar algunas lecturas iniciales, la red solo sería usada bajo demanda, y la mayoría de las acciones del usuario ocurrirían en la caché. Utilidades similares permitían a dispositivos remotos ser mapeados en el espacio de la computadora local, permitiendo impresiones en red y otras tareas similares.
Muchos de los archivos Unix clave estaban basados en la red, incluidas cosas como el archivo de contraseñas. Asimismo, todas las máquinas en la red compartían el directorio root. Otras utilidades Unix comunes, tales como finger, fueron reescritas para hacerlas trabajar en red, escuchando a toda la gente conectada a través de la red. Esto hizo que una red Sprite trabajara como si fuera un gran sistema simple de tiempo compartido o una imagen de un sistema simple.
Otra adición clave en Sprite fue la migración de procesos, los cuales permitían a los programas ser movidos entre ordenadores en cualquier instante. El sistema mantenía una lista de ordenadores y de su estado y movía procesos automáticamente a ordenadores ociosos para mejorar el desempeño local. Los procesos podían también ser "desalojados" de ordenadores para mejorar su desempeño, causando que el iniciador original se moviese a otro ordenador en la red, o tomará el control de él de nuevo de manera local. Tareas largas (como compilar el sistema Sprite) podían aparentar ser muy rápidas.

## Desarrollo posterior

El trabajo en los inicios de Sprite arriba detallados, terminó alrededor de 1987, pero fue mejorado durante el siguiente año. A principios de 1990, Sprite era usado como la base para el desarrollo del primer sistema de archivos log-estructurado (LFS), desarrollo que continuó hasta 1992. LFS incrementa de forma dramática el desempeño de la escritura de archivos, a costa de un decremento en el desempeño de la lectura. Dentro de Sprite, este intercambio es particularmente útil, porque la mayoría de los accesos de lectura son efectuadas en la caché—Eso es por lo cual los sistemas Sprites, típicamente realizarían menos lecturas que un sistema Unix normal. Los sistemas LFS también permiten una mucho más simple recuperación de errores, lo cual se convirtió en el principal enfoque del proyecto durante este período. Experimentación adicional continúo hasta cerca de 1994.

## Descontinuación

Sprite no era un sistema microkernel, y sufrió el mismo abanico de problemas que otros sistemas Unix en términos de complejidad de desarrollo, convirtiéndose cada vez más difícil de desarrollar mientras más funcionalidad era añadida. En los 1990s, estaba sufriendo, y el pequeño equipo que respaldaba el proyecto, simplemente no fue capaz de mantenerse al día con los cambios rápidos en Unix que estaban sucediendo en ese tiempo. El proyecto fue cerrado lentamente en 1994.
Traducción del artículo en inglés: "Sprite operating system"
* Datos: Q1054302