Sistema Operativo UNIX
Introducción S.O. UNIX
Unix es un sistema operativo multiusuario y multitarea, es decir, varios usuarios puede usar la máquina al mismo tiempo, y que así mismo tiene la capacidad de ejecutar diversas tareas al tiempo.
Además es un sistema operativo muy portable, es decir, es capaz de adaptarse a diversos hardwares, puede ser utilizado desde computadoras personales hasta supercomputadoras. Unix se basa en un núcleo llamado Kernel (el corazón de todo sistema Unix), que reside permanentemente en la memoria, y que atiende a todas las llamadas del sistema, administra el acceso a los archivos y el inicio o la suspensión de las tareas de los usuarios. La comunicación con el sistema UNIX se da mediante un programa de control llamado SHELL. Este es un lenguaje de control, un intérprete, y un lenguaje de programación.
Historia de UNIX
El origen de UNIX se remonta al desarrollo de un proyecto iniciado en 1968, proyecto realizado por GE y AT&T, los que llevaban a cabo el desarrollo de un sistema operativo que ofreciera nuevos conceptos como la multitarea, la gestión de archivos y una mayor interacción con el usuario, como resultado se obtuvo un sistema operativo al que decidieron llamar MULTICS acrónimo de “Multiplexed Information and Computing Service” (Información multiplexada y Servicio de Computación), pero que no tuvo demasiado éxito debido a su gran demanda recursos como memoria y disco duro.
UNIX nace como la retoma de MULTICS por parte de un grupo de ingenieros y desarrolladores, entre los que destacan Ken Thompson y Dennis Ritchie, UNIX en principio fue bautizado como UNICS “Uniplexed Information and Computing System” pero al tener un sonido muy parecido a MULTICS fue rebautizado a UNIX, como lo conocemos. UNIX estaba inicialmente escrito en lenguaje ensamblador llamado lenguaje B, pero en 1973, Dennis Ritchie llevó a cabo un proyecto para reescribir el código de UNIX en lenguaje C.
UNIX se convirtió así en el primer sistema operativo escrito en lenguaje de alto nivel. Fue posible usar al sistema operativo en otras máquinas sin muchos cambios, solamente efectuando una nueva compilación en la máquina de destino, lo que facilitó la popularidad del nuevo S.O.
Al ser desarrollado en laboratorios de AT&T, este fue el dueño de los derechos, y al no comercializar en su momento con productos de informática AT&T puso UNIX a disposición de las universidades, empresas privadas y del gobierno de los Estados Unidos, a través de licencias.
Versiones de UNIX
Rápidamente UNIX fue llevado a nuevas máquinas, pero gracias a su simplicidad y claridad hizo que muchas empresas lo mejoraran a su modo, lo que originó versiones diferentes de la original. En el periodo de 1977 a 1982 los laboratorios Bell suministraron una versión comercial conocida como UNIX system III.
La siguiente versión fue la UNIX system V, y AT&T comenzó a ofrecer soporte técnico en enero de 1983. Sin embargo, en la universidad de California en Berkeley se había desarrollado una variante de UNIX cuya última versión, 4.3 BSD, contenía muchas mejoras (memoria virtual, gestión de redes, utilidades como vi, csh, etc.). Como consecuencia, muchos fabricantes basaron su versión de UNIX en 4.3BSD en lugar de la versión oficial de AT&T, la system V.
La figura 1 resume las versiones del sistema operativo UNIX desde su aparición en enero de 1970.
Figura 1 Versiones de Unix
Estructura del Sistema Operativo UNIX
El sistema está conformado por un conjunto de capas, desde la capa interior a la exterior:
- Hardware
- Núcleo o Kernel
- Shell o intérprete de comandos
- Programas de Usuario
Figura 2 Estructura del S.O. UNIX
Hardware
El hardware es toda la parte física del sistema, ya sea el terminal o consola, el procesador, los dispositivos periféricos, etc.
Unix se puede ejecutar, en teoría, en casi cualquier máquina, con cualquier configuración de hardware, desde un simple PC de sobremesa hasta una supercomputadora, pasando por microcomputadores, minicomputadores, mainframes (computadoras centrales), etc., ya que el sistema operativo se presume como el más portable.
Kernel
Es el núcleo del S.O. UNIX, es el encargado de interactuar directamente con el hardware de la computadora, en su mayoría esta escrito en lenguaje C, aunque coexiste con código ensamblador.
El Kernel tiene diferentes tareas asignadas, entre ellas:
- Planificar, coordinar y gestionar la ejecución de los procesos. Para ello, hace uso de las prioridades asignadas a cada proceso y utiliza algoritmos específicos para repartir el tiempo entre los diversos procesos que compiten por él.
- Dar servicios del sistema, como entrada/salida y gestión de ficheros.
- Manejar las operaciones dependientes de hardware, es decir, realiza las funciones de más bajo nivel de manera que se oculten al usuario.
Shell
El Shell es la tercera capa del S.O., desde el punto de vista del usuario, actúa como un intérprete de comandos, que lee los comandos que se le introducen y dispone lo necesario para que éstos se ejecuten. Es un programa que siempre está en ejecución.
El Shell lee las órdenes suministradas, las decodifica y lo comunica al núcleo (Kernel) para realizar la acción especificada.
Prácticamente, todas las órdenes son programas ejecutables que el Shell busca en el sistema de ficheros, siguiendo el orden especificado en la variable global PATH.
También el Shell se puede utilizar como lenguaje de programación para crear programas llamados guiones o scripts.
Unix System V R4 provee de cuatro programas shell: El shell Bourne o shell del sistema (sh), el shell job o shell de trabajos (jsh), el shell C (csh), y el shell Korn (ksh).
Sistemas Unix más modernos proveen de versiones más avanzadas del shell, como el shell Tenex C (tcsh), que agrega a csh características provenientes de TENEX/TOPS-20 como completación de comandos, y el shell Bourne Again (bash) de GNU, que agrega al shell estándar características adicionales provenientes de csh y ksh.
Sistema de Archivos
En UNIX los archivos están organizados en lo que se conoce como directorios.
Un directorio no es más que un archivo especial, el cual contiene información que permite localizar en el dispositivo otros archivos. Los directorios pueden contener a su vez nuevos directorios, los cuales se denominan subdirectorios.
A la estructura resultante de esta organización se la conoce con el nombre de estructura en árbol invertido.
Un ejemplo típico de árbol de directorios UNIX se representa en la siguiente figura:
Figura 3 Sistema de archivos en UNIX
UNIX trabaja en un sistema basado en archivos, en que los directorios, los programas, los datos y hasta los controladores son archivos.
Archivos.
Cada archivo tiene asociado un nombre, un contenido, un lugar de ubicación e información de tipo administrativo, tal como dueño y tamaño. El contenido de un archivo puede ser texto, programas fuente, programas ejecutables, imágenes, sonidos y otros. Estructuralmente un archivo es una secuencia de bytes de datos que reside en forma semipermanente en algún medio estable, como ser una cinta magnética o un disco.
Directorios.
Los archivos se agrupan en directorios. Un directorio es un archivo que contiene una lista de nombres de archivo e información acerca de los mismos. Dentro del sistema de archivos, un directorio es una localización capaz de contener otros directorios o archivos. Dos archivos que se encuentren en distinto directorio pueden tener el mismo nombre sin confundirse.
El comando ls permite listar el contenido de un directorio:
ls /var
Requerimientos de Hardware
Procesador: UNIX soporta sistemas con una CPU Intel 80386, 80486, o Pentium. Esto incluye todas las variantes del tipo de CPU, como el 386SX, 486SX, 486DX, y 486DX2.
Memoria RAM: 4 MB de memoria mínimo, se recomienda 16 MB.
Disco Duro: Se soporta controladores IDE, Diskets, CD ROM, la instalación de UNIX se puede realizar en 20 MB, aunque se recomienda disponer de 200MB a 1GB de espacio en disco.
Monitor y Adaptador de Vídeo: Soporta todas las tarjetas de vídeo estándar Hercules, CGA, EGA, VGA, IBM monocromo, y Super VGA así como monitores para el interfaz por defecto basado en texto.
En general, si la combinación que tiene de monitor y tarjeta de vídeo funcionan bajo otro sistema operativo como MS-DOS
Comandos Maquina Virtual
A continuación se puede ver captura de pantalla de una máquina virtual en la que se ejecuta la versión 7 de UNIX, emulador desarrollado por Rober Nordier.
Figura 4 Captura de pantalla máquina virtual UNIX Versión 7
ls: Lista el contenido de un directorio -a Lista todos los ficheros (incluso los ocultos).
-t Ordena por fecha de creación.
-p Marca los directorios.
-r Invierte el orden.
-s Indica el tamaño.
-l Formato largo. Indica protecciones, propietario, grupo, tamaño y fecha de creación de cada fichero.
-F Distingue entre ficheros ordinarios, directorios y ejecutables.
cd: Cambio de directorio
mkdir: Crea un directorio
rmdir: Borra un directorio (debe estar vacío).
passwd: Para cambiar la palabra clave o password.
pwd: Mostrar el directorio actual
date: Muestra la fecha del sistema
cal: Facilita un calendario. Sintaxis: cal mes año
mv: Traslado o cambio de nombre de un fichero.
rm: Borra ficheros. Algunas de las opciones más importantes:
-i Pregunta antes de borrar.
-r Borra un directorio de forma recursiva, borrando primero los ficheros que están en él.
Lista de referencias
Palazzesi, Ariel. La historia de Unix. http://www.neoteo.com/la-historia-de-unix/
MANUAL DE UNIX. Comandos y Administración del Sistema. http://www.clasespersonales.com/manual_de_unix.pdf
Enríquez Palma, Pedro Alberto. UNIX. Obtenido de Curso de Modelado Molecular I: http://www.unirioja.es/cu/enriquez/docencia/Quimica/unix.pdf
Universidad Autonoma de Barcelona. TEMA 5. Obtenido de Introducción al Sistema Operativo UNIX: http://klingon.uab.cat/prat/Linux/so2_t5.pdf
González Barbone, Víctor Alberto. Curso Básico de UNIX. Obtenido de Introducción a UNIX: http://iie.fing.edu.uy/~vagonbar/unixbas/introd.htm
Universidad Tecnológica Nacional Facultad Regional San Nicolás. Apuntes Sistemas Operativos: http://www.frsn.utn.edu.ar/informatica01/Apuntes/sist_ope2.htm
González Miranda, Luis Alejandro. Introducción a Unix: http://www.lgm.cl/trabajos/unix/index.html
Villegas, Paco. Estructura general del sistema operativo UNIX: http://www.picasa.org/moodle/pluginfile.php/325/mod_resource/content/0/entrega1/e1_html/node9.html
González Barbone, Víctor Alberto. Curso Básico de UNIX. Sistema de Archivos: http://iie.fing.edu.uy/~vagonbar/unixbas/sisarch1.htm
Zamarreño, Jesús M.. El Sistema Operativo UNIX: http://www.isa.cie.uva.es/~jesusm/material/UNIX-apuntes.pdf
Barreto Véliz, Bernard Pavel. Sistema Operativo UNIX http://www.monografias.com/trabajos75/sistema-operativo-unix/sistema-operativo-unix2.shtml
Nodier, Robert. Emulador UNIX Versión 7 para equipos x86 http://www.nordier.com/articles/v7x86_vbox.html
Comentarios
Publicar un comentario