sábado, 4 de abril de 2009

Distribuciones de Unix




DISTRIBUCIONES DE UNIX



UNIX es un sistema operativo multitarea y multiusuario, lo cual significa que puede ejecutar varios programas simultáneamente, y que puede gestionar a varios usuarios simultáneamente. Se desarrolló en los laboratorios Bell (por Kernighan & Thompson), y aunque al principio se diseñó para el PDP-11, una máquina de Digital, ahora se ejecuta en gran cantidad de plataformas con muchos tipos de microprocesadores diferentes, haciéndolo un sistema multiplataforma, y provocando por tanto que un programa en código máquina ejecutable en una plataforma en UNIX no tenga por qué ser ejecutable en otra. Sin embargo, todos los UNIX son compatibles a dos niveles.
Comandos del sistema operativo, y grupos de ellos, es decir, scripts. Programas en C en código fuente, siempre que se utilicen las librerías estándar. Una librería es un conjunto de funciones que el usuario puede utilizar, que vienen aparte del compilador.
Esta multiplicidad de plataformas hace que UNIX venga en diferentes sabores, casi uno por cada fabricante y para cada tipo de máquina. Además, hay dos grupos (bueno, quizás 3) de desarrollo diferentes:


*System V: liderado por AT&T, y acompañado por Sun y otra serie de fabricantes, va por la versión 4.
* BSD, el más utilizado en las universidades.
Aparte, hay una serie de intentos de llegar a un UNIX totalmente estándar, pero al haber varios, estos intentos son en vano. En concreto, son los siguientes:
*UNIX International, de AT&T y Sun. Open Software Foundation, que ha hecho ya un sistema operativo, OSF/1, y un IGU (interfaz gráfica de usuario), OSF Motif, liderado por IBM y su peña.

SISTEMAS UNIX DISTRIBUIDOS.



Los sistemas UNIX han desarrollado una posición especial de predominancia en los sistemaas distribuidos, especialmente por que ellos necesitan interconectar equipos de muchos fabricantes que utilizan diferentes arquitectura. Teniendo un sistema operativo común, así como también son comunes los tipos de protocolos de comunicación, facilita la tarea de los sistemas distribuidos desarrollados.
A continuación se discutirán las cuatros mayores contribuciones que han hecho que UNIX incremente su viabilidad como una base para los sistemas distribuidos.

BERKELEY`S SOCKETS.



El sistema Berkeley`s 4.2 BSD introduce Socket para establecer las comunicaciones entre procesos en un sistema distribuido. Los Sockets también establecen comunicaciones entre procesos no relacionados en la misma máquina.
En UNIX 4.3 BSD, el Socket es la unidad fundamental para comunicaciones. Los Sockets son puntos finales de comunicación. Pueden ser vinculados con nombres. Cada socket está asociado con uno o más procesos. UNIX 4.3 BSD soporta tres dominios de comunicación, y los sockets normalmente se comunican con otros sockets en el mismo dominio. Los tipos de dominio de comunicación son:
El dominio de sistema UNIX (para comunicaciones “on- system”).
El dominio Internet (para comunicación usando protocolos estándar DARPA).
DARPA es la agencia de Proyectos de Investigación Avanzados de Defensa del Departamento de Defensa de los EE.UU.
El dominio NS para comunicaciones que usan los protocolos de comunicación estándar XEROX.

AT&T`s STREAMS.

El mecanismo AT&T`s Streams provee un número de características para transmisiones de alta velocidad. Streams facilita la implementación de protocolos de red en capas tales como OSI, SNA, TCP/IP y XNS.

Un Streams es un camino bidireccional entre un proceso en el espacio de usuario y un manejador de dispositivo en el espacio kernel. Los módulos de procesos pueden ser configurados dinámicamente en un stream de manera tal que los programas pueden agregar servicios a los naturalmente previstos por los dispositivos.

Con manejadores de dispositivos, las llamadas al sistema son conmutadas a los manejadores; con streams, las llamadas al sistema crean mensajes para comunicarse con los manejadores. Un stream asocia un par de colas (una para lectura y otra para escritura) con el usuario y otro par con el dispositivo. Las colas son enlazadas para formar un stream entre el manejador de dispositivo y el usuario. Para cada cola hay cuatros rutinas:

Open es llamada cuando el dispositivo es abierto.

Close es llamada cuando el dispositivo está cerrado.

Put coloca datos en la cola.

Service sirve la cola y los datos de salida en un dispositivo o en la siguiente cola.

NETWORK FILE SYSTEM (NFS).

NFS le da a los sistemas de archivos remotos la apariencia de estar montados localmente, haciendo la operación de la red transparente a la ubicación de los archivos.

La computadora de una red es referida como nodos, cada uno con un nombre único. Un nodo puede ser un servidor, un cliente, o ambos.

