jueves, 23 de febrero de 2017

SISTEMA OPERATIVO UNIX

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
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
 Navegación/creación de directorios/archivos: ls cd pwd mkdir rm rmdir cp.
Edición/visión de archivos: touch more ed vi nano.
Procesamiento de textos: echo cat grep sort uniq sed awk tail head.
Comparación de archivos: comm cmp diff patch.
Administración del sistema: chmod chown ps find xargs sd w who.
Comunicación: mail telnet ssh ftp finger rlogin.
Shells: sh csh ksh.
Documentación: man.
Esta es una lista de los sesenta comandos de usuario de la sección 1 de la Primera Edición:
 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