UNIVERSIDAD AUTONOMA DE SANTO DOMINGO
Facultad de Ciencias
INF-324 sección 01
Sistemas Operativos
Prof. José Binet
Sistema Operativo
Sustentantes
Neolfi Román Ramírez BD-7510
Andres Ceballo DD-6297
Yely Gonzalez DC-3513
jonathan Hernandez CG-7076
Dionaris Brujan Beltre 100011217
Introducción
El sistema operativo UNIX se inicio como un proyecto de investigación y se ha convertido en un importante producto ampliamente utilizado en el mundo de los negocios, en el académico y en el gubernamental. Se trata de un sistema operativo potente, flexible y versátil, originado ya hace más de 40 años, que prácticamente puede ser instalado en cualquier tipo de plataforma, incluyendo los ordenadores personales monousuarios. El código fuente del sistema UNIX, y no sólo el código ejecutable, ha estado disponible a usuarios y programadores. A causa de esto, muchos programadores han sido capaces de adaptar UNIX de formas muy diferentes. Este carácter abierto, ha conducido a la introducción de un amplio rango de características nuevas y de versiones especializadas que se ajustan a necesidades particulares.
Como se sabe, Unix es un sistema multiusuario, multitarea y además, proporciona un buen entorno para el trabajo en red. Ofrece programas y servicios que permiten construir aplicaciones basadas en red. Ha sido básico para el desarrollo de los servicios en Internet y para el propio crecimiento de Internet. Consecuentemente, con la importancia creciente de la computación distribuida e Internet, está creciendo la popularidad del sistema UNIX. El sistema UNIX es mucho más fácil de portar a nuevas máquinas que otros sistemas operativos. Esta portabilidad es consecuencia directa de estar escrito casi completamente en un lenguaje de alto nivel, el lenguaje C. La portabilidad a un amplio rango de arquitecturas hace posible mover las aplicaciones de un sistema a otro.
En los años '60, un proyecto estaba bajo la línea del Instituto Tecnológico de Massachusetts (MIT), para mejorar el estado de habilidad con software de tiempo compartido. El MIT, los laboratorios Bell, y General Electric fueron colaboradores en esta aventura.
En 1966, un grupo de investigadores de los Laboratorios Bell desarrolló un sistema operativo experimental llamado MULTICS (Información multiplexada y Sistema de Computación). Fue diseñado como sistema operativo interactivo para una computadora General Electric GE 645, permitiendo compartir información al mismo tiempo que daba seguridad. Sin embargo, hubieron muchos retrasos en el desarrollo y las versiones resultaron lentas y con mucha necesidad de memoria. Por esto y otras razones, los laboratorios Bell abandonaron el proyecto, pero sus ideas innovadoras serían ocupadas más adelante.
En 1969, Ken Thompson, uno de los investigadores del Multics, diseñó un juego para la GE llamado SPACE TRAVEL, que simulaba el sistema solar y una nave espacial, pero no le resultó. Con la ayuda de Dennis Ritchie, Thompson volvió a escribirlo, ahora para el PDP-7 de DEC (Digital Equipment Corporation, hoy parte de Compaq), aprovechando luego de escribirle un sistema operativo, con un sistema de archivo diseñado por Thompson, Ritchie y Rudd Canaday. Ellos crearon un sistema operativo multitarea, con sistema de archivos, intérprete de órdenes y algunas utilidades para el PDP-7, y luego se revisó el juego SPACE TRAVEL para ejecutarlo sobre él. Se le llamó al sistema con el nombre de UNICS (Información Uniplexada y Sistema de Computación), pues podía soportar dos usuarios simultáneamente. Ese nombre, un juego de palabras sobre MULTICS, es atribuido a Brian Kernighan. En 1970, el nombre se cambió a Unix.
En 1972 habían 10 computadoras con Unix y se esperaban más. En 1973, Ritchie y Thompson escribieron el núcleo de Unix en C, un lenguaje de programación de alto nivel, a diferencia de la mayoría de los sistemas, escritos generalmente en ensamblador. Thompson pensó en escribir Unix en Fortran, pero encontró dificultades con ese lenguaje, debido a su falta de portabilidad. El Unix en C se podía mantener más fácilmente, y podía trasladarse a otras máquinas casi sin problemas. El Unix se hizo muy popular por sus innovaciones y por estar escrito en lenguaje de alto nivel modificable de acuerdo a preferencias personales. Y sus conceptos siguieron creciendo: Se incorporaron los cauces (redirección de entrada y salida entre dos o más programas, denotada con el símbolo | ), sugeridos por Doug Mc. Ilory y desarrollados por Thompson a principios de los '70, haciendo posible el desarrollo de la filosofía Unix.
En 1974 empezó a usarse en Bell la cuarta edición de Unix. En 1977 salieron la quinta y sexta ediciones con muchas más herramientas. En 1978 ya eran más de 600 las máquinas con Unix en Bell y en las Universidades. La séptima edición de Unix salió en 1979.
El sistema III de Unix se convirtió en 1982 en la primera versión comercial del sistema Unix de AT&T. Este sistema III y las versiones experimentales se distribuyeron en universidades y otros laboratorios de investigación, los que modificaron bastante las versiones que adquirieron, hasta el punto de perderse compatibilidad entre versiones distintas. Para solucionar el problema, AT&T introdujo el Unix sistema V versión 1 en 1983 (el sistema IV sólo existió en AT&T como versión interna). Con este sistema, comenzaría a mantenerse la compatibilidad con otras versiones de Unix. Incorporó algunas características de BSD, el Unix desarrollado en la Universidad de California en Berkeley, como el editor vi y la biblioteca de manejo de pantalla curses. La versión 2 salió en 1985, con protección de archivos y registros para uso exclusivo por un programa, control de trabajos y administración ampliada del sistema.
La última versión que salió de Unix (a finales de los '80) es la versión 4, que fusiona las versiones más populares del Unix y los sistemas BSD, Xenix y SunOS, ajustándose a los estándares importantes definidos para el sistema por diversas organizaciones como el IEEE, el ANSI, el NIST, etc. Para ello fue necesario redefinir partes de su estructura, como el sistema de archivos, tratando de mantener compatibilidad con versiones anteriores del sistema V de Unix.
El conjunto de órdenes del SVR4 se construyó fusionando el conjunto de órdenes del sistema V versión 3.2 con las órdenes populares de BSD, XENIX y SunOS, añadiendo nuevas órdenes y actualizando algunas antiguas. Hubo, eso sí, algunos problemas con orden que tenían el mismo nombre, aunque eran de distintas versiones y hacían cosas distintas. Para solucionar ese problema se crearon paquetes de compatibilidad para que los usuarios de estas versiones pudieran usarlas.
Unix
Como se puede deducir de la reseña histórica de este sistema operativo, existen varias familias del sistema operativo UNIX que han evolucionado de manera independiente a lo largo de los años. Cada familia se distingue no tanto por sus diferencias técnicas como por sus diferencias en propiedad intelectual. Se observa que todas las familias se han visto contaminadas, directa o indirectamente, por otras familias. Las familias UNIX más significativas son:
- 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 incorpora propiedad intelectual no originaria de AT&T, la primera implementación de los protocolos TCP/IP que dieron origen a Internet.
- 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 luego 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 Linux. Las distribuciones basadas en el núcleo, el software GNU y otros agregados entre las que se pueden mencionar a 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.
A continuación, se puede apreciar un diagrama que demuestra la colocación actual de Unix entre las distintas familias que se han desarrollado:
Es un sistema operativo de tiempo compartido, controla los recursos de una computadora y los asigna entre los usuarios.
Permite a los usuarios correr sus programas.
Controla los dispositivos de periféricos conectados a la máquina.
Es un sistema operativo multiusuario, con capacidad de simular multiprocesamiento y procesamiento no interactivo.
Está escrito en un lenguaje de alto nivel: C.
El sistema de ficheros está basado en la idea de volúmenes, que se pueden montar y desmontar para lo que se les asigna un nodo del árbol como punto de anclaje. Un sistema físico puede dividirse en uno o más volúmenes.
Una de las grandes ideas de UNIX es la unificación y compatibilidad de todos los procesos de entrada y salida. Para UNIX, el universo es un sistema de ficheros. De esta forma existe compatibilidad entre ficheros, dispositivos, procesos, “pipes” y “sockets”.
Dispone de un lenguaje de control programable llamado “Shell”.
El sistema presenta comandos de usuario (es decir, a nivel de “Shell”) para iniciar y manipular procesos concurrentes asíncronos. Un usuario puede ejecutar varios procesos, intercambiarlos e interconectarlos a través de “pipes” o “tuberías”, simbolizados por un carácter especial. En DOS, también existe la idea del “pipe”, sin embargo, al no existir concurrencia de procesos, no se trata de una comunicación en "tiempo real", sino de un paso de información a través de ficheros temporales.
Ofrece facilidades para la creación de programas y sistemas y el ambiente adecuado para las tareas de diseños de software.
Emplea manejo dinámico de memoria por intercambio o paginación.
El núcleo de UNIX es relativamente compacto en comparación con otros sistemas de tiempo compartido. Introduce la idea de reducir el tamaño del “kernel” y ceder ciertas funciones a programas externos al núcleo llamados “demonios”. Esto ha sido muy desarrollado y en la actualidad, la tendencia es el desarrollo de “micro-kernels”, sin embargo UNIX, aunque pionero, es anterior a estos desarrollos.
Tiene capacidad de interconexión y comunicaciones de procesos.
Emplea un sistema jerárquico de archivos, con facilidades de protección de archivos, cuentas y procesos. En este sistema de ficheros jerárquico todo se encuentra anclado en la raíz. La mayoría de la literatura sobre el tema dice que el sistema de ficheros UNIX es un grafo acíclico, sin embargo, la realidad es que se trata de un grafo cíclico. El DOS, por ejemplo, es un árbol, con un directorio raíz del que cuelgan subdirectorios que a su vez son raíces de otros sub-árboles. Un grafo cíclico es como un árbol en el que se pueden enlazar nodos de niveles inferiores con un nivel superior. Es decir, se puede entrar en un subdirectorio y aparecer más cerca de la raíz de lo que se estaba.
Tiene facilidad para redireccionamiento de Entradas/Salidas.
Garantiza un alto grado de portabilidad.
UNIX realiza un riguroso control de acceso a ficheros. Cada uno se encuentra protegido por una secuencia de bits. Sólo se permite el acceso global al “root” o “superusuario”. Por tanto, el universo de usuarios de UNIX se encuentra dividido en dos grupos principales, no sólo para el acceso a ficheros sino para todas las actividades: el “root”, todopoderoso, para el que no hay barreras; y el resto de los usuarios, controlados por el S.O. según las directivas del “root”.
UNIX es un S.O. de red, algo que a veces se confunde con un S.O. distribuido. Por ello, se ha incluido en su núcleo la arquitectura de protocolos de internet, TCP/IP.
Las desventajas del mismo pueden variar entre versiones, así como también por diversas condicionantes externas, tales como: el área de uso (personal, comercial o industrial), experticia del usuario, funcionalidad específica de las aplicaciones, entre otras. En general se podría decir que:
- Desde el punto de vista comercial, no muchas personas lo conocen, ya que no es un sistema que venga precargado en cada PC que se compra. En otras palabras, no están popular como Windows o incluso como Linux, y por tanto, es difícil encontrar los programas que se acostumbran a usar en esos otros sistemas operativos.
- Desde el punto de vista de funcionalidad, el S.O. Unix vienen en muchas variantes como se sabe, sin embargo, el detalle es que hay variantes que están diseñadas para ser ejecutada en equipos especiales fabricados por una marca especifica, como IBM, SUN, HP, DELL, entre otras. Lo que limita un tanto la portabilidad de UNIX
- En cuanto a la confiabilidad, UNIX fue desarrollado desde sus inicios para ser más estable que cualquier otro sistema operativo, es decir, que cuando se usa UNIX no es tan común ver ciertas pantallas de errores que salen en los otros S.O, aunque si se podrán dar casos en que hay computadores con sistemas UNIX en desuso, pero será por problemas de Hardware o de algún otro programa que trabaje mal.
- A pesar de ser tan estable y no “caerse” prácticamente nunca, resulta ser muy costoso en el sentido de mantenimiento y administración. Es decir, que por ejemplo, hay empresas que pierden más dinero con un equipo fuera de línea que pagando a un administrador del sistema (que cobra mucho por su trabajo a razón de que no muchas personas conocen UNIX).
- El S.O UNIX puede requerir más horas de aprendizaje que el resto de las otras plataformas de sistemas operativos.
- Como ya se menciono antes, los problemas suelen ser más difíciles de resolver dado el poco apoyo y soporte que hay en el mercado y, normalmente, el soporte del fabricante es muy costoso.
- Se utiliza un lenguaje de programación muy avanzado: C, aunque en algunos casos permite Fortran y Java.
En general UNIX mantiene una serie de procesos en funcionamiento durante todo el tiempo que este en funcionamiento. Todos los procesos en UNIX están identificados por un número, el PID, que es único. Si un proceso acaba y vuelve a empezar, su nuevo PID nunca coincidirá con el anterior. La lista y el estado de funcionamiento de los procesos (consumo de recursos, etc.) es fácilmente visualizable mediante el comando “top”.
Aunque desde los años de popularización del sistema Apple Macintosh (1983, en adelante) las interfaces gráficas de usuario se han ido extendiendo más y más, UNIX es más típicamente manejado desde interfaces de tipo CLI (“Command Line Interface”), en las que los comandos se lanzan desde el “Shell”. Hay una decena de “shells” populares en UNIX, desde el antiguo pero universal “Bourne Shell” (sh) hasta el sofisticado “Bash Shell”.
El uso de interfaces gráficas con UNIX es tan fácil como con cualquier otra plataforma. Sin embargo la flexibilidad de interconexión entre los datos de entrada y salida de las aplicaciones no es fácil de representar en aquéllos, y es este precisamente uno de los aspectos más importante para los programadores de sistema ya que permite construir comandos combinados potentes muy rápidamente a los expertos. UNIX ideó el sistema de almacenamiento en estructuras jerárquicas que hoy es tan popular en todos los sistemas: los directorios y subdirectorios.
supervisa la transferencia de datos entre la memoria principal y los dispositivos periféricos. En términos generales, cada vez que algún usuario oprime una tecla de una terminal, o que se debe leer o escribir información del disco magnético, se interrumpe al procesador central y el núcleo se encarga de efectuar la operación de transferencia.
Las partes más importantes en que puede dividirse el sistema operativo UNIX son:
Kernel
Shell
UNIX file system
Kernel
Shell
UNIX file system
Además, normalmente con el sistema operativo se suministran otra serie de programas, utilidaeds para comunicaciones, editores, lenguajes de programación, etc, que no forman parte estrictamente del sistema operativo.
Kernel
El núcleo es la parte central de los sistemas operativos UNIX; encapsula el equipo y ofrece servicios de sistemas UNIX a los programas de aplicaciones. El núcleo se encarga de la administración de procesos, de memoria, de E/S y del reloj. Así como el shell proporciona servicios a los usuarios, el núcleo proporciona servicios a los programas de aplicación, incluyendo al shell.
El núcleo administra la memoria real y asigna el procesador en forma automática, Otras funciones del núcleo se ejecutan en respuesta a solicitudes, denominadas llamadas al sistema, de los procesos de aplicación actúen.
Realiza una serie de tareas básicas como:
Controlar la memoria de la máquina y asignar una parte a cada proceso
Distribuir el trabajo realizado por la CPU de forma que sea lo más eficiente posible
Organizar la transferencia de datos entre las distintas partes del sistema
Aceptar las instrucciones de la shell
Hacer cumplir los permisos especificados en el sistema de ficheros
Shell
Es el programa que actúa como interfaz de usuario para comunicar al usuario con el sistema operativo mediante una ventana que espera ordenes escritas por el usuario en el teclado; los interpreta y los entrega al sistema operativo para su ejecución. La respuesta del sistema operativo es mostrada al usuario en la misma ventana, el programa “shell” queda esperando más instrucciones. Se interactúa con la información de la manera más sencilla posible, sin gráficas, solo el texto crudo.
En UNIX hay varios tipos de shell que ofrecen diferentes características:
Bourne shell (sh)
C shell (csh)
TC shell (tcsh)
Korn shell (ksh)
Bourne Again Shell (bash)
Bourne shell. Es la original de UNIX y está disponible en todos los sistemas, sin embargo no ofrece las facilidades de interacción con el usuario que ofrecen las shell más modernas.
C shell. conocido también como csh Se le considera más idóneo para programadores,posee una sintaxis muy parecida al lenguaje de programación C y se lo encontrara como /bin/csh. El más usado en el mundo GNU/Linux,
TC shell es similar a la anterior pero ofrece más facilidades para editar la línea de comandos de forma interactiva.
Korn shell y Bourne Again Shell proporcionan las facilidades de interacción de TC shell pero el lenguaje de programación en shell es más parecido al original Bourne shell que a TC o C shell.
Para cambiar de shell basta con teclear en la línea de comandos el nombre de la shell que deseemos (sh,csh,tc,sh,ksh o bash). Sin embargo no podemos cambiar la opción que tenemos por defecto al entrar en la cuenta, si queremos cambiarla hay que pedirlo al administrador del sistema.
Es la estructura de su sistema de ficheros.
Un sistema de ficheros es la forma que tiene el sistema operativo de organizar los datos en una estructura o colección de ficheros. UNIX considera como ficheros no sólo a los ficheros normales (en los que guardamos datos, programas, etc) sino también a los directorios y los dispositivos conectados al sistema.
El sistema de ficheros en UNIX está organizado en una estructura jerárquica de directorios que comienza en el directorio root representado por / .
Los directorios que cuelgan de root pueden variar dependiendo del sistema, aunque los mostrados en el arbol a continuación, sí son comunes a todos los sistemas UNIX.
Es el nombre con el que se conoce el sistema operativo de Sun Microsystems. Originalmente se llamó SunOS, pero posteriormente, debido a la presentación de UNIX Sistema V se desarrolló una nueva versión a la que se le llamó Solaris. Existen versiones de Solaris para Power PC, Intel y Sparc.
AIX: La versión del sistema operativo UNIX para las máquinas IBM se llama AIX y está basada en Sistema V versión 3 y BSD 4.3.
A/UX: Implementación de UNIX de Apple
IRIX: Versión de UNIX desarrollada por Silicon Graphics para sus estaciones basada en UNIX Sistema V versión 4.
SCO UNIX: Es la versión de Santa Cruz Operation (SCO), versión de UNIX Sistema V diseñada para plataformas Intel.
GNU/LINUX: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. En 1991, cuando Linus Torvalds empezó a proponer el kernel 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 conocemos como GNU/Linux o simplemente Linux.
AIX: La versión del sistema operativo UNIX para las máquinas IBM se llama AIX y está basada en Sistema V versión 3 y BSD 4.3.
A/UX: Implementación de UNIX de Apple
IRIX: Versión de UNIX desarrollada por Silicon Graphics para sus estaciones basada en UNIX Sistema V versión 4.
SCO UNIX: Es la versión de Santa Cruz Operation (SCO), versión de UNIX Sistema V diseñada para plataformas Intel.
GNU/LINUX: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. En 1991, cuando Linus Torvalds empezó a proponer el kernel 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 conocemos como GNU/Linux o simplemente Linux.
Comparación con el sistema operativo Windows
Núcleo monolítico Vs. Micro núcleo: en Windows se utiliza una aproximación al Micro núcleo (tipo de núcleo descentralizado pero de menor rendimiento) mientras que en Unix se utiliza el Núcleo Monolítico (tipo de núcleo da gran rendimiento pero de gran complejidad para añadir nuevas funcionalidades).
Ficheros Vs. Objetos: Unix es un sistema operativo orientado a ficheros (todo es una serie de ficheros organizados de manera jerárquica) y Windows es un sistema operativo orientado a objetos (todo es un objeto, algo más complicado que un archivo).
Súper-aplicaciones Vs. Micro-aplicaciones: En Unix se tienden a tener un montón de pequeñas aplicaciones que hacen una sola cosa pero muy bien, mientras que en Windows se tiende a concentrar todo en una aplicación pero con una no muy buena funcionalidad.
UNIX es un sistema operativo muy versátil y hoy en día despliega sus potencialidades en entornos muy disímiles. Entre otros se encuentran los siguientes: Mainframes y microcomputadora de distintos tamaño estaciones de trabajos supercomputadores.
Sistemas tolerantes a fallas en este caso el sistema corre un derivado de Unix que soporta la operación de este tipo de maquinas. Sistema en control de tiempos real en este caso Unix fue modificado para dar soporte y operaciones en tiempo real.
Linux es una variante más popular que posee varias característica que lo hacen único es la versión de Unix para la PC. Fue escrito por el finlandés Linux Thorvald, por ese motivo se distribuye gratuitamente.
Referencias
Universidad Autónoma de Santo Domingo
(UASD)
Facultad de Ciencias
INF-324 sección 01
Sistemas Operativos
Prof. José Binet
Sistema Operativo UNIX
Sustentantes
Anyeline abad | DC3521 |
Enmanuel vargas | CD8099 |
Roberto Rojas | CI6916 |
Edtih jimenez | DC6217 |
Contenido
Introducción.. 3
Historia. 4
Familias de Unix. 5
Características generales de Unix. 6
Desventajas de Unix. 7
Generalidades de Unix. 8
Partes del sistema operativo.. 8
Kernel 8
Shell 9
UNIX file system... 10
Versiones más Actualizadas de Unix. 11
Comparación con el sistema operativo Windows. 11
Conclusión.. 12
Sugerencias. 13
Bibliografía. 14
Examen.. 15
UNIX es un sistema operativo de tiempo compartido, controla los recursos de una computadora y los asigna entre los usuarios. Permite a los usuarios correr sus programas. Controla los dispositivos de periféricos conectados a la máquina.
El sistema operativo UNIX se inicio como un proyecto de investigación y se ha convertido en un importante producto ampliamente utilizado en el mundo de los negocios, en el académico y en el gubernamental. Se trata de un sistema operativo potente, flexible y versátil, originado ya hace más de 40 años, que prácticamente puede ser instalado en cualquier tipo de plataforma, incluyendo los ordenadores personales monousuarios. El código fuente del sistema UNIX, y no sólo el código ejecutable, ha estado disponible a usuarios y programadores. A causa de esto, muchos programadores han sido capaces de adaptar UNIX de formas muy diferentes. Este carácter abierto, ha conducido a la introducción de un amplio rango de características nuevas y de versiones especializadas que se ajustan a necesidades particulares.
Como se sabe, Unix es un sistema multiusuario, multitarea y además, proporciona un buen entorno para el trabajo en red. Ofrece programas y servicios que permiten construir aplicaciones basadas en red. Ha sido básico para el desarrollo de los servicios en Internet y para el propio crecimiento de Internet. Consecuentemente, con la importancia creciente de la computación distribuida e Internet, está creciendo la popularidad del sistema UNIX. El sistema UNIX es mucho más fácil de portar a nuevas máquinas que otros sistemas operativos. Esta portabilidad es consecuencia directa de estar escrito casi completamente en un lenguaje de alto nivel, el lenguaje C. La portabilidad a un amplio rango de arquitecturas hace posible mover las aplicaciones de un sistema a otro.
En los años '60, un proyecto estaba bajo la línea del Instituto Tecnológico de Massachusetts (MIT), para mejorar el estado de habilidad con software de tiempo compartido. El MIT, los laboratorios Bell, y General Electric fueron colaboradores en esta aventura.
En 1966, un grupo de investigadores de los Laboratorios Bell desarrolló un sistema operativo experimental llamado MULTICS (Información multiplexada y Sistema de Computación). Fue diseñado como sistema operativo interactivo para una computadora General Electric GE 645, permitiendo compartir información al mismo tiempo que daba seguridad. Sin embargo, hubieron muchos retrasos en el desarrollo y las versiones resultaron lentas y con mucha necesidad de memoria. Por esto y otras razones, los laboratorios Bell abandonaron el proyecto, pero sus ideas innovadoras serían ocupadas más adelante.
En 1969, Ken Thompson, uno de los investigadores del Multics, diseñó un juego para la GE llamado SPACE TRAVEL, que simulaba el sistema solar y una nave espacial, pero no le resultó. Con la ayuda de Dennis Ritchie, Thompson volvió a escribirlo, ahora para el PDP-7 de DEC (Digital Equipment Corporation, hoy parte de Compaq), aprovechando luego de escribirle un sistema operativo, con un sistema de archivo diseñado por Thompson, Ritchie y Rudd Canaday. Ellos crearon un sistema operativo multitarea, con sistema de archivos, intérprete de órdenes y algunas utilidades para el PDP-7, y luego se revisó el juego SPACE TRAVEL para ejecutarlo sobre él. Se le llamó al sistema con el nombre de UNICS (Información Uniplexada y Sistema de Computación), pues podía soportar dos usuarios simultáneamente. Ese nombre, un juego de palabras sobre MULTICS, es atribuido a Brian Kernighan. En 1970, el nombre se cambió a Unix.
El grupo de Investigación en Informática quería trasladar el Unix a una máquina más grande. Thompson y Ritchie adquirieron un DEC PDP-11/20 para añadir procesamiento de texto al Unix. Este sistema, con el programa de procesamiento de texto runoff, fueron llevados al PDP-11/20 en 1970. Este sistema de procesamiento de texto, consistente en Unix, un editor de texto y el runoff fueron adoptados por el departamento de patentes de Bell como procesador de texto. runoff evolucionó a troff, que además tiene capacidad de composición tipográfica, y es usado aún en nuestros días.
En 1972 habían 10 computadoras con Unix y se esperaban más. En 1973, Ritchie y Thompson escribieron el núcleo de Unix en C, un lenguaje de programación de alto nivel, a diferencia de la mayoría de los sistemas, escritos generalmente en ensamblador. Thompson pensó en escribir Unix en Fortran, pero encontró dificultades con ese lenguaje, debido a su falta de portabilidad. El Unix en C se podía mantener más fácilmente, y podía trasladarse a otras máquinas casi sin problemas. El Unix se hizo muy popular por sus innovaciones y por estar escrito en lenguaje de alto nivel modificable de acuerdo a preferencias personales. Y sus conceptos siguieron creciendo: Se incorporaron los cauces (redirección de entrada y salida entre dos o más programas, denotada con el símbolo | ), sugeridos por Doug Mc. Ilory y desarrollados por Thompson a principios de los '70, haciendo posible el desarrollo de la filosofía Unix.
En 1974 empezó a usarse en Bell la cuarta edición de Unix. En 1977 salieron la quinta y sexta ediciones con muchas más herramientas. En 1978 ya eran más de 600 las máquinas con Unix en Bell y en las Universidades. La séptima edición de Unix salió en 1979.
El sistema III de Unix se convirtió en 1982 en la primera versión comercial del sistema Unix de AT&T. Este sistema III y las versiones experimentales se distribuyeron en universidades y otros laboratorios de investigación, los que modificaron bastante las versiones que adquirieron, hasta el punto de perderse compatibilidad entre versiones distintas. Para solucionar el problema, AT&T introdujo el Unix sistema V versión 1 en 1983 (el sistema IV sólo existió en AT&T como versión interna). Con este sistema, comenzaría a mantenerse la compatibilidad con otras versiones de Unix. Incorporó algunas características de BSD, el Unix desarrollado en la Universidad de California en Berkeley, como el editor vi y la biblioteca de manejo de pantalla curses. La versión 2 salió en 1985, con protección de archivos y registros para uso exclusivo por un programa, control de trabajos y administración ampliada del sistema.
La última versión que salió de Unix (a finales de los '80) es la versión 4, que fusiona las versiones más populares del Unix y los sistemas BSD, Xenix y SunOS, ajustándose a los estándares importantes definidos para el sistema por diversas organizaciones como el IEEE, el ANSI, el NIST, etc. Para ello fue necesario redefinir partes de su estructura, como el sistema de archivos, tratando de mantener compatibidad con versiones anteriores del sistema V de Unix.
El conjunto de órdenes del SVR4 se construyó fusionando el conjunto de órdenes del ssitema V versión 3.2 con las órdenes populares de BSD, XENIX y SunOS, añadiendo nuevas órdenes y actualizando algunas antiguas. Hubieron, eso sí, algunos problemas con órdens que tenían el mismo nombre, aunque eran de distintas versiones y hacían cosas distintas. Para solucionar ese problema se crearon paquetes de compatibilidad para que los usuarios de estas versiones pudieran usarlas.
La versión 4 soporta cuatro intérpretes de órdenes, o shells. Como shell por omisión, tiene una versión ampliada del sistema V estándar. Además, como ya dije, existen otros tres shells:
· El Shell job, que incorpora características de control de trabajos al shell estándar,
· El Shell Korn, creado por David Korn, ofrece un superconjunto de las características del shell del sistema V, incluyendo historia de órdenes, edición de línea de orden y características ampliadas de programación.
· El Shell C, procedente del sistema BSD y desarrollado por Bill Joy, comparte capacidad de control de trabajos, historia de órdenes, capacidad de edición, etc.
Familias de Unix
Como se puede deducir de la reseña histórica de este sistema operativo, existen varias familias del sistema operativo UNIX que han evolucionado de manera independiente a lo largo de los años. Cada familia se distingue no tanto por sus diferencias técnicas como por sus diferencias en propiedad intelectual. Se observa que todas las familias se han visto contaminadas, directa o indirectamente, por otras familias. Las familias UNIX más significativas son:
- 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 incorpora propiedad intelectual no originaria de AT&T, la primera implementación de los protocolos TCP/IP que dieron origen a Internet.
- 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 luego 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 Linux. Las distribuciones basadas en el núcleo, el software GNU y otros agregados entre las que se pueden mencionar a 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.
A continuación, se puede apreciar un diagrama que demuestra la colocación actual de Unix entre las distintas familias que se han desarrollado:
Características generales de Unix
· Es un sistema operativo de tiempo compartido, controla los recursos de una computadora y los asigna entre los usuarios.
· Permite a los usuarios correr sus programas.
· Controla los dispositivos de periféricos conectados a la máquina.
· Es un sistema operativo multiusuario, con capacidad de simular multiprocesamiento y procesamiento no interactivo.
· Está escrito en un lenguaje de alto nivel: C.
· El sistema de ficheros está basado en la idea de volúmenes, que se pueden montar y desmontar para lo que se les asigna un nodo del árbol como punto de anclaje. Un sistema físico puede dividirse en uno o más volúmenes.
· Una de las grandes ideas de UNIX es la unificación y compatibilidad de todos los procesos de entrada y salida. Para UNIX, el universo es un sistema de ficheros. De esta forma existe compatibilidad entre ficheros, dispositivos, procesos, “pipes” y “sockets”.
· Dispone de un lenguaje de control programable llamado “Shell”.
· El sistema presenta comandos de usuario (es decir, a nivel de “Shell”) para iniciar y manipular procesos concurrentes asíncronos. Un usuario puede ejecutar varios procesos, intercambiarlos e interconectarlos a través de “pipes” o “tuberías”, simbolizados por un carácter especial. En DOS, también existe la idea del “pipe”, sin embargo, al no existir concurrencia de procesos, no se trata de una comunicación en "tiempo real", sino de un paso de información a través de ficheros temporales.
· Ofrece facilidades para la creación de programas y sistemas y el ambiente adecuado para las tareas de diseños de software.
· Emplea manejo dinámico de memoria por intercambio o paginación.
· El núcleo de UNIX es relativamente compacto en comparación con otros sistemas de tiempo compartido. Introduce la idea de reducir el tamaño del “kernel” y ceder ciertas funciones a programas externos al núcleo llamados “demonios”. Esto ha sido muy desarrollado y en la actualidad, la tendencia es el desarrollo de “micro-kernels”, sin embargo UNIX, aunque pionero, es anterior a estos desarrollos.
· Tiene capacidad de interconexión y comunicaciones de procesos.
· Emplea un sistema jerárquico de archivos, con facilidades de protección de archivos, cuentas y procesos. En este sistema de ficheros jerárquico todo se encuentra anclado en la raíz. La mayoría de la literatura sobre el tema dice que el sistema de ficheros UNIX es un grafo acíclico, sin embargo, la realidad es que se trata de un grafo cíclico. El DOS, por ejemplo, es un árbol, con un directorio raíz del que cuelgan subdirectorios que a su vez son raíces de otros sub-árboles. Un grafo cíclico es como un árbol en el que se pueden enlazar nodos de niveles inferiores con un nivel superior. Es decir, se puede entrar en un subdirectorio y aparecer más cerca de la raíz de lo que se estaba.
· Tiene facilidad para redireccionamiento de Entradas/Salidas.
· Garantiza un alto grado de portabilidad.
· UNIX realiza un riguroso control de acceso a ficheros. Cada uno se encuentra protegido por una secuencia de bits. Sólo se permite el acceso global al “root” o “superusuario”. Por tanto, el universo de usuarios de UNIX se encuentra dividido en dos grupos principales, no sólo para el acceso a ficheros sino para todas las actividades: el “root”, todopoderoso, para el que no hay barreras; y el resto de los usuarios, controlados por el S.O. según las directivas del “root”.
· UNIX es un S.O. de red, algo que a veces se confunde con un S.O. distribuido. Por ello, se ha incluido en su núcleo la arquitectura de protocolos de internet, TCP/IP.
Las desventajas del mismo pueden variar entre versiones, así como también por diversas condicionantes externas, tales como: el área de uso (personal, comercial o industrial), experticia del usuario, funcionalidad específica de las aplicaciones, entre otras. En general se podría decir que:
- Desde el punto de vista comercial, no muchas personas lo conocen, ya que no es un sistema que venga precargado en cada PC que se compra. En otras palabras, no están popular como Windows o incluso como Linux, y por tanto, es difícil encontrar los programas que se acostumbran a usar en esos otros sistemas operativos.
- Desde el punto de vista de funcionalidad, el S.O. Unix vienen en muchas variantes como se sabe, sin embargo, el detalle es que hay variantes que están diseñadas para ser ejecutada en equipos especiales fabricados por una marca especifica, como IBM, SUN, HP, DELL, entre otras. Lo que limita un tanto la portabilidad de UNIX
- En cuanto a la confiabilidad, UNIX fue desarrollado desde sus inicios para ser más estable que cualquier otro sistema operativo, es decir, que cuando se usa UNIX no es tan común ver ciertas pantallas de errores que salen en los otros S.O, aunque si se podrán dar casos en que hay computadores con sistemas UNIX en desuso, pero será por problemas de Hardware o de algún otro programa que trabaje mal.
- A pesar de ser tan estable y no “caerse” prácticamente nunca, resulta ser muy costoso en el sentido de mantenimiento y administración. Es decir, que por ejemplo, hay empresas que pierden más dinero con un equipo fuera de línea que pagando a un administrador del sistema (que cobra mucho por su trabajo a razón de que no muchas personas conocen UNIX).
- El S.O UNIX puede requerir más horas de aprendizaje que el resto de las otras plataformas de sistemas operativos.
- Como ya se menciono antes, los problemas suelen ser más difíciles de resolver dado el poco apoyo y soporte que hay en el mercado y, normalmente, el soporte del fabricante es muy costoso.
- Se utiliza un lenguaje de programación muy avanzado: C, aunque en algunos casos permite Fortran y Java.
Generalidades de Unix
En general UNIX mantiene una serie de procesos en funcionamiento durante todo el tiempo que este en funcionamiento. Todos los procesos en UNIX están identificados por un número, el PID, que es único. Si un proceso acaba y vuelve a empezar, su nuevo PID nunca coincidirá con el anterior. La lista y el estado de funcionamiento de los procesos (consumo de recursos, etc.) es fácilmente visualizable mediante el comando “top”.
Aunque desde los años de popularización del sistema Apple Macintosh (1983, en adelante) las interfaces gráficas de usuario se han ido extendiendo más y más, UNIX es más típicamente manejado desde interfaces de tipo CLI (“Command Line Interface”), en las que los comandos se lanzan desde el “Shell”. Hay una decena de “shells” populares en UNIX, desde el antiguo pero universal “Bourne Shell” (sh) hasta el sofisticado “Bash Shell”.
El uso de interfaces gráficas con UNIX es tan fácil como con cualquier otra plataforma. Sin embargo la flexibilidad de interconexión entre los datos de entrada y salida de las aplicaciones no es fácil de representar en aquéllos, y es este precisamente uno de los aspectos más importante para los programadores de sistema ya que permite construir comandos combinados potentes muy rápidamente a los expertos. UNIX ideó el sistema de almacenamiento en estructuras jerárquicas que hoy es tan popular en todos los sistemas: los directorios y subdirectorios.
supervisa la transferencia de datos entre la memoria principal y los dispositivos periféricos. En términos generales, cada vez que algún usuario oprime una tecla de una terminal, o que se debe leer o escribir información del disco magnético, se interrumpe al procesador central y el núcleo se encarga de efectuar la operación de transferencia.
Partes del sistema operativo
Las partes más importantes en que puede dividirse el sistema operativo UNIX son:
Kernel
Shell
UNIX file system
Kernel
Shell
UNIX file system
Además, normalmente con el sistema operativo se suministran otra serie de programas, utilidaeds para comunicaciones, editores, lenguajes de programación, etc, que no forman parte estrictamente del sistema operativo.
Kernel
El núcleo es la parte central de los sistemas operativos UNIX; encapsula el equipo y ofrece servicios de sistemas UNIX a los programas de aplicaciones. El núcleo se encarga de la administración de procesos, de memoria, de E/S y del reloj. Así como el shell proporciona servicios a los usuarios, el núcleo proporciona servicios a los programas de aplicación, incluyendo al shell.
El núcleo administra la memoria real y asigna el procesador en forma automática, Otras funciones del núcleo se ejecutan en respuesta a solicitudes, denominadas llamadas al sistema, de los procesos de aplicación actúen.
Realiza una serie de tareas básicas como:
· Controlar la memoria de la máquina y asignar una parte a cada proceso
· Distribuir el trabajo realizado por la CPU de forma que sea lo más eficiente posible
· Organizar la transferencia de datos entre las distintas partes del sistema
· Aceptar las instrucciones de la shell
· Hacer cumplir los permisos especificados en el sistema de ficheros
Shell
Es el programa que actúa como interfaz de usuario para comunicar al usuario con el sistema operativo mediante una ventana que espera ordenes escritas por el usuario en el teclado; los interpreta y los entrega al sistema operativo para su ejecución. La respuesta del sistema operativo es mostrada al usuario en la misma ventana, el programa “shell” queda esperando más instrucciones. Se interactúa con la información de la manera más sencilla posible, sin gráficas, solo el texto crudo.
En UNIX hay varios tipos de shell que ofrecen diferentes características:
· Bourne shell (sh)
· C shell (csh)
· TC shell (tcsh)
· Korn shell (ksh)
· Bourne Again Shell (bash)
Bourne shell. Es la original de UNIX y está disponible en todos los sistemas, sin embargo no ofrece las facilidades de interacción con el usuario que ofrecen las shell más modernas.
C shell. conocido también como csh Se le considera más idóneo para programadores,posee una sintaxis muy parecida al lenguaje de programación C y se lo encontrara como /bin/csh. El más usado en el mundo GNU/Linux,
TC shell es similar a la anterior pero ofrece más facilidades para editar la línea de comandos de forma interactiva.
Korn shell y Bourne Again Shell proporcionan las facilidades de interacción de TC shell pero el lenguaje de programación en shell es más parecido al original Bourne shell que a TC o C shell.
Para cambiar de shell basta con teclear en la línea de comandos el nombre de la shell que deseemos (sh,csh,tc,sh,ksh o bash). Sin embargo no podemos cambiar la opción que tenemos por defecto al entrar en la cuenta, si queremos cambiarla hay que pedirlo al administrador del sistema.
UNIX file system
Es la estructura de su sistema de ficheros.
Un sistema de ficheros es la forma que tiene el sistema operativo de organizar los datos en una estructura o colección de ficheros. UNIX considera como ficheros no sólo a los ficheros normales (en los que guardamos datos, programas, etc) sino también a los directorios y los dispositivos conectados al sistema.
El sistema de ficheros en UNIX está organizado en una estructura jerárquica de directorios que comienza en el directorio root representado por / .
Los directorios que cuelgan de root pueden variar dependiendo del sistema, aunque los mostrados en el arbol a continuación, sí son comunes a todos los sistemas UNIX.
Directorio Descripción
-----------------------------------------------------------------------------------------
/bin/ Comandos/programas binarios esenciales (cp, mv, ls, rm, etc.).
/boot/ Ficheros utilizados durante el arranque del sistema (núcleo y discos RAM)
/dev/ Dispositivos esenciales, discos duros, terminales, sonido,
video, lectores dvd/cd, etc
/etc/ Ficheros de configuración utilizados en todo el sistema y que
son específicos del ordenador
/etc/opt/ Ficheros de configuración utilizados por programas alojados dentro
de /opt/
/etc/X11/ Ficheros de configuración para el sistema X Window (Opcional)
/etc/sgml/ Ficheros de configuración para SGML (Opcional)
/etc/xml/ Ficheros de configuración para XML (Opcional)
/home/ Directorios de inicios de los usuarios (Opcional)
/lib/ Bibliotecas compartidas esenciales para los binarios de /bin/, /sbin/ y
el núcleo del sistema.
/mnt/ Sistemas de ficheros montados temporalmente.
/media/ Puntos de montaje para dispositivos de medios como unidades lectoras
de discos compactos.
/opt/ Paquetes de aplicaciones estáticas.
/proc/ Sistema de ficheros virtual que documenta sucesos y estados del
núcleo. Contiene principalmente ficheros de texto.
/root/ Directorio de inicio del usuario root (super-usuario) (Opcional)
/sbin/ Comandos/programas binarios de administración de sistema.
/tmp/ Ficheros temporales
/srv/ Datos específicos de sitio servidos por el sistema.
/usr/ Jerarquía secundaria para datos compartidos de solo lectura (Unix system
resources). Este directorio puede ser compartido por
múltiples ordenadores y no debe contener datos específicos del
ordenador que los comparte.
/usr/bin/ Comandos/programas binarios.
/usr/include/ Ficheros de inclusión estándar (cabeceras de cabecera utilizados
para desarrollo).
/usr/lib/ Bibliotecas compartidas.
/usr/share/ Datos compartidos independientes de la arquitectura del
sistema. Imágenes, ficheros de texto, etc.
/usr/src/ Códigos fuente (Opcional)
/usr/X11R6/ Sistema X Window, versión 11, lanzamiento 6 (Opcional)
/usr/local/ Jerarquía terciaria para datos compartidos de solo lectura
específicos del ordenador que los comparte.
/var/ Ficheros variables, como son logs, bases de datos, directorio raíz
de servidores HTTP y FTP, colas de correo, ficheros temporales, etc.
/var/cache/ Cache da datos de aplicaciones.
/var/crash/ Depósito de información referente a caidas del sistema (Opcional)
/var/games/ Datos variables de aplicaciones para juegos (Opcional)
/var/lib/ Información de estado variable. Algunos servidores como MySQL y
PostgreSQL almacenan sus bases de datos en directorios subordinados de éste.
/var/lock/ Ficheros de bloqueo.
/var/log/ Ficheros y directorios de registro del sistemas (logs).
/var/mail/ Buzones de correo de usuarios (Opcional)
/var/opt/ Datos variables de /opt/.
/var/spool/ Colas de datos de aplicaciones.
/var/tmp/ Ficheros temporales preservados entre reinicios
SOLARIS: Es el nombre con el que se conoce el sistema operativo de Sun Microsystems. Originalmente se llamó SunOS, pero posteriormente, debido a la presentación de UNIX Sistema V se desarrolló una nueva versión a la que se le llamó Solaris. Existen versiones de Solaris para Power PC, Intel y Sparc.
AIX: La versión del sistema operativo UNIX para las máquinas IBM se llama AIX y está basada en Sistema V versión 3 y BSD 4.3.
A/UX: Implementación de UNIX de Apple
IRIX: Versión de UNIX desarrollada por Silicon Graphics para sus estaciones basada en UNIX Sistema V versión 4.
SCO UNIX: Es la versión de Santa Cruz Operation (SCO), versión de UNIX Sistema V diseñada para plataformas Intel.
GNU/LINUX: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. En 1991, cuando Linus Torvalds empezó a proponer el kernel 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 conocemos como GNU/Linux o simplemente Linux.
AIX: La versión del sistema operativo UNIX para las máquinas IBM se llama AIX y está basada en Sistema V versión 3 y BSD 4.3.
A/UX: Implementación de UNIX de Apple
IRIX: Versión de UNIX desarrollada por Silicon Graphics para sus estaciones basada en UNIX Sistema V versión 4.
SCO UNIX: Es la versión de Santa Cruz Operation (SCO), versión de UNIX Sistema V diseñada para plataformas Intel.
GNU/LINUX: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. En 1991, cuando Linus Torvalds empezó a proponer el kernel 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 conocemos como GNU/Linux o simplemente Linux.
Comparación con el sistema operativo Windows
· Núcleo monolítico Vs. Micronucleo: en Windows se utiliza una aproximación al Micronucleo (tipo de núcleo descentralizado pero de menor rendimiento) mientras que en Unix se utiliza el Núcleo Monolítico (tipo de núcleo da gran rendimiento pero de gran complejidad para añadir nuevas funcionalidades).
· Ficheros Vs. Objetos: Unix es un sistema operativo orientado a ficheros (todo es una serie de ficheros organizados de manera jerárquica) y Windows es un sistema operativo orientado a objetos (todo es un objeto, algo más complicado que un archivo).
· Súper-aplicaciones Vs. Micro-aplicaciones: En Unix se tienden a tener un montón de pequeñas aplicaciones que hacen una sola cosa pero muy bien, mientras que en Windows se tiende a concentrar todo en una aplicación pero con una no muy buena funcionalidad.
Conclusión
El sistema operativo Unix es un importante producto utilizado ampliamente en el mundo de los negocios, en el académico y en el gubernamental a nivel mundial, debido a que el código fuente de Unix ha estado disponible, muchos programadores han tenido la oportunidad de moldear este sistema operativo para que se pueda adaptar a sus necesidades.
Es un sistema operativo con núcleo monolítico concentra todas las funcionalidades posibles dentro de un gran programa. Todos sus componentes se encuentran integrados en un único programa que se ejecuta en un único espacio de direcciones. En este tipo de sistemas, todas las funciones que ofrece el sistema operativo se ejecutan en modo supervisor.
El micro núcleo es un tipo de núcleo de un sistema operativo que provee de llamadas al sistema mínimas, para implementar servicios básicos como espacios de direcciones, comunicación entre procesos y planificación básica. Todos los otros servicios, que en general son provistos por el núcleo, se ejecutan como procesos servidores en espacio de usuario.
Es importante diferenciar el termino de Software de sistema (sistema operativo) del termino de Software de aplicación, ya que el primero se refiere a un programa que se encarga de las funciones básicas del computador, mientras que el segundo se encarga de tareas más relacionadas con ayudar a los usuarios a la realización de diversas tareas de la vida diaria, por ejemplo, las aplicaciones ofimáticas.
Sugerencias
Debemos estar conscientes de que el manejo y comercialización de sistemas operativos es un industria millonaria y que por lo tanto siempre habrán influencias monopolistas que intentarán controlar la visión del usuario para inclinarnos a usar sus sistemas operativos, nuestra meta es conocer qué sistema operativo se adapta mejor a nuestras necesidades e implementarlo.
Como hemos notado la curva de aprendizaje de Unix es mucho más larga, quizás es cierto que los sistemas operativos ganan terreno con la facilidad que le ofrecen al usuario para manejarlos, pero debajo de esta facilidad existen ciertas limitaciones que nos hacen que dejemos de sentirnos como los verdaderos administradores de nuestro sistema, para aquellos que desean ser realmente libres dentro de sus sistema operativo les invitamos a que prueben sistemas operativos UNIX.
Referencias
Infografía
The Creation of the UNIX* Operating System. (en inglés)
THE UNIX ORAL HISTORY PROJECT. Edited and Transcribed by Michael S. Mahoney. Princeton University. Princeton, New Jersey. (en inglés)
It still remains a phenomenon The Creation of the UNIX* Operating System. (en inglés)
Before Multics there was chaos, and afterwards, tooThe Creation of the UNIX* Operating System. (en inglés)
The famous PDP-7 comes to the rescue The Creation of the UNIX* Operating System. (en inglés)
Examen
1. Ofrece un superconjunto de las características del shell del sistema v, incluyendo historia de órdenes, edición de línea de orden y características ampliadas de programación:
A) shell job B) shell c B) shell korn D) ninguna
2. Sistema operativo desarrollado en el instituto tecnológico de massachusetts (mit) a principio de 1969:
A) unix B) mac C) linux
3. Es el nucleo central de los sistemas operativos unix?
A) shell B) kernel C) unix file system
4. Se le considera mas idoneo para programadores.
A) tc shell B) korn shell C) c shell
5. Es un programa que actua como interfaz de usuario?
A) shell B) usbin C) src
6. Mencione algunas 4 características básicas del sistema operativo Unix
7. ¿Unix es un sistema operativo?
A)multiusuario y multitarea B)jerárquico de archivo C)memoria virtual D- a y b son correctas.
8. Unix esta escrito en un leguaje:
A) fortran B) “C” C) cobol D) a y b son correctas.
9.es el fichero que contiene los comando/programas binarios esenciales (cp, mv, ls, rm, etc.)
A) /bin/ B) /home/ C) /opt/
10. Ficheros de configuración utilizados en todo el sistema y que son específicos del ordenador.
A)/etc/ B)/mnt/ C)/opt/
ver video
No hay comentarios:
Publicar un comentario