martes, 22 de febrero de 2011

SISTEMA OPERATIVO UNIX

El sistema operativo UNIX ha evolucionado durante los últimos veinte años desde su invención como experimento informático hasta llegar a convertirse en uno de los sistemas operativos más populares e influyentes del mundo. UNIX es el sistema más usado en investigación científica, pero su aplicación en otros entornos es bastante considerable. UNIX tiene una larga historia y muchas de sus ideas y metodología se encuentran en sistemas como DOS y Windows.

Las características fundamentales del UNIX moderno son:

a. Multiusuario
b. Multitarea
c. Multiproceso
d. Comunicación de datos
e. Administrador de red nativo
f. Biblioteca de rutinas en C
Los siguientes conceptos son comunes para todos los sistemas UNIX, por lo cual
se puede afirmar que éstos componen las características principales de UNIX.
Kernel : Este es el componente principal del sistema operativo. Se encarga de
asignar tareas y manejar el almacenamiento de datos. El usuario rara vez opera
directamente con el kernel, que es la parte residente en memoria del sistema
operativo.
Shell : Esta es la utilidad que procesa las peticiones de los usuarios. Cuando
alguien teclea un comando en la terminal, el shell interpreta el comando y llama
el programa deseado. También es un lenguaje de programación de alto nivel que
puede utilizarse en la combinación de programas de utilidad para crear
aplicaciones completas.
El shell puede soportar múltiples usuarios, múltiples tareas, y múltiples interfaces
para sí mismo. Los dos shells más populares son el:
ü BourneShell (System V) y el
ü Cshell (BSD Unix), debido a que usuarios diferentes pueden usar diferentes
shells al mismo tiempo, entonces el sistema puede aparecer diferente para
usuarios diferentes.
Existe otro shell conocido como:
ü KornShell (así llamado en honor de su diseñador), que es muy popular entre
los programadores.

La filosofía original de diseño de UNIX fue la de distribuir la funcionalidad en pequeñas partes: los programas. De esta forma, el usuario puede obtener nueva funcionalidad y nuevas características de una manera relativamente sencilla, mediante las diferentes combinaciones de pequeñas partes (programas). Además, en el caso de que aparezcan nuevas utilidades (y de hecho aparecen), pueden ser integradas al espacio de trabajo.

Las versiones modernas del sistema UNIX están organizadas para un uso de red fácil y funcional, por lo que es muy frecuente encontrar versiones del sistema UNIX sobre grandes unidades centrales sosteniendo varios cientos de usuarios al mismo tiempo. Las herramientas de comunicación internas del sistema, la fácil aceptación de rutinas de dispositivo adicionales de bajo nivel y la organización flexible del sistema de archivos son naturales para el entorno de red de hoy en día. El sistema UNIX, con su capacidad de multitarea y su enorme base de software de comunicaciones, hace que la computación por red sea simple, permitiendo también compartir eficientemente dispositivos como impresoras y disco duro.

La versión SVR4 (Sistema V versión 4), es la versión más actualizada del sistema UNIX de AT&T. Ha sido portada a la mayoría de las máquinas computadoras centrales y es el estándar actual para la línea AT&T. SVR4 ha sido significativamente mejorado con respecto a versiones anteriores. Una de estas mejoras es la interfaz gráfica de usuario (GUI), que permite la utilización de X Windows. Los sistemas comerciales UnixWare de SCO y Solaris de Sun Microsystems están basados en el SVR4. La mejora más importante de SVR4 es la adición de soporte completo para redes de área local. La administración de máquinas conectadas en red se ha mejorado en gran medida y la administración remota es ahora posible a través de la red.

Conexión por red

El soporte para redes de área local está muy mejorado en SVR4, en comparación con versiones más antiguas del sistema operativo UNIX. Además del soporte de rutinas de bajo nivel en el núcleo, se dispone de un software simple y amistoso para conectar la dos LAN’s principales disponibles en el mundo UNIX, Ethernet y Starlan.

