Basic Unix
Enviado por luis_gs2003 • 12 de Enero de 2012 • 9.837 Palabras (40 Páginas) • 1.020 Visitas
Pequeña reseña del origen del Sistema Operativo UNIX
El UNIX es un sistema operativo multiusuario y multitarea que trabaja en el modo de tiempo compartido (time-sharing). Esto significa que el sistema operativo atiende y ejecuta varios programas simultáneamente de los distintos usuarios que estén trabajando en él, pero realmente solo atiende a uno solo por vez durante una pequeña fracción de tiempo (del orden de los milisegundos). El sistema operativo ejecuta un trozo de un programa, luego lo interrumpe, toma otro programa, continúa su ejecución, y así sucesivamente. De esta manera le da a cada usuario la impresión de que él solo esta utilizando la máquina.
El UNIX fue originalmente desarrollado por los laboratorios Bell de la AT&T. Estos participaron alrededor del año 1969 en un proyecto conjunto con la General Electric en la elaboración de un sistema operativo multiusuario que pudiera aprovechar el hardware disponible y brindar unos servicios suficientemente interactivos a una gran cantidad de usuarios.
Este proyecto se denominó Multics. Más tarde, los laboratorios Bell consideraron que las metas propuestas no estaban en camino de ser alcanzadas y por lo tanto se retiraron del proyecto.
En ese entonces, uno de los investigadores de los Laboratorios Bell, Ken Thompson, quien había participado del proyecto Multics, disponía de una computadora PDP-7 e ideó un sistema operativo multiusuario según sus propias ideas que tuviera un manejo dinámico de la memoria.
Llamo UNIX a este primer esbozo de sistema operativo, el cual fue puesto en marcha en 1970 en la PDP-7 y luego transcripto a una máquina un poco más grande, una PDP-11.
El UNIX estaba en sus orígenes escrito en lenguaje de máquina, es decir, estaba hecho mediante el assembler de la PDP-7.
Cuando se planteó el problema de transportar el UNIX de una máquina a otra se dieron cuenta que era necesario reescribirlo en su totalidad, puesto que al hacerlo en assembler lo hacían fuertemente dependiente del hardware. Entonces vieron la posibilidad de reescribirlo en algún lenguaje de alto nivel, de tal manera que fuera portable de una máquina a otra y que solamente tuviera algunas partes dependientes estrictamente del hardware y configuración de la máquina.
De esta manera, Ken Thompson junto a Dennis Ritchie y Brian Kernighan desarrollaron un nuevo lenguaje de programación al cual denominaron C y escribieron el UNIX en este nuevo nivel, dejando lo mínimo necesario dependiente del hardware. Así se hacía más sencillo su transporte de una máquina a otra, aún entre máquinas con CPUs totalmente distintas.
Inicialmente, el UNIX fue utilizado en los Laboratorios Bell solamente para uso interno en la preparación de documentación relacionada con sus patentes y de programas de aplicación. No se comercializó, y se lo distribuía entre aquellas universidades que lo solicitaban con propósitos educacionales. Recién en 1977 salió a la venta comercialmente cuando ya era popular debido a su uso en las universidades. En este mismo año fue portado por primera vez a una máquina distinta de las PDP, una Interdata 8/32. Los investigadores de varias universidades hicieron sus propias contribuciones al desarrollo del sistema, entre quienes se destaca la Universidad de Berkeley.
Juntando algunas de estas versiones y contribuciones entre 1977 y 1982, AT&T produjo el UNIX System III y en 1983 el actualmente conocido UNIX System V. Además la AT&T licenció a varias empresas los fuentes del sistema operativo escritos en C, con los fines de transportarlos a distintas máquinas. Estos sistemas operativos, derivados del UNIX, tuvieron nombres tales como BSD, XENIX, ONIX, CROMIX, etc.
Además esto produjo la diversificación del hardware que soporta un sistema UNIX o similar, y así actualmente se tienen versiones del UNIX para máquinas con un procesador tan chico como un Z80 hasta la máquina actualmente más grande del mundo, la CRAY-2, donde coexiste con otros sistemas operativos.
El resultado de esto es que además de la popularización y la diversificación, los usuarios pueden tomar ventajas de que los programas escritos en C para una máquina determinada son portables con mucha facilidad a otra máquina, y basta solamente compilarlos en la nueva máquina con el compilador correspondiente para que funcionen en la misma.
Introducción al Sistema Operativo UNIX
Los 3 principales componentes del Sistema Operativo UNIX son:
•
Kernell
•
Shell
•
Jerarquía de Directorios
KERNELL es el parte central del sistema operativo, este administra todos los recursos físicos y lógicos de la computadora incluyendo:
•
File system y su estructura
•
Administra los dispositivos como almacenamiento de datos a los discos duros.
•
Administrador de Procesos o funciones del CPU
•
Administrador de memoria
SHELL es una interfase entre el usuario y el Kernel. El shell es básicamente un intérprete de comandos. El shell acepta los comandos que se introducen, los interpreta y los pasa al kernel para su ejecución.
Los 3 shell´s básicos son:
•
Bourne shell
•
C shell
•
Korn shell
El Bourne Shell es el shell original para el sistema UNIX, es el shell default usado para el usuario root. El prompt para un usuario regular es el signo de dólar ($), para el usuario root es el signo de número (#).
El C shell tiene un numero de características que el Bourne Shell no tiene como un historial de la línea de comandos y el control de trabajo. El prompt del C shell para un usuario normal es el nombre de la maquina seguido de un signo de porcentaje (hostname%), para el usuario root el prompt default es el hostname seguido del signo de números (hostname#).
El Korn Shell es una combinación del Bourne Shell con C shell. El prompt para un usuario normal es el signo de dólar ($), para el usuario root es el signo de números (#).
Existen otra alternativa de Shells como lo son:
•
Bash shell, Bourne Again Shell es compatible con Bourne shell que incorpora las características útiles de un Korn Shell y C shell.
•
Z shell es muy parecido al Korn Shell pero incluye otras características.
•
TC shell, es totalmente compatible con la versión de C shell con características adicionales.
Jerarquía de Directorios
El sistema operativo UNIX está diseñado para manejar información contenida normalmente en discos. Para que esta manipulación sea realmente efectiva, es necesario que la información esté organizada de alguna forma. Sin embargo en UNIX no se utiliza un único directorio para apuntar
...