Unix como base de sistemas operativos

Como dijimos antes, en 1969, algo maravilloso sucedió en el mundo de la informática: nació UNIX. En principio como un trabajo solitario de Ken Thompson, de Bell Labs, y luego en conjunto con Dennis Ritchie (quien junto a Brian Kerningan desarrollaron el lenguaje de programación C) y otros miembros del Bell Labs que se fueron incorporando. Ritchie ya tenia experiencia dado que había trabajado en otro proyecto llamado MULTICS, el cual fue de gran influencia sobre el nuevo SO, como por ejemplo en la organización básica del sistema de archivos, la idea de un intérprete de comando (el shell) como un proceso de usuario, etc.

La primera versión de UNIX estaba hecha íntegramente en ensamblador. Esto se cambió con la versión posterior, que fue escrita en lenguaje C lo que lo hizo sumamente portable; así mismo también se le agrego una característica por demás de importante, la multiprogramación. Esto y la entrega de licencias gratuitas con fines educativos extendieron su uso, desarrollo y la investigación en las universidades. El uso de UNIX se fue ampliando a medida que se le fueron adicionando herramientas de software y entornos de programación, apoyo a protocolos de red Internet (TCP/IP), mejoras en el editor de texto (Vi), compiladores de C, PASCAL y LISP, mejora en el control de congestionamiento de redes y el rendimiento de TCP/IP. Al crecer la popularidad de UNIX, se a transportado a distintas plataformas de hardware (PC, MAC, ALPHA) y se han creado una gran cantidad de SO's UNIX y parecidos a UNIX (XENIX de Microsoft, AIX de IBM, SOLARIS de SunSoft).

Las características principales de este SO es que se diseñó como un sistema de tiempo compartido. Esto quiere decir que varios usuarios estarán usando el sistema al mismo tiempo, sin notar la presencia de los demás en su ámbito de trabajo, lo que logra el SO asignándole un tiempo de atención para el CPU a cada usuario.

La interfaz estándar con el usuario (el shell) puede ser cambiada si se quiere. La mayoría del código fuente original está disponible por lo que los usuarios podrán ajustar el SO a sus requerimientos específicos. Es multitarea, es decir que permite que se puedan ejecutar varios procesos al mismo tiempo compartiendo el uso de la CPU.

Soporta el procesamiento en tiempo real (ejecución de procesos en intervalos de tiempo especificados sin retardo), el cual se utiliza en aplicaciones de robótica y base de datos.

Los sistemas UNIX son esenciales para la Internet.

Los sistemas de archivos con árboles multiniveles permiten que el SO trate tanto a directorios y archivos como simples secuencias de bytes.

Posee distintos niveles de seguridad: password's de ingreso y permisos de archivos y directorios.

Un proceso puede fácilmente generar otro, también es posible el manejo de procesos en determinado tiempo. Puede planearse la utilización de la CPU.

El kernel y biblioteca del SO están preparados para que el SO pueda extenderse y crecer, lo que permitió a UNIX mantenerse siempre a la cabeza de los SO's estando permanentemente actualizado.