Curso Básico de UNIX
Introducción a UNIX
-
Qué es UNIX
-
Características
-
Historia de UNIX
-
Antecedentes
-
UNIX
-
Versiones actuales de UNIX
-
Objetivos de UNIX
-
Filosofía del sistema UNIX
-
El UNIX moderno
-
Referencias
Qué es UNIX.
Esctrictamente, UNIX designa el núcleo de un sistema operativo multiusuario
y multitarea. En un sentido más amplio, comprende el núcleo
del sistema operativo más un conjunto de programas que permiten
compilar lenguajes de programación, editar texto, interpretar comandos,
manejar archivos y discos, acceder a otras máquinas, establecer
comunicaciones telefónicas, enviar y recibir correo electrónico,
manejar las colas de impresión y un sinfín de tareas más.
Algunos de estos programas pueden haber sido desarrollados por los propios
usuarios.
UNIX designa al mismo tiempo un cierto "ambiente de trabajo", un conjunto
de circunstancias que encuentra el usuario de la computadora donde corre
UNIX, tales como la presentación en pantalla, los programas disponibles
y la forma de trabajo que impone o permite.
Cuando hablemos de UNIX nos estaremos refiriendo al sentido amplio y,
conjuntamente, a su ambiente de trabajo.
Características:
-
muchas herramientas de software (compiladores, editores, utilitarios para
muchas tareas).
-
reutiliza el software, a través de la combinación de comandos
simples en aplicaciones complejas.
-
portable: el mismo sistema operativo corre en un espectro de máquinas
que van desde notebooks a supercomputadoras. Es el único sistema
operativo con estas características.
-
flexible: se adapta a muchas aplicaciones diferentes.
-
potente: dispone de muchos comandos y servicios ya incorporados.
-
multiusuario: atiende a muchas personas simultáneamente.
-
multitarea: hace muchas cosas a la vez.
-
elegante: sus comandos son breves, coherentes, específicos para
cada tarea y muy eficientes.
-
orientado a redes desde el comienzo.
-
dispone de un estándar (POSIX) que debe cumplir todo sistema operativo
que pretenda ser UNIX, lo que asegura una evolución predecible.
Historia de UNIX
Antecedentes:
-
las computadoras ejecutan un trabajo por vez (años '40 y '50).
-
los trabajos se agrupan y ejecutan "por lotes" (años '60).
-
CTSS, un sistema operativo de propósito general y tiempo compartido,
logra enorme éxito.
-
MULTICS, un ambicioso proyecto de sistema operativo para cientos de usuarios
fracasa y no llega a terminarse.
UNIX.
-
Ken Thomson, desarrollador de MULTICS, con ideas y apoyo de algunos compañeros,
escribe un nuevo MULTICS más modesto en una máquina PDP-7
desechada (1969). Brian Kernighan, compañero de Thomson, lo llama
irónicamente UNICS.
-
UNIX pasa a una máquina PDP-11 (1970). Ritchie diseñó
y escribió un compilador para lenguaje C.
-
Thomson y Ritchie reescriben UNIX en C, rompiendo la tradición de
sistemas operativos escritos en lenguaje ensamblador (1973). Esto aumenta
la portabilidad del sistema hacia otras máquinas.
-
Thomson y Ritchie reciben el premio Turing por un memorable artículo
sobre UNIX escrito en 1974.
-
UNIX es adoptado en las universidades, por tratarse de un "sistema abierto"
que proporciona todo el código fuente (1974).
-
BSD y System V; el estándar de POSIX.
-
El desmembramiento de AT&T (1984) permite a esta empresa ingresar en
el mercado de computadoras, y produce la primera versión comercial
de UNIX, el Sistema III, que pronto es sustituído por el Sistema
V versiones 2, 3 y 4.
-
La Universidad de Berkeley produjo una versión mejorada para la
PDP-11, llamada 1BSD; luego fueron la 3BSD y luego 4BSD, que incorporó
el protocolo de redes TCP/IP.
-
El grupo POSIX estudió y propuso un estándar para UNIX, llamado
1003.1, que define un conjunto de procedimientos de biblioteca que cualquier
sistema conforme con UNIX debe proporcionar. Esto resolvió la controversia
entre Sistema V y BSD.
-
Se forma OSF, Open Software Foundation, integrada por IBM, DEC, HP y otros
para enfrentar a AT&T. Crea un UNIX con más prestaciones que
el estándar de POSIX.
Versiones actuales de UNIX.
-
AT&T, para enfrentar a OSF, crea UI, UNIX International, junto con
otras empresas; crea otro UNIX ampliado de POSIX.
-
IBM crea su propia variante de UNIX, llamada AIX. La confusión de
versiones continúa.
-
surgen las versiones UNIX de dominio público FreeBSD y Linux, que
se distribuyen sin costo. Linux es desarrollado por una multitud de personas
y equipos de trabajo a través de Internet. FreeBSD es desarrollado
por un grupo de trabajo cerrado.
-
UNIX hacia el usuario final: distribuciones fáciles de instalar
(SuSE, Redhat, Mandrake, Corel), aplicaciones de escritorio (Applixware,
StarOffice), programas asistentes de administración para estaciones
de trabajo o servidores.
Objetivos de UNIX.
UNIX fue diseñado teniendo en mente los siguientes objetivos:
-
crear un sistema interactivo de tiempo compartido diseñado por programadores
y para programadores, destinado a usuarios calificados.
-
que fuera sencillo, elegante, escueto y consistente.
-
que permitiera resolver problemas complejos combinando un número
reducido de comandos básicos.
Filosofía del sistema UNIX.
Los objetivos con que se creó determinaron una "filosofía"
de UNIX caracterizada por:
-
comandos cortos, simples, específicos y muy eficientes, que "hacen
una sola cosa pero la hacen muy bien".
-
entrada y salida estandarizadas que permiten la interconexión de
comandos. Esto se llama entubamiento ("pipelining"): la salida de un comando
es tomada por el siguiente como entrada.
El UNIX moderno.
Orientado en primera instancia a terminales de caracteres, actualmente
dispone de la interface gráfica X-Windows. Esto ha simplificado
mucho el uso para los no especialistas.
Es ideal para trabajar como servidor: una máquina potente como
servidor, terminales o computadores personales baratas en los puestos de
trabajo. El paquete de libre uso Samba permite que una máquina
UNIX actúe como servidor de puestos de trabajo Windows 3.11, Windows
95, y Windows NT.
Se orienta en la dirección contraria a la tendencia de hacer
invisible al usuario el sistema operativo, permitiendo el uso de todas
las bibliotecas, llamadas al sistema y herramientas internas, aunque su
uso requiere un alto nivel de especialización. Es posible
compilar un núcleo específicamente adaptado a las necesidades
particulares de una empresa o grupo de trabajo, reduciendo el uso de recursos
y aumentando la rapidez.
Las máquinas RISC de los '80 y '90 adoptaron UNIX como sistema
operativo; es por lejos el sistema predominante en las estaciones de trabajo
orientadas a cálculos e investigación. También fue
adoptado para la creación de Internet, mayoritariamente soportada
por UNIX.
Por sus características de diseño, está especialmente
preparado para su ampliación y desarrollo en 64 bits y el multiprocesamiento
en varias CPUs.
Referencias: Kernighan-Pike[1987],
Coffin[1989], Tanenbaum[1992]
Víctor A. González Barbone vagonbar en fing edu uy
Instituto de Ingeniería Eléctrica
- Facultad de Ingeniería -
Montevideo, Uruguay.