UNIX es un sistema operativo multiusuario; no sólo puede utilizarlo más de una persona a la vez, sino que los diferentes usuarios recibirán distinto trato. Para poder identificar a las personas, UNIX realiza un proceso denominado ingreso (login). Cada archivo en UNIX tiene asociados un grupo de permisos. Estos permisos le indican al sistema operativo quien puede leer, escribir o ejecutar como programa determinado archivo.

UNIX reconoce tres tipos diferentes de individuos: primero, el propietario del archivo; segundo, el "grupo"; por último, está el "resto" que no son ni propietarios ni pertenecen al grupo, denominados "otros". En general, las máquinas UNIX están conectadas en red, es decir, que los comandos no se ejecutarán físicamente en la computadora en la cual se está tecleando, sino en la computadora a la que uno se ha conectado. A veces hay que conectarse explícitamente, dando un nombre de máquina desde un programa emulador de terminal, es decir, un programa que permite que una computadora actúe como teclado y pantalla de otra computadora remota. Hay muchos modos de comunicarse con otros usuarios que estén conectados al mismo sistema, o incluso que sean usuarios de él. Para hacer lo primero se usa la orden talk, que conecta con un usuario siempre que esté conectado al sistema. No sólo puede conectarse uno con un usuario del mismo sistema, sino de cualquiera conectado al mismo, por ejemplo, en Internet. La forma más habitual de enviar mensajes es el correo electrónico. Este método permite enviar mensajes de texto ASCII, a veces con archivos pegados (attachments); estos archivos tienen que ser previamente convertidos a ASCII, para poder ser enviados por este medio. UNIX tiene una orden, mail, para mandar correo electrónico, pero no es demasiado amistosa para el usuario y por ello se usan otros programas, como el Pine, para enviar o recibir correo.

Conectando con otras computadoras

Dado que UNIX es un sistema operativo de red, muchas de las computadoras con UNIX están conectadas unas a otras y a Internet. Una computadora UNIX ofrece generalmente una serie de servicios a la red, mediante programas que se ejecutan continuamente llamados daemon. Estos daemon escuchan un puerto, o dirección numérica que identifica un servicio y actúan como servidores. Para usar tales servicios se usan programas clientes, que ya saben de qué puerto se trata y cual es el protocolo adecuado para hablar con ese daemon. Por supuesto, para usar estos programas hay que tener primero permiso para usar tal puerto o protocolo, y luego acceso a la máquina remota, es decir, hay que ''autentificarse'', o identificarse como un usuario autorizado de la máquina. Algunos de estos programas son telnet, rlogin, rsh, ftp, etc.

Arquitectura

Sistemas por capas
a. El kernel administra memoria, procesos y la entrada y salida
b. El shell es el intérprete de comandos
c. Hardware: cada vez que se agrega hardware el kernel se recompila y es transparente, el kernel es un preograma. En Unix todos los dispositivos son archivos.

Sistema de Archivos

a. Estructura de árbol
b. Esturctura de Archivos y Directorios
La estructura de archivos del sistema operativo UNIX suele organizarse conforme a una convención.

Tipos de archivos

 Ordinarios: -, secuencia ordinaria de bytes. El kernel no le impone estructura, es una secuencia de bytes.
Directorio: d, es un archivo especial que organiza la jerarquía de la estructura del árbol del sistema de archivos. Los directorios contienen datos y el kernel le impone una estructura a estos datos, una lista de inodo-
El índice de números de inodos dentro de una tabla de inodo donde se guarda información del estado de los archivos Los nombres de archivos son cadenas de texto que se asingnan a un archivo para identificarlo. En un mismo directorio no pueden existir dos archivos con el mismo nombre. La primera entrada de un directorio representa el direcorio es sí mism y está indicada con un “.” y la segunda entrada de cualquier directorio tiene el nombre “..” y representa el directorio padre.
Link Simbólico: l, son archivos especiales que hacen referencia a otros archivos. El dato que almacenan es el path o ruta del archivo dentro del sistema de archivo. El kernel automáticamente accede a el path almacenado cuando se utiliza un enlace simbólico.
Archivo de dispositivo c , son archivos especiales que no contienen datos excepto la información almacenada en el archivo inode. Son utilizados por el sistema para identificar un dispositivo específico que el
kernel utilizará para comunicarse con los dispositivos de hardware. Exsiten dos tipos de archivos de dispositivos :
a. Caracteres: permite la transferencia de entrada y salida de cualquier tamaño. –Terminales, mouse, impresoras.
b. Bloques: utiliza las facilidades de buffering automáticodel buffer cache del kernel, donde la transferencia de entrada y salida son siempre de 1 kb en tamaño. –Discos, disqueteras-
El directorio HOME es el directorio de trabajo o el directorio actual /usr/juan

