You are on page 1of 39

Universidad Mariano Gálvez de Guatemala

Ingeniería en Sistemas de la Informática


Sede Chiquimula
Facultad de Ingeniería en Sistemas de la Informática
Sexto Semestre
Plan fin de Semana

Inge. Roberto Emmanuel Arriaga Lemus


Sistemas Operativos I

SISTEMAS OPERATIVOS DISTRIBUIDOS

Ingrid Yamileth López Agustín 1390-16-4699


Nelson Jacobo Brenes Calderón 1390-16-23702
Miriam Paola Espinoza Jiménez 1390-16-4766
Wilmer Eulices Pelicó Amador 1390-16-7123
César Augusto Lemus Villafuerte 1390-16-10269
Irvin Josué Guzmán Villela 1390-16-6214
Márilyn Suceny Duarte Solís 1390-16-19519
Joseph Emmanuel Velásquez Godoy 1390-16-2703
Luis Carlos Lázaro Duarte 1390-16-5332
Darvin Bernardo Guerra Guerra 1390-16-14506
Francisco Antonio Salazar Castillo 1390-16-14615

Chiquimula 27 de octubre de 2018


i

ÍNDICE

INTRODUCCIÓN .................................................................................................... iv

OBJETIVOS ............................................................................................................ v

Objetivos Generales ............................................................................................ v

Objetivos Específicos .......................................................................................... v

SISTEMAS OPERATIVOS DISTRIBUIDOS ........................................................... 1

Conceptos básicos. ............................................................................................. 1

Características: .................................................................................................... 1

Estructura: ........................................................................................................... 1

Arquitectura: ........................................................................................................ 2

Operaciones. ....................................................................................................... 2

Gestión. ............................................................................................................... 3

Organización de directorio ................................................................................... 3

Los nombres jerárquicos .................................................................................. 3

Nombre absoluto: ............................................................................................. 3

Nombre relativo: ............................................................................................... 3

Espacio de nombres. ........................................................................................... 4

Resolución de nombres. ...................................................................................... 6

Localización de ficheros....................................................................................... 6

Opciones de FIND: ........................................................................................... 7

Acceso de datos. ................................................................................................. 8

Semántica de uso concurrente. ........................................................................... 9

Modelo de acceso .............................................................................................. 10


ii

Modelo carga descarga: ................................................................................. 11

Modelo de servicio remoto: ............................................................................ 11

Modelo carga/descarga ..................................................................................... 11

Modelo de servidores con estado. ..................................................................... 12

Modelo de servidores sin estado. ...................................................................... 12

Gestión de cache ............................................................................................... 13

Uso de cache de clientes. .............................................................................. 13

Política de actualización. ................................................................................... 14

Escritura Inmediata (write - through) .............................................................. 14

Escritura Diferida (delayed-write) ................................................................... 15

Coherencia de cache. ........................................................................................ 15

Coherencia de cache semántica........................................................................ 15

Coherencia de cache semántica unix ................................................................ 16

Coherencia de cache semántica UNIX Protocolo 1 ....................................... 16

Coherencia de cache semántica UNIX Protocolo 2 ....................................... 16

Gestión de cerrojos. ........................................................................................... 17

Protocolo montaje. ............................................................................................. 18

Acceso a ficheros. ............................................................................................. 19

Modelo carga/descarga .................................................................................. 19

• Modelo de servicio remoto ........................................................................... 20

Método de acceso .......................................................................................... 20

Necesidad e/s paralela ...................................................................................... 21

Sistema de ficheros para e/s paralela ............................................................ 22

Conexión de dispositivos ................................................................................... 22


iii

Periféricos o dispositivos de e/s: .................................................................... 22

Controladores de dispositivos o unidades de e/s: .......................................... 22

Sistema de ficheros distribuido vr paralelas....................................................... 23

Sistema de ficheros distribuidos: .................................................................... 23

Sistema de ficheros paralelas: ....................................................................... 23

Diferencias ventajas y desventajas entre estos sistemas de ficheros ............... 24

Diferencias: .................................................................................................... 24

Ventajas de SFD ............................................................................................ 24

Desventajas de SFD ...................................................................................... 24

Ventajas de SFP ............................................................................................ 25

Desventajas de los SFP ................................................................................. 25

Técnicas de optimización e/s. ............................................................................ 25

Uso de caché de datos................................................................................... 25

Operaciones no contiguas.............................................................................. 26

Operaciones Colectivas ................................................................................. 26

Server-directed I/O (SDIO) [Disk-directed I/O] ............................................... 27

General parallel file system (gpfs) – con subtitulos............................................ 28

Arquitectura .................................................................................................... 29

Google file system (gfs) – con subtitulos ........................................................... 29

Arquitectura: ................................................................................................... 29

CONCLUSIONES ................................................................................................. 31

RECOMENDACIONES ......................................................................................... 32

E grafía ................................................................................................................. 33
iv

INTRODUCCIÓN

Cada día la tecnología ha ido evolucionando más y más para el beneficio de


nosotros, ya sea para facilitar el trabajo, ayudarnos en tareas complejas o n cantidad
de razones, es ahí donde fueron fundamentales los sistemas operativos distribuidos,
estos consisten en un conjunto de computadoras independientes conectadas a
través de red. Pero ¿A qué se le puede llamar distribución o comunicación
distribuida? esta hace referencia a cualquier evento en el cual se desea manejar un
sistema en una red de computadoras y trata de describir las tendencias hacía la
funcionalidad distribuida; sistemas distribuidos, procesamiento distribuido, bases de
datos distribuidas y cualquier otro termino computacional que sea distribuido. Así
podemos comprender que un sistema operativo distribuido es la unión lógica de un
grupo de sistemas operativos sobre una colección de nodos computacionales
independientes, conectados en red, comunicándose y físicamente separados. La
arquitectura y diseño de un sistema operativo distribuido deben comprender tanto
las metas del nodo individual, como las del sistema de igual forma deben ser
concebidos de forma que se mantengan separados las políticas y los mecanismos.
v

