|
| |
¿Qué
es Unix?
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.
Principales
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:
lo utilizan muchas personas simultáneamente.
- multitarea:
realiza muchas tareas 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.
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 sustituido 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.
Algunas
Versiones recientes 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
- crear
un sistema interactivo de tiempo compartido diseñado por programadores y
para programadores, destinado a usuarios calificados.
- que
fuera sencillo, elegante, y consistente.
- que
permitiera resolver problemas complejos combinando un número reducido de
comandos básicos.
Filosofía
del sistema
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.
Unix
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 varios microprocesadores.
|