Un servidor provee servicios a los procesos o usuarios de uno o más clientes. Un nodo distribuye las llamadas al sistema y/o los comandos para conveniencia de un servido o un cliente.

NFS y otros servicios de red de Sun se basan en los estándares Llamado a procedimiento remoto (RPC) y Representación de Datos Externos (XDR) desarrollados Sun Microsystem. RPC permite que los programas que se ejecutan en diferentes sistemas operativos se llamen entre sí y reciban valores de retorno. El RPC del cliente traduce cada llamada a un formulario estándar y lo transmite al servidor. El RPC del servidor acepta el llamado, lo traduce al formato del servidor, e inicia el procedimiento llamado, transfiriendo los parámetros apropiados. XDR es un formato estándar de representar datos transferidos entre diferentes máquinas.

AT&T REMOT FILE SYSTEM (RFS).



El sistema de archivos remotos fue desarrollado por AT&T para facilitar la computación distribuida con el UNIX System V. Es un protocolo independiente; a medida que protocolos de red nuevos comienzan a emerger (tal como OSI), pueden ser fácilmente instalados en sistemas basados en RFS.
Los requerimientos son realizados por el cliente, pasando un mensaje al servidor, este último realiza el requerimiento y devuelve un mensaje en respuesta. RFS usa un modelo de montado remoto; los nodos individuales comparten en la red sólo aquellos archivos y directorios que desean; otros archivos permanecen como privados.
Los diseñadores de RFS optaron por usar servidores de estado completo antes que los accesos a servidores de estado parcial usados en NFS. Una debilidad de los accesos de estados parcial es que limitan las semánticas de las operaciones remotas. AT&T optó por usar acceso a servidores de estado completos debido a que desea que NFS soporte todas las semánticas del sistema UNIX, inclusive las capacidades de estado completo tales como bloqueo de registros y archivos, y varias operaciones de dispositivos periféricos.

miércoles, 1 de abril de 2009

Distruciones de linux

Distribuciones mas importantes de Linux (aunque no las unicas).

REDHAT ENTERPRISE

Esta es una distribucion que tiene muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye. Es necesario el pago de una licencia de soporte. Enfocada a empresas.

FEDORA

Esta es una distribucion patrocinada por RedHat y soportada por la comunidad. Facil de instalar y buena calidad.

DEBIAN

Otra distribucion con muy buena calidad. El proceso de instalacion es quizas un poco mas complicado, pero sin mayores problemas. Gran estabilidad antes que ultimos avances.

OpenSuSE

Otra de las grandes. Facil de instalar. Version libre de la distribucion comercial SuSE.

SuSE LINUX ENTERPRISE

Otra de las grandes. Muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye, Novell. Es necesario el pago de una licencia de soporte. Enfocada a empresas.

SLACKWARE

Esta distribucion es de las primeras que existio. Tuvo un periodo en el cual no se actualizo muy a menudo, pero eso es historia. Es raro encontrar usuarios de los que empezaron en el mundo linux hace tiempo, que no hayan tenido esta distribucion instalada en su ordenador en algun momento.


Esta distribucion es una de las unicas que han incorporado un concepto totalmente nuevo en Linux. Es una sistema inspirado en BSD-ports. Podeis compilar/optimizar vuestro sistema completamente desde cero. No es recomendable adentrarse en esta distribucion sin una buena conexion a internet, un ordenador medianamente potente (si quereis terminar de compilar en un tiempo prudencial) y cierta experiencia en sistemas Unix.

UBUNTU

Distribucion basada en Debian, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. Muy popular y con mucho soporte en la comunidad. El entorno de escritorio por defecto es GNOME.

KUBUNTU
Distribucion basada en Ubuntu, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. La gran diferencia con Ubuntu es que el entorno de escritorio por defecto es KDE.

MANDRIVA
Esta distribucion fue creada en 1998 con el objetivo de acercar el uso de Linux a todos los usuarios, en un principio se llamo Mandrake Linux. Facilidad de uso para todos los usuarios.

TIPOS DE ALMACENAMIENTO

Almacenamiento primario