OBJETIVOS

Objetivos Generales

• Comprender el concepto de Sistemas operativos distribuidos, su estructura,


arquitectura, funcionalidad, los usos que se les dan y como han ayudado a
mejorar nuestra vida cotidiana.

Objetivos Específicos

• Comprender el diseño o estructura que tienen los sistemas operativos


distribuidos, su correcta forma.

• Determinar la localización de ficheros, sus dos formas o modelos de acceder


a los datos que poseen.
1

SISTEMAS OPERATIVOS DISTRIBUIDOS

Conceptos básicos.

Un sistema de ficheros distribuido gestiona distintos dispositivos en diferentes nodos


ofreciendo a usuarios la misma visión que un SF centralizado. A demás un sistema
de ficheros distribuido es soportado mediante dos funciones las cuales son el
servicio de nombres y un servicio de ficheros, para el sistema de ficheros distribuido
es fundamental proporcionar un buen rendimiento. A demás proporciona
almacenamiento de información permanente, es posible el acceso concurrente
desde varios procesos.

Características:

Para que tengamos un buen nivel en el diseño de ficheros distribuidos es necesario


seguir las siguientes características:

- Casi todos los ficheros son de un tamaño pequeño esto quiere decir que un
fichero puede ser la unidad de recuperación.
- La mayoría de los ficheros se acceden por un lector y/o un escritor.
- La escritura no es muy frecuente.
- El acceso suele ser secuencial y existe un alto grado de localidad.
- La mayoría son temporales y no duran mucho.
- Existe clases de ficheros.

Estructura:

La estructura de un sistema de ficheros distribuidos consta se compone de la


siguiente manera:
2

- Cliente: Es la interfaz local con la aplicación. Interpreta las llamadas al


sistema sobre ficheros y genera las peticiones (habitualmente RPCs) para
los accesos remotos. A demás conoce la ubicación de los servicios de
nombres y de servicios de ficheros.

- Servicio de fichero: Mantiene el contenido de los ficheros (y directorios) y


los atributos de los ficheros: tiempos de creación, último acceso y última
modificación; longitud; cuenta de referencias. Para identificar los ficheros se
utiliza un identificador UFID.

- Servicio de nombres (directorios): Es el encargado de proporcionar


transparencia en la ubicación.

Arquitectura:
La arquitectura de AFS consta de dos componentes, uno en el servidor y otro en el
cliente:

- Vice: Código de los servidores. Desde el punto de vista del cliente, Vice es
un conjunto de servidores de ficheros interconectados en red.

- Venus: Código cliente que se ejecuta sobre el sistema operativo en los nodos
conectados a Vice.

Operaciones.
Algunas de las operaciones sobre ficheros son crear, abrir, leer, escribir, posicionar,
cerrar, borrar, ejecutar. Otras de las operaciones son apertura del fichero:
Lecturas/escrituras sobre el fichero y establecimiento de cerrojos sobre el fichero.
3

Gestión.
Es un objeto que relaciona de forma univoca el nombre de usuario de un archivo y
el descriptor interno del mismo usado por el S.O. los directorios sirven para
organizar y proporcionar información acerca de la estructuración de los archivos en
los sistemas de archivos.

Organización de directorio
• Eficiencia: localizar un archivo rápidamente.
• Nombrado: conveniente y sencillo para los usuarios.
- Dos usuarios pueden tener el mismo nombre para archivos distintos.
- Los mismos archivos pueden tener nombres distintos
- Nombres de longitud variable

• Agrupación: agrupación lógica de los archivos según sus propiedades (por


ejemplo: programas Pascal, juegos, etc.).
• Estructurado: operaciones claramente definidas y ocultación.
• Sencillez: la entrada de directorio debe ser lo más sencilla posible.

Los nombres jerárquicos


La especificación del nombre de un archivo en un árbol de directorios toma siempre
como referencia el directorio de raíz. Para ello el S.O debe conocer el nombre
completo del archivo a partir del directorio raíz. Existen dos posibles formas de
obtener dicho nombre:

Nombre absoluto:
De un archivo proporciona todo camino a través del árbol de directorios desde la
raíz hasta el archivo.

Nombre relativo:
Estos no pueden interpretar si no se conoce el directorio del árbol a partir del que
empiezan, para ello existe un directorio de trabajo o actual, a partir del cual se
interpretan siempre los nombres relativos.
4

1. Puedes crear un archivo, identificándolo con un nombre y determinar el


espacio de este.

2. Abrir el archivo, aquí se realiza distintas operaciones como su ejecución,


leerlo, escribir en él.

3. Borrarlo de modo que puedes liberar el espacio que ocupa este archivo.

4. Cerrar el archivo, finaliza la ejecución de este.

5. Modificarlo permite hacer cambios al archivo como cambiar su nombre.

El sistema de gestión de archivos debe ocultar a los usuarios todos los aspectos
específicos de dispositivos necesarios para la manipulación de archivos y
proporcionarles una abstracción de un espacio simple y uniforme de archivos con
nombre.

Espacio de nombres.
Se encuentra como servicio de Windows Server, agrupa las carpetas de diferentes
servidores en uno o varios espacios de nombres estructurados lógicamente, esto
permite que cuando se busca un archivo el usuario tenga los datos guardados en
diferentes servidores de una manera ordenada.
5

• El servidor de espacio de nombres puede ser un servidor miembro o un


