SISTEMA OPERATIVO UNIX
Unix (registrado oficialmente como UNIX®) es un sistema operativo portable, multitarea y multiusuario;
desarrollado, en principio, en 1969,
por un grupo de empleados de los laboratorios
Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas
McIlroy
El
sistema, junto con todos los derechos fueron vendidos por AT&T a Novell, Inc. Esta vendió posteriormente el
software a Santa
Cruz Operation en 1995, y esta, a su vez, lo revendió a Caldera Software en 2001, empresa que después se convirtió en el grupo SCO. Sin embargo, Novell siempre
argumentó que solo vendió los derechos de uso del software, pero que retuvo el copyright sobre "UNIX®". En 2010, y tras
una larga batalla legal, ésta ha pasado nuevamente a ser propiedad de Novell.3
Solo
los sistemas totalmente compatibles y que se encuentran certificados por la
especificación Single
UNIX Specification pueden ser denominados
"UNIX®" (otros reciben la denominación "similar a un sistema
Unix" o "similar a Unix"). En ocasiones, suele usarse el término
"Unix tradicional" para referirse a Unix o a un sistema operativo que
cuenta con las características de UNIX Versión 7 o UNIX System
V.
Historia Del Sistema Operativo Unix
A finales del año 1960, el Instituto Tecnológico de
Massachusetts, los Laboratorios
Bell de AT&T y General
Electric trabajaban en un sistema operativo experimental llamado Multics (Multiplexed Information and Computing
Service),4desarrollado para
ejecutarse en una computadora
central (mainframe) modelo GE-645.
El
objetivo del proyecto era desarrollar un gran sistema operativo interactivo que
contase con muchas innovaciones, entre ellas mejoras en las políticas de seguridad. El proyecto
consiguió dar a luz versiones para producción, pero las primeras versiones
contaban con un pobre rendimiento. Los laboratorios Bell de AT&T decidieron
desvincularse y dedicar sus recursos a otros proyectos.
Uno de los programadores de los laboratorios Bell, Ken Thompson, siguió trabajando para
la computadora GE-6355 y escribió un juego llamado Space
Travel, (Viaje espacial). Sin
embargo, descubrió que el juego era lento en la máquina de General Electric y resultaba realmente caro, algo así
como 75 dólares de EE.UU. por cada partida.
De este modo, Thompson escribió nuevamente el programa, con
ayuda de Dennis Ritchie, en lenguaje
ensamblador, para que se ejecutase en una computadora DEC PDP-7.
Esta experiencia, junto al trabajo que desarrolló para el proyecto Multics,
condujo a Thompson a iniciar la creación de un nuevo sistema operativo para la
DEC PDP-7.Thompson y Ritchie lideraron un grupo de programadores, entre ellos a Rudd
Canaday, en los laboratorios Bell, para desarrollar tanto el sistema de ficheros como el sistema operativo multitarea
en sí. A lo anterior, agregaron un intérprete
de órdenes (o intérprete de
comandos) y un pequeño conjunto de programas. El proyecto fue bautizado UNICS,
como acrónimo Uniplexed Information and Computing
System, pues solo prestaba servicios a dos usuarios (de acuerdo con Andrew Tanenbaum, era solo a un
usuario ). La autoría de esta
sigla se le atribuye aBrian Kernighan, ya que era un hack de
Multics. Dada la popularidad que tuvo un juego de palabras que consideraba a
UNICS un sistema MULTICS castrado (pues eunuchs,
en inglés, es un homófono de UNICS), se cambió el nombre a UNIX,
dando origen al legado que llega hasta nuestros días.
Hasta ese instante, no había existido apoyo económico por parte
de los laboratorios Bell, pero
eso cambió cuando el Grupo de Investigación en Ciencias de la Computación
decidió utilizar UNIX en una máquina superior a la PDP-7. Thompson y Ritchie
lograron cumplir con la solicitud de agregar herramientas que permitieran el
procesamiento de textos a UNIX en una máquina PDP-11/20,
y como consecuencia de ello consiguieron el apoyo económico de los laboratorios
Bell. Fue así como por vez primera, en 1970,
se habla oficialmente del sistema operativo UNIX ejecutado en una PDP-11/20. Se incluía
en él un programa para dar formato a textos (runoff) y un editor de texto. Tanto el sistema
operativo como los programas fueron escritos en el lenguaje ensamblador de la
PDP-11/20. Este "sistema de procesamiento de texto" inicial,
compuesto tanto por el sistema operativo como de runoff y el editor de texto,
fue utilizado en los laboratorios Bell para procesar las solicitudes de
patentes que ellos recibían. Pronto, runoff evolucionó hasta convertirse en troff, el primer programa de edición
electrónica que permitía realizar composición
tipográfica. El 3 de noviembre de1971 Thomson y Ritchie publicaron un manual
de programación de UNIX (título original en inglés: "UNIX Programmer's
Manual").
En 1972 se tomó la decisión de escribir
nuevamente UNIX, pero esta vez en el lenguaje
de programación C. Este cambio
significaba que UNIX podría ser fácilmente modificado para funcionar en otras
computadoras (de esta manera, se volvía portable) y así otras variaciones
podían ser desarrolladas por otros programadores. Ahora, el código era más
conciso y compacto, lo que se tradujo en un aumento en la velocidad de
desarrollo de UNIX. AT&T puso a UNIX a disposición de universidades y
compañías, también al gobierno de los Estados Unidos, a través de licencias. Una de estas licencias fue otorgada al
Departamento de Computación de la Universidad de California, con sede en
Berkeley. En 1975 esta
institución desarrolló y publicó su propio sucedáneo de UNIX, conocida comoBerkeley
Software Distribution (BSD),
que se convirtió en una fuerte competencia para la familia UNIX de AT&T.
Mientras tanto, AT&T creó una división comercial denominada Unix Systems Laboratoriespara
la explotación comercial del sistema operativo. El desarrollo prosiguió, con la
entrega de las versiones 4, 5 y 6 en
el transcurso de 1975. Estas
versiones incluían los pipes otuberías, lo que permitió dar
al desarrollo una orientación modular respecto a la base del código,
consiguiendo aumentar aún más la velocidad de desarrollo. Ya en 1978, cerca de 600 o más máquinas
estaban ejecutándose con alguna de las distintas encarnaciones de UNIX.
La versión 7, la
última versión del UNIX original con amplia distribución, entró en circulación
en 1979. Las versiones 8, 9 y 10 se desarrollaron durante la década de 1980, pero su circulación se
limitó a unas cuantas universidades, a pesar de que se publicaron los informes
que describían el nuevo trabajo. Los resultados de esta investigación sirvieron
de base para la creación de Plan
9 from Bell Labs, un nuevo sistema operativo portable y distribuido, diseñado para
ser el sucesor de UNIX en investigación por los Laboratorios Bell.
AT&T entonces inició el desarrollo de UNIX System III, basado en la versión 7, como una variante
de tinte comercial y así vendía el producto de manera directa. La primera
versión del sistema III se lanzó en 1981. A pesar de lo anterior, la empresa
subsidiaria Western Electric seguía vendiendo versiones antiguas de
Unix basadas en las distintas versiones hasta la séptima. Para finalizar con la
confusión con todas las versiones divergentes, AT&T decidió combinar varias
versiones desarrolladas en distintas universidades y empresas, dando origen en 1983 al
Unix System V Release Esta versión presentó
características tales como el editor Vi y la biblioteca curses, desarrolladas por Berkeley Software Distribution en la Universidad de California, Berkeley.
También contaba con compatibilidad con las máquinas VAX de
la compañía DEC.
Hacia 1991, un estudiante de ciencias de la computación de la Universidad de Helsink, llamado Linus Torvalds desarrolló un núcleo para computadoras con arquitectura x86 de
Intel que emulaba muchas de las
funcionalidades de UNIX y lo lanzó en forma de código abierto en 1991, bajo el
nombre de Linux. En 1992, el Proyecto GNU comenzó a utilizar el núcleo Linux
junto a sus programas.
En 1993, la
compañía Novell adquirió la división Unix Systems Laboratories de AT&T junto con su propiedad intelectual. Esto ocurrió en un momento delicado en
el que Unix Systems
Laboratories disputaba una
demanda en los tribunales contra BSD por infracción de los derechos de
copyright, revelación de secretos y violación de marca de mercado.Aunque BSD
ganó el juicio, Novell descubrió que gran parte del código de BSD fue copiada
ilegalmente en UNIX System V. En
realidad, la propiedad intelectual de Novell se reducía a unos cuantos archivos
fuente. La correspondiente
contra-demanda acabó en un acuerdo extrajudicial cuyos términos permanecen bajo
secreto a petición de Novell.
A finales de 1993,
Novell vendió su división UNIX comercial (es
decir, la antigua Unix Systems Laboratories) a Santa Cruz Operation (SCO) reservándose, aparentemente,
algunos derechos de propiedad intelectual sobre el software. Xinuos (antes UnXis) continúa la
comercialización de System V en su producto UnixWare tras adquirir a SCO en abril de 2011.
A lo largo de la historia ha surgido una gran multitud de
implementaciones comerciales de UNIX. Sin embargo, un conjunto reducido de productos han consolidado el mercado y prevalecen gracias a un continuo
esfuerzo
De desarrollo por parte de sus fabricantes. Los más
importantes son:
Solaris de Sun Microsystems.
Uno de los sistemas operativos Unix más difundido en el
entorno empresarial y conocido por su gran estabilidad. Parte del código fuente
de Solaris se ha liberado con licencia de fuentes abiertas (OpenSolaris).
AIX de IBM. El UNIX
"propietario" de IBM ha cumplido 20 años de vida en el 2006 y
continúa en pleno desarrollo, con una perceptible herencia del mainframe en campos como la virtualización
o la RAS de los servidores, heredada de sus "hermanos mayores".
HP-UX de Hewlett-Packard. Este sistema
operativo también nació ligado a
las computadoras departamentales de este fabricante.
También es un sistema operativo estable que continua en desarrollo.
AT&T: la familia que tuvo su origen en el UNIX de AT&T.
Considerada la familia UNIX "pura" y original. Sus sistemas
operativos más significativos son UNIX System III y UNIX System V.
BSD: familia originada por el licenciamiento de UNIX a Berkely.
BSD se reescribió para no incorporar propiedad intelectual originaria de
AT&T en la versión 4. La primera implementación de los protocolos TCP/IP que dieron origen a Internet son la pila (stack) TCP/IP BSD.
AIX: Esta familia surge por el licenciamiento de UNIX System III
a IBM.
Xenix: familia derivada de la adquisición de los derechos
originales de AT&T primero por parte de Microsoft y de esta los vendió a
SCO.
GNU: En 1983, Richard Stallman anunció el Proyecto GNU, un ambicioso esfuerzo
para crear un sistema similar a Unix, que pudiese ser distribuido libremente.
El software desarrollado por este proyecto -por ejemplo, GNU Emacs y GCC - también han sido parte fundamental
de otros sistemas UNIX.
Linux: En 1991,
cuando Linus Torvalds empezó a proponer el núcleo Linux y a reunir colaboradores, las
herramientas GNU eran la elección perfecta. Al combinarse ambos elementos,
conformaron la base del sistema operativo (basado en POSIX) que hoy se conoce como GNU/Linux. Las distribuciones basadas en el núcleo, el software GNU
y otros agregados entre las que se pueden mencionar a Slackware Linux, Red Hat Linux y Debian GNU/Linux se han hecho populares tanto entre los
aficionados a la computación como en el mundo empresarial. Obsérvese que Linux
tiene un origen independiente, por lo que se considera un 'clónico' de UNIX y
no un UNIX en el sentido histórico.
Arquitectura del sistema operativo UNIX
En la Figura 2.1 se representa un posible diagrama de la
arquitectura del sistema operativo UNIX. En el mismo se observa la existencia
de 4 niveles o capas.
En el nivel más interno o primer nivel, se encuentra el hardware de la computadora cuyos recursos se
desean gestionar.
|
En el segundo nivel, directamente en contacto con el hardware, se encuentra el núcleo del sistema, también llamado únicamente núcleo (kernel). Este núcleo está escrito en lenguaje C en su mayor parte, aunque coexistiendo con lenguaje ensamblador. El núcleo suministra los servicios que utilizan todos los programas de aplicación del sistema UNIX.
En el tercer nivel, en contacto con el núcleo, se encuentran los
programas estándar de cualquier sistema UNIX (intérpretes de comandos,
editores, etc.) y programas ejecutables generados por el usuario.
Un programa ubicado en este nivel puede interactuar con el
núcleo mediante el uso de las llamadas al sistema, las
cuales dan instrucciones al núcleo para que realice (en el nombre del programa
que las invoca) diferentes operaciones con el hardware. Además, las llamadas al
sistema permiten un intercambio de datos entre el núcleo y el programa.
En definitiva, las llamadas al sistema son el mecanismo que los programas
utilizan para solicitar el núcleo el uso de los recursos del computador
(hardware). Habitualmente las llamadas al sistema se identifican como un
conjunto perfectamente definido de funciones.
En el cuarto nivel, se sitúan las aplicaciones que se sirven de
otros programas ya creados ubicados en el nivel inferior para llevar a cabo su
función. Estas aplicaciones no se comunican directamente con el núcleo. Por
ejemplo una aplicación situada en este cuarto nivel será el compilador de C cc
que invoca de forma secuencial a los programas cpp, comp, as y ld. situados en
el tercer nivel.
La jerarquía de programas no tiene porqué verse limitada a
cuatro niveles. El usuario puede crear tantos niveles como necesite. Además,
puede haber también programas que se apoyen en diferentes niveles y que se
comuniquen con el núcleo por un lado, y con otros programas ya existentes, por
otro.
La existencia del núcleo posibilita que los programas de los
niveles superiores puedan ser escritos sin realizar ninguna suposición sobre el
hardware de la computadora. A su vez esto facilita su portabilidad entre
diferentes tipos de computadoras (siempre que tengan instalado UNIX).
Características del UNIX
(y por lo tanto, esto
también estará presente en los distintos clones)
INTERACTIVO: el
usuario puede trabajar de forma interactiva, sin tener que esperar un gran tiempo de respuesta
MULTIUSUARIO: varios
usuarios pueden trabajar a la vez desde distintos terminales (tiempo
compartido).
MULTITAREA: más de
una tarea la vez, en diferentes sesiones, modo background.
MULTIPROCESADOR:
pues eso, permite más de un procesador.
DE PROPÓSITO
GENERAL: no es específico para un tipo de trabajos sino que admite todo tipo de
aplicaciones.
Está diseñado para
crear un entorno de programación sencillo, eficiente y flexible para
programadores y diseñadores. Soporta lenguajes
de programación como: C, PASCAL, ENSAMBLADOR, COBOL, INFORMIX, ORACLE.
Unix fue concebido
para entornos grandes, potentes servidores de internet y básicamente, para el mundo empresarial... y como ya te estarás
imaginando, todo lo anterior hace que un sistema Unix sea demasiado caro para
el usuario final.
La solución a lo
anterior fue contundente: ¿Porque no crear un clon de Unix que aporte toda su potencia y hacerlo accesible para todo el
mundo? Linux, FreeBSD, OpenBSD,
aquí tienes la respuesta a la pregunta. Estos tres son clones de Unix, respetan
sus normas y sus standares (POSIX, BSD), pero
además gozan de una característica importante, Linux, FreeBSD, OpenBSD (y alguno
más que me dejo) son Fuente Abierta y están bajo la cobertura de la GPL, la
Licencia Publica General GNU. Esto quiere decir que además de tener la potencia
que tienen, son gratis, no pertenecen a ninguna empresa y permiten obtener todo el código fuente.
Características del Sistema Operativo UNIX
Características del Sistema Operativo UNIX
Los beneficios
derivados del uso del sistema operativo UNIX, por lo tanto de Linux, provienen
de su potencia y flexibilidad. Estas son resultado de numerosas características
integradas al sistema, las que están disponibles tan pronto como se inicia.
Estas características son brevemente descritas a continuación:
MULTITAREAS
Esta palabra
describe la habilidad de ejecutar, aparentemente al mismo tiempo, numerosos
programas sin obstaculizar la ejecución de cada uno de estos. Esto se conoce
como multitareas preferentes, porque cada programa tiene garantizada la
posibilidad de correr, esto es, cada programa no se ejecuta hasta que el
sistema operativo lo aparta para permitir que otros programas corran. Otros sistemas operativos no soportan multitareas preferente,
solo la llamada multitareas cooperativa,
bajo la cual los programas corren hasta que ellos mismos permiten la ejecución
de otro programa o no tienen otra cosa que hacer durante este periodo.
Es fácil apreciar los
beneficios de tener capacidades multitareas preferentes. Además de reducir los
tiempos muertos, la flexibilidad de no tener que cerrar las ventanas de
aplicaciones antes de abrir y trabajar en otras es mucho más conveniente.
Linux y otros
sistemas de multitareas preferentes realizan el procesamiento preferente
mediante el monitoreo, tanto de los procesos que están en espera de ejecución
como de los que se están ejecutando. Entonces, el sistema programa cada proceso
para que tenga la misma oportunidad de acceso al microprocesador. El resultado es que
las aplicaciones abiertas parecen correr al mismo tiempo. La capacidad de
asignar tiempo a las aplicaciones que están en ejecución, nos permite mayor velocidad de procesamiento.
MULTIUSUARIO
El concepto de que
numerosos usuarios pudieran acceder a aplicaciones o el potencial de
procesamiento de una sola PC era un mero sueño desde hace unos años. La
capacidad para asignar tiempo del microprocesador a numerosas aplicaciones
simultáneas se prestó como consecuencia a servir a numerosas personas al mismo
tiempo, cada una ejecutando una o más aplicaciones.
Una particularidad
de esta característica, es que más de una persona puede trabajar en la misma versión de
la misma aplicación de manera simultánea, desde las mismas terminales o desde
terminales separadas. Esto no debe confundirse con numerosos usuarios que
actualizan un archivo a un tiempo, particularidad que es potencialmente
desconcertante y peligrosa a la vez que indeseable.
Existen aún más
características que merecen mencionarse sobre el sistema operativo con el que
realizamos esta tesis, pero que
para el desarrollo de la misma no es necesario describir tan
detalladamente.
Estas
características son las siguientes:
·
Shells programables
·
Independencia de dispositivos bajo Unix
·
Independencia de dispositivos bajo Linux
·
Comunicaciones y capacidades de la red
·
Portabilidad de sistemas abiertos
Ventajas del sistema
operativo UNIX
Precio: Podemos descargarlo gratuitamente desde internet o
comprarlo a un precio asequible.
Requerimientos: Funciona exclusivamente en modo de texto sin la
necesidad de cargar un entorno grafica y puede ejecutarse en cualquier maquina.
Estabilidad: A tener su núcleo basado en unix,ereda esa
estabilidad que siempre ha caracterizado a los sistemas unix.
Seguridad: A nivel de servidor podemos encontrar que la seguridad
del unix frente a otros servidores del mercado es mucho mayor.
Compatibilidad: Reconoce la mayoría de otros sistemas operativos
en una red.
Multitarea Real: Ejecuta varias aplicaciones y procesos
simultáneamente.
Velosidad: Su entorno grafico para ejecutar servicios o
aplicaciones hacen que su velocidad sea muy superior a los actuales sistemas
operativos.
Codigo Fuente: Es posible modificarlo y adaptarlos a nuestras
necesidades libremente.
Entorno De Programacion: Se puede programar para otro sistema
operativo.
Crecimiento: Gracias a la licencia GNU,el codigo abierto,y la gran
comunidad de miles de programadores es los más rápidos que existen en la
actualidad.
Desventajas del sistema
operativo UNIX
- Soporte: Algunos linux no
cuentan con empresas que lo respalden, por lo cual no existe un soporte
sólido como el de otros sistemas operativos.
- Simplicidad: Gracias al
entorno de ventanas,sus escritorios y las aplicaciones diseñadas
específicamente, para el cada día resulta más sencillo su integración y
uso.
- Sofware: A veces es difícil
encontrar una aplicación determinada, y lo más importante, es que no todas
las aplicaciones está en castellano.
- Hardware: Actualmente linux
soporta un máximo de 16 procesadores simultáneamente contra los 64
procesadores de otros sistemas operativos.
Comandos Básicos Del Sistema Operativo
Documentación: man.
Esta
es una lista de los sesenta comandos de usuario de la sección 1 de la Primera
Edición:
ar as b bas bcd boot cat chdir check chmod chown cmp cp date db (Unix) dbppt dc df dsw dtf du ed find for form hup lbppt ld ln ls mail mesg mkdir mkfs mountmv nm od pr rew (Unix) rkd rkf rkl rm rmdir roff sdate sh stat strip
(Unix) su sum tap (Unix) tm tty type un wc who write
Aplicaciones
del sistema operativo unix
1. NEKO
Esta aplicación fue escrita
por Kenji Gotoh para computadoras Mac en 1989, y luego fue
portada al X Window System por Masayuki Koba. Neko (猫, ねこ) es gato en
japonés, y muestra el sprite de un gato corriendo detrás del puntero hasta que
este se detiene y se echa a dormir hasta que el puntero se vuelve a mover.
Sitio web:
2. XBILL
¿Qué logra
poner de acuerdo a la mayoría de linuxeros y maqueros? Su desprecio hacia Bill
Gates. Francamente me es indiferente Gates -o cualquier otro ejecutivo de
cualquier empresa tecnológica-, pero unos programadores se tomaron la tarea de
hacer un sencillo pero entretenido juego donde tenemos que matar a todos los
Bill que quieran instalar Windows en redes de computadores con
sistemas Unix. A pesar de su sencillez, el juego fue el favorito de
los lectores de Linux Journal en 1999, superando al mítico Quake. Sitio
web:
3. XPENGUINS
Esta
aplicación fue escrito por Robin Hogan, muestra a un grupo de pinguinos inquietos
por el escritorio: unos caen, otros excavan, otros leen. De hecho, los
pinguinos fueron tomados del popular juego pingus. Existen versiones para
Windows y Javascript. Sitio web:
4. XSNOW
Fue creada
originalmente como carta de saludo para sistemas Macintosh en
1984. En 1993 fue portada al X Window System e incluído en la
mayoría de distribuciones Linux a finales de los noventas. Es
quizás la más apropiada, para este mes de diciembre.
No hay comentarios:
Publicar un comentario