La memoria primaria está directamente conectada a la CPU de la computadora. Debe estar presente para que la CPU funcione correctamente. El almacenamiento primario consiste en tres tipos de almacenamiento:
Los
registros del procesador son internos de la CPU. Contienen información que las unidades aritmético-lógicas necesitan llevar a la instrucción en ejecución. Técnicamente, son los más rápidos de los almacenamientos de la computadora, siendo transistores de conmutación integrados en el chip de silicio del microprocesador (CPU) que funcionan como "flip-flop" electrónicos.
La
memoria caché es un tipo especial de memoria interna usada en muchas CPU para mejorar su eficiencia o rendimiento. Parte de la información de la memoria principal se duplica en la memoria caché. Comparada con los registros, la caché es ligeramente más lenta pero de mayor capacidad. Sin embargo, es más rápida, aunque de mucha menor capacidad que la memoria principal. También es de uso común la memoria caché multi-nivel - la "caché primaria" que es más pequeña, rápida y cercana al dispositivo de procesamiento; la "caché secundaria" que es más grande y lenta, pero más rápida y mucho más pequeña que la memoria principal.
La
memoria principal contiene los programas en ejecución y los datos con que operan. La Unidad Aritmético-Lógica puede transferir información muy rápidamente entre un registro del microprocesador y localizaciones del almacenamiento principal, también conocidas como "direcciones de memoria". En las computadoras modernas se usan memorias de acceso aleatorio basadas en electrónica del estado sólido, que está directamente conectada a la CPU a través de un "bus de memoria" y de un "bus de datos". Al bus de memoria también se le llama bus de dirección o bus frontal (Front Side Bus) y ambos buses son "superautopistas" digitales de alta velocidad. Los 'métodos de acceso' y la 'velocidad' son dos de las diferencias técnicas fundamentales entre memoria y dispositivos de almacenamiento masivo.

Almacenamiento secundario, terciario y fuera de línea

La memoria secundaria requiere que la computadora use sus canales de entrada/salida para acceder a la información y se utiliza para almacenamiento a largo plazo de información persistente. Sin embargo, la mayoría de los sistemas operativos usan los dispositivos de almacenamiento secundario como área de intercambio para incrementar artificialmente la cantidad aparente de memoria principal en la computadora. La memoria secundaria también se llama "de almacenamiento masivo".
Habitualmente, la memoria secundaria o de almacenamiento masivo tiene mayor capacidad que la memoria primaria, pero es mucho más lenta. En las computadoras modernas, los
discos duros suelen usarse como dispositivos de almacenamiento masivo. El tiempo necesario para acceder a un byte de información dado almacenado en un disco duro es de unas milésimas de segundo (milisegundos). En cambio, el tiempo para acceder al mismo tipo de información en una memoria de acceso aleatorio (RAM) se mide en mil-millonésimas de segundo (nanosegundos).
Esto ilustra cuan significativa es la diferencia entre la velocidad de las memorias de estado sólido y la velocidad de los dispositivos rotantes de almacenamiento magnético u óptico: los discos duros son del orden de un millón de veces más lentos que la memoria (primaria). Los dispositivos rotantes de almacenamiento óptico (unidades de CD y DVD) son incluso más lentos que los discos duros, aunque es probable que su velocidad de acceso mejore con los avances tecnológicos.
Por lo tanto, el uso de la memoria virtual, que es cerca de un millón de veces más lenta que memoria “verdadera”, ralentiza apreciablemente el funcionamiento de cualquier computadora. Muchos sistemas operativos implementan la memoria virtual usando términos como
memoria virtual o "fichero de caché". La principal ventaja histórica de la memoria virtual es el precio; la memoria virtual resultaba mucho más barata que la memoria real. Esa ventaja es menos relevante hoy en día. Aun así, muchos sistemas operativos siguen implementándola, a pesar de provocar un funcionamiento significativamente más lento.
La
memoria terciaria es un sistema en el que un brazo robótico montará (conectará) o desmontará (desconectará) un medio de almacenamiento masivo fuera de línea (ver siguiente punto) según lo solicite el sistema operativo de la computadora. La memoria terciaria se usa en el área del almacenamiento industrial, la computación científica en grandes sistemas informáticos y en redes empresariales. Este tipo de memoria es algo que los usuarios de computadoras personales normales nunca ven de primera mano.
El
almacenamiento fuera de línea es un sistema donde el medio de almacenamiento puede ser extraído fácilmente del dispositivo de almacenamiento. Estos medios de almacenamiento suelen usarse para transporte y archivo de datos. En computadoras modernas son de uso habitual para este propósito los disquetes, discos ópticos y las memorias flash, incluyendo las unidades USB. También hay discos duros USB que se pueden conectar en caliente. Los dispositivos de almacenamiento fuera de línea usados en el pasado son cintas magnéticas en muchos tamaños y formatos diferentes, y las baterías extraíbles de discos Winchester.
Almacenamiento de red
El
almacenamiento de red es cualquier tipo de almacenamiento de computadora que incluye el hecho de acceder a una información a través de una red informática. Discutiblemente, el almacenamiento de red permite centralizar el control de información en una organización y reducir la duplicidad de la información. El almacenamiento en red incluye:
El
almacenamiento asociado a red es una memoria secundaria o terciaria que reside en una computadora a la que otra de éstas puede acceder a través de una red de área local, una red de área extensa, una red privada virtual o, en el caso de almacenamientos de archivos en línea, internet.
Las
redes de computadoras son computadoras que no contienen dispositivos de almacenamiento secundario. En su lugar, los documentos y otros datos son almacenados en un dispositivo de la red.