controlador de dominio.
• Raíz de espacio de nombres: la raíz de espacio de nombres es el punto inicial
del espacio de nombres. Este tipo de espacio de nombres es un espacio de
nombres basado en dominio, ya que comienza con un nombre de dominio (y sus
metadatos se almacenan en los Servicios de dominio de Active Directory (AD
DS).
• Carpeta: cuando los usuarios exploran una carpeta que incluye los destinos de
carpeta en el espacio de nombres, el equipo cliente recibe una referencia que
redirige de forma transparente al equipo cliente a uno de los destinos de carpeta.
• Destinos de carpeta: un destino de carpeta es la ruta de acceso de UNC de una
carpeta compartida u otro espacio de nombres que está asociado a una carpeta
de un espacio de nombres. El destino de carpeta es donde se almacenan los
datos y el contenido.

Un servidor de espacio de nombres es un controlador de dominio o un servidor


miembro que aloja un espacio de nombres. El sistema operativo que se ejecuta en
el servidor de espacio de nombres determina el número de espacios de nombres
que puedes alojar en un servidor. Los servidores que ejecutan los siguientes
sistemas operativos pueden alojar varios espacios de nombres basados en
dominios y un único espacio de nombres independiente.

• Windows Server (canal semianual)


• WindowsServer2016
• Windows Server2012R2
• Windows Server 2012
• Windows Server 2008 R2 Datacenter/Enterprise

Los servidores que ejecutan los siguientes sistemas operativos pueden alojar un
único espacio de nombres independiente:

• Windows Server 2008 R2 Standard


6

Resolución de nombres.
En una red pequeña no resultaría difícil mantener una tabla de resolución de
nombres almacenada en el fichero etc./hosts de cada máquina que asociara a cada
dirección IP el nombre de esa máquina, sin embargo en toda Internet, fácilmente se
comprende que no sería una buena solución, por ello en 1984 se diseñó y adoptó
un sistema nuevo también llamado DNS que consiste básicamente en dividir los
nombres de máquina en zonas o dominios y delegar en unos servidores de nombres
que mantengan toda la información acerca de una zona.

Todos nuestros equipos van a necesitar resolver nombres de máquinas, tanto para
navegar por internet como, tal vez, localmente en nuestra propia red para algunos
servicios que tengamos implementados en las máquinas locales.

En el caso local, el fichero responsable de la resolución de nombres es etc/hosts y


su estructura es simplemente una tabla conteniendo en cada entrada la dirección IP
y el nombre de la máquina. Obviamente no es necesario que es este fichero estén
identificados todos los equipos de nuestra intranet, sino solamente aquellos a los
que debamos dirigirnos con algún propósito.

Localización de ficheros.
Utilizamos el comando find para la localización de un fichero, se buscan
características de un fichero, como el tamaño, nombre, última fecha de modificación.

FIND: Este comando tiene muchas formas de utilización para la búsqueda de algún
fichero, que se basa en algunos criterios de búsqueda, como temporales, cuando
se encuentra muestra el nombre completo, datos internos, o simplemente ejecutarlo
para utilizarlo.
7

Opciones de FIND:

Por criterio:

Por atributos temporales:

También hay otros comandos con los que se pueden hacer búsquedas de ficheros:
8

Acceso de datos.
Una vez que abrimos el fichero se tiene información para acceder al mismo.

El tráfico de la información desde y hacia un fichero involucra al sistema operativo


y a una serie de dispositivos concretos.

- El proceso se inicia con la aplicación de una operación de acceso o


modificación sobre el fichero lógico.
- Esta orden es transmitida al sistema operativo que se encarga de
asegurar su completa finalización.

Procesador de Entrada/Salida:
9

- El procesador de entrada/salida se encarga de controlar el tráfico de


información desde y hacia la memoria primaria.

- Este dispositivo tiene un funcionamiento autónomo, liberando al procesador


de esta costosa tarea.

- Actúa sobre diferentes tipos de dispositivo de almacenamiento, a partir de las


órdenes recibidas desde el sistema operativo.

- Por lo tanto, sólo se encarga de preparar la información para que sea


procesada por los dispositivos de almacenamiento.

Semántica de uso concurrente.


La semántica es un conjunto de criterios que se toman en cuenta al momento que
un archivo es solicitado por varios usuarios y se desea mostrar las actualizaciones
hechas a este archivo.

Semántica de UNIX:

Las modificaciones a un archivo abierto son visibles de inmediato por los demás
usuarios.
10

El archivo tiene una sola imagen que intercala todos los accesos, sea cual sea su
origen.

Semántica de sesión:

- Las modificaciones a un archivo abierto no son visibles de inmediato por


los demás usuarios.
- Las modificaciones que sufre un archivo son visibles solo después de que
se cierra un archivo.

Semántica de archivos compartidos inmutables:

- Su nombre no se puede reutilizar.


- Su contenido no se puede alterar.
- Se comparte con solo lectura.

Es una propiedad que pueden tener los conjuntos de fórmulas. Intuitivamente, un


conjunto de fórmulas es consistente cuando no contiene una
contradicción o ambigüedad. La consistencia puede ser definida tanto en
términos semánticos como en términos sintácticos. En términos semánticos, un
conjunto de fórmulas es consistente si y sólo si tiene un modelo.

Modelo de acceso
El modelo de acceso sirve como plantilla para los usuarios y grupos que cree y
ofrece también un mapa de necesidades de permisos de acceso. Si crea grupos de
bases de datos de Netezza para representar estos roles o conjuntos de permisos,
podrá asignar de forma fácil usuarios a los grupos para que hereden los distintos
permisos, y podrá cambiar todos los usuarios con un rol cambiando únicamente los
permisos de grupo o mover usuarios de un rol a otro cambiando sus grupos y
añadiéndolos a los grupos que controlan esos permisos.
11

El modelo de acceso sirve como plantilla para los usuarios y grupos que cree y
ofrece también un mapa de necesidades de permisos de acceso. Si crea grupos de
bases de datos de Netezza para representar estos roles o conjuntos de permisos,
podrá asignar de forma fácil usuarios a los grupos para que hereden los distintos
permisos, y podrá cambiar todos los usuarios con un rol cambiando únicamente los
permisos de grupo o mover usuarios de un rol a otro cambiando sus grupos y
añadiéndolos a los grupos que controlan esos permisos.

Modelo carga descarga:


- Transferencia completa del fichero
- Localmente se almacena en memoria o discos locales
- Normalmente utiliza semántica de sesión
- Eficiencia en las transferencias
- Llamada a Open con mucha latencia

Modelo de servicio remoto:


- El servidor debe proporcionar todas las operaciones sobre el fichero
- Acceso por bloques
- Modelo Cliente/Servidor

Modelo carga/descarga
Realiza las operaciones de lectura y escritura; la lectura consiste en transferir un
archivo de uno de los servidores de archivos al cliente y la escritura consiste en una
transferencia como la lectura, pero en sentido contrario.

-Lectura: Consiste prácticamente en la transferencia de un archivo completo desde


el servidor hasta el cliente solicitante.

- Escritura: Consiste en mandar del cliente al servidor un archivo.

OPEN (Mensaje de descarga):

Se realiza traducción y servidor envía archivo completo


12

READ/WRITE/SEEK:

No implica mensajes de protocolo (lecturas y escrituras sobre copia local).

CLOSE:

Si se ha modificado, se envía fichero completo al servidor.

Modelo de servidores con estado.


Es un servidor que habilita la zona de memoria para la información, haciendo uso
sobre la sesión almacenada en el servidor.

Cuando se abre un archivo el servidor almacena información y da al cliente un


identificador único a utilizar en las posteriores llamadas. Cuando se cierra un archivo
se libera la información de la sesión.

Ventajas de servidores con estado:

- Mensajes de petición más cortos.


- Mejor rendimiento (se mantiene información en memoria).
- Facilita la lectura adelantada (el servidor puede analizar el patrón de accesos
que realiza cada cliente).
- Es necesario en invalidaciones iniciadas por el servidor.

Modelo de servidores sin estado.


13

Este modelo es capaz de tolerar los fallos ante rearranque del servidor,
posiblemente muestre menos mensajes, no requiere de gastos de recursos en el
servidor por cada cliente.

Ventajas de servidores sin estado:

- Es más tolerante a fallos.


- Se reduce el número de mensajes.
- No es necesario gastar memoria en el servidor para almacenar el estado.

Gestión de cache

Es una herramienta que permite mejorar el rendimiento del software, por ende, los
Caches de niveles múltiples de un SD cuentan con dos divisiones las cuales son en
los servidores que ayudan a reducir los accesos al disco y los clientes que reducen
el tráfico en la red, la carga en los servidores puede situarse en discos locales con
más capacidad pero con más lentitud con un tamaño que va desde 256 kb a 8 Mb
o bien puede situarse en memoria principal con menor capacidad pero más rapidez
el tamaño de esta puede ser de 32 o 64 kb.

La utilización de una cache de datos en sistemas de ficheros distribuidos y paralelos


permite el almacenamiento de datos de un fichero, lo cual se traduce en un mayor
rendimiento al momento de realizar un acceso a la información que ha sido
previamente almacenada en cache.

Uso de cache de clientes.


El Cache de datos en uso de clientes mejora mucho el rendimiento y la capacidad
de crecimiento de datos, aunque en algunos casos introduce problemas de
coherencia que hace referencia a la integridad de datos almacenados de recursos
compartidos. Se encarga de guardar los datos más recientes en disco o memoria
principal con la finalidad de que puedan ser accedidos posteriormente de manera
rápida por las aplicaciones que hacen uso de la información.
14

Al usar la cache de datos los tiempos de lectura y escritura se reducen en un 97%


aproximadamente si los datos se encuentran en la cache. Las cache de metadatos
y datos implementados permiten escritura en la cache sin que el usuario tenga que
intervenir.

Los metadatos se definen como datos que describen de forma global la información,
el contenido y otras características de los datos, es decir, es información sobre
información o datos sobre datos. Puede almacenarse en memoria principal para
tener accesos más rápidos e incrementar así el rendimiento en los sistemas de
ficheros también puede haber cache de metadatos tanto en los clientes como en los
servidores de entrada y salida.

La utilización de una cache de nombres de ficheros puede facilitar la localización de


un fichero por su nombre permitiendo así reducir el envío de mensaje a los
servidores de E/S. En caches colaborativas se comparten datos entre ellas y van
incrementando el rendimiento de las operaciones de entrada y salida accediendo
directamente a la cache de otro cliente en lugar de realizar una petición a los
servidores, se propone con la finalidad de reducir aún más la carga hacia los
servidores y lograr alto rendimiento con la compartición de cache entre clientes.

Política de actualización.
Para que una implementación de cache tenga un alto rendimiento y fiabilidad es
necesario saber cómo y cuándo se deben actualizar los datos y modificarlos a los
dispositivos de almacenamiento. Algunas políticas de Actualización son:

Escritura Inmediata (write - through)


Esta realiza mayor fragmentación en la información transferida por la red, también
consiste en que los datos se envían a disco en cuanto se modifican, aunque las
escrituras sean más lentas este método tiene como ventaja la fiabilidad ya que es
poca información que pueda perderse en caso de que el sistema falle.

Entre algunos fallos que suceden en las funciones de escritura se encuentran:


15

- Con asignación en escritura: Cuando un bloque se carga en Memoria


cache como consecuencia de fallos de lectura y escritura.
- Sin asignación en escritura: Cuando un bloque se carga en Mc como
consecuencia de fallos de lectura, los fallos de escritura no cargan bloque y
se hace siempre con Memoria principal.

Escritura Diferida (delayed-write)


Son escrituras más rápidas que reducen el tráfico en la red, en este método los
datos pueden borrarse antes de ser enviados al servidor, aunque este tenga como
desventaja menor fiabilidad. La probabilidad de que el sistema falle es pequeña, de
esta manera se evita envíos innecesarios de datos a los dispositivos de
almacenamiento constantemente.

Coherencia de cache.
La coherencia del cache significa que cualquier lectura debe retornar el valor de la
escritura más reciente, mientras más estricta sea esta idea, más difícil de
implementar será, la coherencia se logra cuando cualquier escritura debe ser vista
por una lectura y todas las escrituras son vistas en el orden apropiado.

Para el mantenimiento coherente de las cache se utilizan básicamente dos tipos de


protocolos, el protocolo entrometido de sondeo o snoopy y el protocolo con directorio
los cuales tratan qué su mecanismo básico que es el de distribuir la información
permanentemente e implementar una estructura llamada tabla o directorio que
registra cual procesador o nodo ha grabado en su memoria cache cualquier bloque
dado en la memoria principal.

Coherencia de cache semántica.


En la semántica de sesión existen dos validaciones la iniciada por el cliente y la
iniciada por el servidor.
16

La iniciada por él cliente se contacta con el servidor enviando número de versión o


fecha de modificación del fichero almacenado en la cache local, seguidamente el
servidor comprueba si corresponde con la versión actual si no coincide se envía la
nueva copia.

En la validación iniciada por el servidor se basa en que si ya existe una copia en la


cache local este no se contactará con el servidor, se disminuirá el número de
mensajes entre el cliente y servidor mejorando así el rendimiento y escalabilidad.

Coherencia de cache semántica unix


En la semántica UNIX la validación iniciada por el cliente es inaplicable porque hay
que contactar con el servidor en cada acceso para validar la información y la
validación iniciada por el servidor se basa en dos protocolos los cuales se definen
como Protocolo 1 y Protocolo 2.

Coherencia de cache semántica UNIX Protocolo 1


Es un servidor que guarda la información de que clientes tienen abierto un fichero.

Si la petición de este produce un conflicto de acceso se les enviará a los clientes


con el fichero abierto dando una orden de invalidación y desactivación de la cache
para ese fichero (si es un escritor se le pide un volcado previo). Si en dado caso la
petición se encuentra que ya hay un conflicto se le indica al cliente que invalide y
desactive la cache para ese fichero.

Coherencia de cache semántica UNIX Protocolo 2


Para realizar una operación se requiere token correspondiente asociado a un rango
de bytes. El servidor puede generar varios tokens de lectura, pero solo uno de
escritura.

Si existen múltiples tokens de lectura y llega la solicitud de escritura el servidor


reclama los tokens de la siguiente manera:

- El cliente devuelve el token e invalida bloques de cache afectados.


17

- Cuando todos están devueltos el servidor manda el token de escritura.

Gestión de cerrojos.
Un cerrojo proporciona exclusión mutua en el acceso a datos compartidos. El cerrojo
es una variable de dos estados (libre y ocupado) y tiene dos operaciones públicas:

Lock::Acquire Espera a que el cerrojo esté libre y lo


adquiere.

Lock::Release Libera el cerrojo; si había alguien esperando


en Acquire, se lo entrega a alguno de los
procesos que esperan.

Inicialmente, se considera que el cerrojo está libre. Un cerrojo no es más que un


semáforo binario inicializado a cierto.

Para acceder a datos compartidos en exclusión mutua, se usa un cerrojo. Antes de


usar los datos compartidos se llama a Acquire y tras manipular los datos, se libera
el cerrojo con Release

Los SFD ofrecen cerrojos de lectura/escritura, múltiples lectores y un solo escritor.


Las peticiones (lock/unlock) generan mensajes correspondientes:

– lock: si factible retorna OK; sino no responde

– unlock: envía a OK a cliente(s) en espera

Requiere un servicio con estado, también un servidor que almacene qué cliente(s)
tienen un cerrojo de un fichero y cuáles están en espera.

• Problema: cliente con cerrojo puede caerse


18

– Solución habitual: uso de leases

– Cliente con cerrojo debe renovarlo periódicamente

Ejemplo simple: una lista con sincronización:

Lock cerrojo;

InsertaEnCola() {

cerrojo.Acquire();

añade un elemento en la cola;

cerrojo.Release();

ExtraeDeCola() {

cerrojo.Acquire();

if (algo en la cola)

extrae(cosa);

cerrojo.Release();

return cosa;

Protocolo montaje.
Establece una conexión lógica entre el servidor y el cliente, cada máquina incluye
una “lista de exportación”, qué “árboles” exporta y quién puede montarlos.
19

La petición de montaje incluye máquina y directorio remotos, éste se convierte en


RPC al servidor de montaje remoto, si su permiso está en lista, devuelve un
identificador “opaco” (handle).

En UNIX identificador del SF y nodo-i del directorio montado, la operación de


montaje sólo afecta al cliente y no al servidor, se permiten montajes NFS anidados,
pero no se permiten montajes NFS “transitivos”.

• Aspectos proporcionados por algunas implementaciones:

- Montajes hard o soft, automontaje

El montaje de sistemas de archivos se realiza mediante la orden mount del sistema


operativo. Existe una orden que realiza la operación inversa, denominado umount.

También existe un servicio de auto-montaje que ejecuta automáticamente la acción


de montaje cada vez que se inserta un dispositivo extraíble, por ejemplo, CD-ROM.

Con la orden man mount se puede encontrar más información acerca de mount.

Acceso a ficheros.
La forma de usar los ficheros influye en el diseño de los SFD según estadísticas de
uso en entornos UNIX de propósito general:

- Mayoría de los ficheros pequeños (<10K)


- Mayor frecuencia de lecturas

Modelo carga/descarga
- Transferencias completas del fichero
- Localmente se almacena en memoria o discos locales
- Normalmente utiliza semántica de sesión
- Eficiencia en las transferencias
- Llamada open con mucha latencia
20

• Modelo de servicio remoto


- Servidor debe proporcionar todas las operaciones sobre el fichero
- Acceso por bloques
- Modelo cliente/servidor

Método de acceso
- SECUENCIAL: La información es accedida en orden, registro a registro. El
registro depende del tipo de archivo (texto plano sería byte). Las operaciones
de lectura accederán a la información en forma secuencial e incrementando el
puntero de archivo (file pointer). El acceso secuencial es basado en el modelo
de cinta (tape), en donde los archivos son accedidos de a uno a la vez y en
forma secuencial.

–DIRECTO: La información es accedida en cualquier orden. No existen restricciones


sobre el orden de escritura y lectura de un archivo. Es basado en el modelo de disco
de un archivo, que está estructurado en bloques.

Coda

En computación para CODA nos referimos a una estructura de datos del tipo FIFO,
First In First Out (la primera entrada es la primera en salir).

Un ejemplo práctico son las colas que se hacen para obtener un servicio, cómo
pagar en el supermercado o cómo cortar el cabello de la peluquería: lo ideal es que
te atiendan en el mismo orden en que te presentas. Así es exactamente cómo
funciona un CODA FIFO.

Este tipo de estructura de datos se usa ampliamente en informática, por ejemplo, en


la gestión de operaciones que debe realizar un sistema operativo (programador), y
es fundamental en telecomunicaciones, particularmente en redes de paquetes
conmutados, donde describe la gestión de paquetes. en espera de ser transmitido
en una conexión de un servidor a un cliente. Las propiedades matemático-
estadísticas de las colas se estudian en la teoría de colas.
21

Coda utiliza una caché local para proporcionar acceso a los datos del servidor
cuando ocurren desconexiones en la red. Durante el funcionamiento normal, un
usuario lee y escribe al sistema de archivos con normalidad, mientras el cliente
obtiene todos los datos que ha marcado como importantes en el caso de una
desconexión de red. Cuando se pierde la conexión de red, el cliente Coda sirve los
datos desde su caché local y registra cualquier actualización. A este estado se le
llama funcionamiento sin conexión. Al restablecerse la conexión, el cliente Coda
pasa del funcionamiento sin conexión hacia un estado transitorio de "reintegración"
donde las actualizaciones registradas se envían a los servidores. Cuando todas las
actualizaciones se han reintegrado, el cliente vuelve al estado normal de
funcionamiento con conexión.

Otra característica que diferencia a Coda de AFS es su método de replicación de


datos. AFS utiliza con sus ficheros una estrategia de replicado pesimista, sólo
permite a un servidor recibir actualizaciones (lectura/escritura) mientras todos los
demás servidores actúan como réplicas de sólo lectura. Coda permite a todos los
servidores recibir actualizaciones, logrando una mayor disponibilidad de los datos
del servidor en caso de que la red se particione, un caso que AFS no puede manejar.

Necesidad e/s paralela


Ciertas aplicaciones manejan repositorios masivos de datos, requieren un número
enorme de operaciones E/S sobre el dispositivo de almacenamiento, crecimiento
muy significativo de capacidad discos, pero no de sus prestaciones: ancho de banda
y latencia.

La crisis E/S: desequilibrio entre capacidad procesamiento y E/S; afecta a


aplicaciones con fuerte componente de E/S, misma solución que para cómputo: uso
de paralelismo de la entrada/salida paralela. Cuenta con distribución de datos entre
múltiples dispositivos de almacenamiento y acceso paralelo a los mismos, debido a
su alta latencia, mejor cuanto mayor sea tamaño accedido.
22

Sistema de ficheros para e/s paralela


¿Por qué no son adecuados sistemas de ficheros distribuidos? Como, por ejemplo,
NFS o AFS

Ya que almacenan cada fichero en un solo servidor:

- No hay paralelismo en accesos a fichero


- “Cuello de botella”, falta de escalabilidad y punto único de fallo

Demasiadas capas de software en el cliente y en el servidor pueden provocar


separación de funcionalidad poco nítida (incluso redundancia) y tampoco
aprovechan adecuadamente paralelismo de las SAN.

Conexión de dispositivos
En el modelo de un periférico se distinguen dos elementos:

Periféricos o dispositivos de e/s:


Elementos que se conectan a la unidad central de proceso a través de las unidades
de entrada/salida. Son el componente mecánico que se conecta al computador.

Controladores de dispositivos o unidades de e/s:


Se encargan de hacer la transferencia de información entre la memoria principal y
los periféricos.

• Son el componente electrónico a través del cual se conecta el dispositivo


de E/S.
• Tienen una conexión al bus de la computadora y otra para el dispositivo
(generalmente mediante cables internos o externos).

En general, la estructura típica de un dispositivo de entrada/salida está dividida en


tres partes:

• Adaptador de Entrada/Salida del ordenador, o interfaz del bus: Se


encarga de traducir las señales al dialecto empleado por el bus del
23

ordenador. Algunos ejemplos de interfaces de este tipo son los buses PCI,
PCMCIA, USB, PCI-express o SATA entre muchos otros.

• Control del dispositivo, o puerto de lectura/escritura: Ofrece una


interfaz que es empleada por el gestor de dispositivos para gobernar el
dispositivo.

• Adaptador de Entrada/Salida del dispositivo, o interfaz del dispositivo:


Se encarga de traducir las señales al dialecto empleado por el dispositivo.

Cuanto más elaborado sea el puerto de lectura/escritura, mayor rendimiento se


puede llegar a alcanzar, puesto que el gestor de dispositivo será más sencillo (y eso
implica menor número de instrucciones a ejecutar en el gestor de dispositivo).

Sistema de ficheros distribuido vr paralelas


Para realizar una fortuna comparación y lo más objetiva posible se presenta la
necesidad de una pequeña definición de estos sistemas de ficheros para entrar en
materia y así resaltar las posibles diferencias y características distintas entre sí.

Sistema de ficheros distribuidos:


Es aquel sistema cuya funcionalidad es compartir archivos, impresoras y otros
recursos en una red y asi permitir el acceso remoto sin que haya una pérdida en el
rendimiento, el primer sistema de este tipo fue desarrollado en la década de 1970,
en 1985 Sun Microsystems creó el sistema de archivos en red NFS (Network File
Systems).

Sistema de ficheros paralelas:


Al igual que el anterior éste es un sistema de compartir archivos u otros recursos a
través de una red de forma paralela lo que significa que descompone procesos y los
divide en tareas que se ejecutan al mismo tiempo.
24

Diferencias ventajas y desventajas entre estos sistemas de ficheros


Diferencias:
Comparando estos sistemas de ficheros podemos resaltar estas 3 diferencias

SFP (sistema de ficheros paralelos)

SFD (sistema de ficheros distribuidos)

1. El SFP cuenta con memoria compartida a nivel del hardware mientras que el
SFD no.
2. El SFD lleva a cabo la realización de procesos descomponiéndose estos en
tareas que son ejecutadas en diferentes ubicaciones utilizando diferentes
recursos a su contra parte del SFP divide un proceso en tareas que son
ejecutadas al mismo tiempo.
3. El SFD se enfoca en la implementación de software ya sea de forma paralela
a secuencial, en cambio el SFP se enfoca en implementación de hardware
para su desarrollo.

Ventajas de SFD
• Muestra mayor flexibilidad y presentaciones de escalabilidad.
• Mayor confiabilidad ya que una falla en nodo dependiente no tiene que
presentar una falla en todo el sistema como tal.
• El SFD es más barato su implementación.

Desventajas de SFD
• Almacena cada fichero en un solo servidor.
• No hay paralelismo en accesos a ficheros Cuenta con demasiadas capas de
software entre el cliente y el servidor
• No aprovechan adecuadamente el paralelismo de la SAN.
25

Ventajas de SFP
• Mejora el tiempo de ejecución de las Aplicaciones disminuyendo el tiempo de
acceso a los datos.
• Permite además de accesos secuenciales accesos paralelos a los ficheros.
• Es altamente escalable es decir cuando mayor sea el número de servidores
de entrada y salidas mejores son las presentaciones del sistema.

Desventajas de los SFP


• Carga continua de peticiones en paralelo pueden provocar cuellos de botella
en servidores de entrada y salida.
• La falta de memoria de caché de datos la mayoría de los sistemas no lo
implementan por defecto ya que el mantenimiento de coherencia de los datos
en ocasiones resulta costosa y muy problemática debido a que es necesario
mantener los datos consistentes en las caches.
• Es más costosa su implementación.

Técnicas de optimización e/s.


El objetivo principal es el maximizar el tamaño de accesos a dispositivos para la
efectiva optimización se presenta en los siguientes puntos que son fundamentales
para llevar a cabo dicha optimización

• Operaciones de un proceso
• Operaciones independientes de varios procesos
• Operaciones colectivas

Para esto se implementan varias técnicas oportunas de las cuales resaltan las
siguientes

Uso de caché de datos


Cada vez que el sistema quiere acceder a un nuevo dato, éste es almacenado en la
memoria caché. Entonces, cuando se necesita recurrir nuevamente al mismo dato,
el sistema se dirigirá directamente al caché, haciendo así el proceso mucho más
26

rápido. Este ciclo de almacenamiento y rescate de datos obliga a la memoria caché


a estar en continua renovación.

Su función, entonces, es mantener de manera temporal y accesible aquellos datos


que son requeridos por el sistema para realizar determinadas funciones o tareas, lo
cual con un correcto algoritmo de coherencia de cache dará una mejor funcionalidad
al sistema.

Operaciones no contiguas
E/S implica dos zonas de almacenamiento: Buffer de usuario y zona del fichero
afectada, ambas pueden ser no contiguas lo que significa que pueden ser no
adyacentes como se muestra en la siguiente imagen:

En conclusión, se puede decir que si el Sistema de ficheros tiene soporte para esto
contara con mayor rendimiento del sistema.

Operaciones Colectivas
Invocadas simultáneamente por todos los procesos similares a operaciones
colectivas de paso de mensajes (MPI) todos los procesos especifican misma
operación. Lectura/escritura colectiva
27

El Sistema de Ficheros conoce zonas de fichero y buffers de procesos afectados y


así permite optimización y agrupamiento de accesos.

2 estrategias típicas: server-directed I/O vs. two-phase I/O

Server-directed I/O (SDIO) [Disk-directed I/O]


Cada NES recibe petición colectiva y realiza la parte que le afecta datos a buffer
temporal y de ahí se distribuyen a nodos de cómputo en la imagen se muestra
gráficamente el trabajo colectivo que realiza esta estrategia reconociendo zonas
afectadas del mismo tipo.

Two-phase I/O (TPIO)

1ª fase: Cada NC (Nodo Computo) se ocupa de una parte contigua (data sieving )
2ª fase: NC se redistribuyen los datos
28

SDIO más eficiente, pero requiere NES (Nodos de E/S) más inteligentes.

General parallel file system (gpfs) – con subtitulos


General Parallel File System (GPFS) es un sistema de ficheros distribuido de alto
rendimiento desarrollado por IBM. GPFS proporciona un acceso concurrente de alta
velocidad a aplicaciones que se encuentran ejecutando en múltiples nodos de un
cluster dando una visión de un disco compartido entre todos ellos. La configuración
existente de mayor tamaño superaba los 2000 nodos.

Existen versiones de GPFS para sistemas operativos AIX (desde 1998) y Linux
(desde 2001). Se incluye como parte de IBM System Cluster 1350.

Desde el inicio, GPFS ha sido aplicado con éxito en multitud de aplicaciones


comerciales incluyendo: servicios digitales, redes de análisis y servicios de archivos
escalables. En marzo de 2008, es utilizado por muchos de los supercomputadores
que forman el TOP500, entre las que se encuentran las dos más importantes de
España: Magerit y Marenostrum.
29

Arquitectura
EL sistema de ficheros GPFS está compuesto de un conjunto de ordenadores que
forman un cluster GPFS. Algunos de los miembros del cluster proporcionan los
discos físicos accesibles por todos los nodos del sistema. La inclusión y exclusión
de miembros del cluster puede realizarse en funcionamiento.

Cuando un nodo realiza una operación sobre el sistema de ficheros los datos se
distribuyen en tiras ("striping") y son almacenadas en varias de las máquinas que
sirven de discos. De esta forma se obtiene un mayor rendimiento al acceder a los
distintos bloques en paralelo, alta disponibilidad (la información puede almacenarse
en discos de dos o más servidores), recuperación en caso de fallo, seguridad,
DMAPI, gestión jerárquica del almacenamiento HSM y gestión del ciclo de vida de
la información ILM.

La inclusión de un nuevo servidor de discos supone una mejora del rendimiento al


redistribuir la información permitiendo un mayor nivel de paralelismo en el acceso.

Google file system (gfs) – con subtitulos


El Sistema de Archivos Google, en inglés Google File System (GFS, GooFS o
GoogleFS), es un sistema de archivos distribuido propietario desarrollado por
Google Inc, que soporta toda su infraestructura informática de procesamiento de
información en nube. Está especialmente diseñado para proveer eficiencia,
fiabilidad de acceso a datos usando sistemas masivos de cluster de procesamiento
en paralelo. La actual versión de Google File System tiene el nombre clave
Colossus.

Arquitectura:
GooFS es un sistema de archivos que está optimizado por Google para el
almacenamiento de datos básicos y sus necesidades de uso (sobre todo el motor
de búsqueda), y puede generar enormes cantidades de datos que deben ser
mantenidas para optimizar la siguiente respuesta;3 El actual sistema de archivos
surgió como una mejora a su BigFiles, desarrollado por Larry Page y Sergey Brin
30

en los inicios de Google, cuando estudiaban en Stanford.4 Los archivos son


divididos en porciones de tamaño fijo de 64 megabytes,5 similar a los cluster o
sectores de las unidades de disco duro tradicional, donde muy rara vez son
sobrescritos, o reducidos, por lo general los archivos se adicionan o se leen.
También está diseñado y optimizado para funcionar con los clusteres de servidores
de Google, nodos de alta concurrencia formada por computadoras de bajo coste,
donde deben tomarse precauciones contra un alto índice de fallos por sobrecarga
en los nodos individuales y por ende la probable pérdida de algunos datos.

Los archivos se dividen en porciones de tamaño fijo, los Chunkservers almacenan


las porciones, a cada porción se le asigna una etiqueta de indentificación única de
64 bits en el nodo maestro al momento de ser creada, y el nodo Maestro conserva
las asignaciones. A su vez cada porción es replicada en al menos tres servidores
de una nube, pero así también existen archivos que requieren una mayor
redundancia por su enorme demanda.

Los programas acceden a las porciones mediante consultas al nodo Maestro, para
localizar la ubicación de los bloques deseados, si las porciones no se encuentran
activas (por ejemplo, si no poseen accesos pendientes al almacenamiento), el nodo
Maestro responde donde están ubicados, la aplicación contacta y recibe los datos
desde el nodo de alojamiento directamente (es como el funcionamiento de las redes
Kazaa, Skype y otros tipos de supernodos). La principal diferencia entre los demás
sistemas de archivos, es que el GooFS no está implementado en el kernel del
sistema operativo, sino que funciona como una librería (biblioteca) en el espacio de
usuario (userspace).
31

CONCLUSIONES

• Los sistemas operativos distribuidos cada vez son más esenciales en


nuestro entorno nos ayudan a tener información más compacta y eficaz entre
un conjunto de computadoras conectadas en red.

• Las funciones que se le dan a los sistemas operativos distribuidos son


innumerables, ya que nos han facilitado la forma de compartir y controlar una
determinada información.

• La arquitectura o diseño de los sistemas operativos distribuidos es muy


compleja, tiene aspectos que requieren de mucho cuidado al desarrollarse
ya que se debe respetar muchas reglas.
32

RECOMENDACIONES

• Si trabajas con un conjunto de maquina lomas conveniente es que optes por


un sistema operativo distribuido para tener una mejor control de información
entre las maquinas, harás tu trabajo más fácil y productivo, de igual forma
ahorras dinero.

• Antes de apostar por alguna tecnología de sistemas operativos distribuidos


hay que tomar un en cuanta un minucioso estudio ya que estas siempre
están en constante desarrollo y actualizaciones.

• Buscar a un profesional en la rama al momento de querer optar por un


sistema distribuido, ya que estos tienen complejidad en muchos aspectos de
la arquitectura o diseño.
33

E grafía

• http://www.sc.ehu.es/acwlaroa/SDI/Apuntes/Cap4.pdf
• https://es.wikipedia.org/wiki/General_Parallel_File_System
• https://es.wikipedia.org/wiki/Google_File_System
• http://www.lgblog.cl/tecnologia/que-es-el-cache/
• http://www.fdi.ucm.es/profesor/mendias/512/docs/tema13.pdf
• file:///C:/Users/Dell/Downloads/material%20de%20la%20expo%20genial%2
0para%20expositores.pdf
• https://www.tamps.cinvestav.mx/~vjsosa/clases/tssd/05_DistributedFileSyst
ems_short.pdf
• https://www.fdi.ucm.es/profesor/jjruz/WEB2/Temas/EC6.pdf
• http://www.scielo.org.ve/scielo.php?script=sci_arttext&pid=S0254-
07702007000200008
• https://www.google.com/url?q=http://laurel.datsi.fi.upm.es/_media/docencia/
asignaturas/sod/sod-introduccion-4pp.pdf&sa=U&ved=2ahUKEwigk-
PQkJ7eAhVSpFkKHT4pCzEQFjAHegQICBAB&usg=AOvVaw3LwyoT1XHC
51olbG7Y2yeo
• https://www.google.com/url?q=http://lsi.ugr.es/~jlgarrid/so2/pdf/tema5.pdf&s
a=U&ved=2ahUKEwigk-
PQkJ7eAhVSpFkKHT4pCzEQFjAKegQIBBAB&usg=AOvVaw3bnE9hCMDA
6xxhEgVFhUZJ

You might also like