Permisos de archivos

Los permisos de acceso son las protecciones que se le pueden asignar a un archivo.
Estas protecciones pueden proteger los archivos de cualquier usuario de que sean leídos a escritos por gente no autorizada, incluso se pueden proteger los archivos de que sean alterados por su mismo propietario (por ejemplo para evitar que los borre accidentalmente).
Hay tres tipos de usuarios que pueden acceder a un archivo:
u (user, owner) el dueño del archivo.
g (group) el grupo al que pertenece el dueño del archivo.
· (other) todos los demás.

Programas de utilidad (UTILERIAS)

El Sistema Operativo UNIX incluye una gran variedad de programas de utilidad que pueden ser fácilmente adaptadas para realizar tareas específicas. Estas utilerias son flexibles, adaptables, portables y modulares, y pueden ser usadas junto con filtros y redireccionamientos para hacerlos más poderosos.
Sistema multiusuarios: Dependiendo del equipo disponible, un
UNIX puede soportar desde uno hasta más de 100 usuarios, ejecutando cada uno de ellos un conjunto diferente de programas.
Sistema multitareas: UNIX permite la realización de más de una
tarea a la vez. Pueden ejecutarse varias tareas en su interior, mientras se presta
toda la atención al programa desplegado en la terminal.
Estructura de archivos: La estructura de archivos del UNIX está
pensada para facilitar el registro de una gran cantidad de archivos. Utiliza una
estructura jerárquica o de árbol que permite a cada usuario poseer un directorio
principal con tantos subdirectorios como desee; UNIX también permite a los
usuarios compartir archivos por medio de enlaces (links), que hacen aparecer los archivos en más de un directorio de usuario. Además, UNIX permite proteger los archivos del usuario contra el acceso por parte de otros usuarios.
Entrada y salida independiente del dispositivo: Los
dispositivos ( como una impresora o una terminal) y los archivos en disco son
considerados como archivos por UNIX. Cuando se da una instrucción al UNIX
puede indicársele que envíe el resultado a cualquiera de los diversos dispositivos o archivos. Esta desviación recibe el nombre de redireccionamiento de la salida.
En forma similar, la entrada de un programa puede redireccionarse para que venga de un archivo en disco. En el UNIX, la entrada y la salida son INDEPENDIENTES DEL DISPOSITIVO, pueden redireccionarse hacia o desde cualquier dispositivo apropiado.
Comunicacion entre procesos: UNIX permite el uso de conductos y filtros en la línea de comandos. Un conducto (pipe) redirige la salida de un programa para que se convierta en entrada de otro. Un filtro es un programa elaborado para procesar un flujo de datos de entrada y producir otro de datos de salida. Los conductos y filtros suelen usarse para unir utilerías y realizar alguna tarea específica.

Requerimientos de Hardware

a. PC 386 o superior
b. RAM 8 MB

Resumen de UNIX

1) UNIX es el sistema más usado en investigación científica, pero su aplicación en otros entornos ha tenido gran aceptación.

2) La versión SVR4 (Sistema V versión 4), es la versión más actualizada del sistema UNIX de AT&T.

3) La filosofía original de diseño de UNIX fue la de distribuir la funcionalidad en pequeñas partes: los programas.

4) En general, en las máquinas UNIX, los comandos no se ejecutarán físicamente en la computadora en la cual se está tecleando, sino en aquella a la que uno se ha conectado.

5) Una computadora UNIX ofrece generalmente una serie de servicios a la red, mediante programas que se ejecutan continuamente llamados daemon.

No hay comentarios:

Publicar un comentario