Anda di halaman 1dari 51

Sistemas operativos en ambientes distribuidos

Unidad 1
TEMA: Caractersticas de los Sistemas
Distribuidos

Ing. Efrain Padilla Valera

Contenido
Historia y Definicin de sistemas
distribuidos (SD)
Ventajas y desventajas de los SD

Aplicaciones

Caractersticas Claves de SD
Cuestiones Bsicas de Diseo.

Instituto Tecnolgico de Tepic

Bibliografa
Distributed Systems: Concepts and Design
G. Coulouris, J. Dollimore, T. Kindberg
Addison-Wesley, 2001

Distributed Operating Systems


A. S. Tanenbaum
Prentice-Hall, 1995

Distributed Operating Systems: Concepts & Practice


D. L. Galli
Prentice-Hall, 2000
Distributed Operating Systems & Algorithms
R. Chow, T. Johnson
Addison-Wesley, 1997

Traducciones al Espaol
Sistemas Distribuidos: Conceptos y Diseo
G. Coulouris, J. Dollimore, T. Kindberg
Addison-Wesley, 2001

Sistemas Operativos Distribuidos


A. S. Tanenbaum
Prentice-Hall, 1996

Instituto Tecnolgico de Tepic

Historia de los Sistemas


Distribuidos
Porqu su Desarrollo?
Todo
llevo a
Decada
1970
Decada
1990

Microelectrnica

Decada
1980

Disminucin de costos
Comercio Electronico
Informacin Distribuida (WWW)

Ingenera del Software

Redes de Comunicacin
De Alta Velocidad
Contenido
Instituto Tecnolgico de Tepic

Definicin de Sistemas Distribuidos


(SD)
"Sistema en el cual mltiples procesadores autnomos, posiblemente de
diferente tipo, estn interconectados por una subred de comunicacin para
interactuar de una manera cooperativa en el logro de un objetivo global.
[Lelann 1981].

"Sistema en el cual componentes de hardware y software, localizadas en


computadores en red, se comunican y coordinan sus acciones slo por
paso de mensajes" [Coulouris 2002].

"Conjunto de computadores independientes que se muestran al usuario


comoun sistema nico coherente" [Tanenbaum 2001] .

Instituto Tecnolgico de Tepic

Definicion de Sistemas Distribuidos

Sntomas de un SD
(Schroeder, 92)

Propiedades bsicas:

Adems, ...
Fallas independientes

Mltiples procesadores
(con memoria local)

Comunicacin no fiable

Interconexin (red de
comunicacin)

Comunicacin insegura
Comunicacin costosa

Estado compartido (para


coordinacin global)
Contenido

Instituto Tecnolgico de Tepic

Ventajas de los SD
1

Economa:

Alto
rendimiento:

Soporte de
aplicaciones
inherentement
e distribuidas.

Capacidad de
crecimiento:

Buena relacin
rendimiento /costo
Avances en la
tecnologa de
microprocesadores y
redes de rea
local

Procesamiento
paralelo.

Escalabilidad.

Por ejemplo:
empresa distribuida
geogrficamente

Instituto Tecnolgico de Tepic

Ventajas de los SD
5

Fiabilidad y
disponibilidad:

Carcter
abierto y
heterogneo:

Compartir
recursos y
datos.

Tolerancia a fallos

Estndares de
interoperabilidad.

Instituto Tecnolgico de Tepic

Desventajas de los SD
1

Necesidad de un
nuevo tipo de
software:

Red de
interconexin

Seguridad y
confidencialidad

Ms complejo.
No hay todava un acuerdo
sobre cmo debe ser.

Prdida de mensajes y
saturacin.
Latencia puede provocar
que al recibir un dato ya est
obsoleto.
La red es un elemento
crtico.

problemas:

Contenido
Instituto Tecnolgico de Tepic

Aplicaciones de Sistemas
Distribuidos
Aplicaciones
Entornos empresariales: redes corporativas e intranets:
Sustituye a los clsicos mainframes.
Entornos de computacin de alto rendimiento:
Procesamiento paralelo, alternativa a costosos supercomputadores.
Servicios con alta disponibilidad y rendimiento.
Sistemas distribuidos de gestin de bases de datos
Aplicaciones multimedia.
Sistemas industriales distribuidos y aplicaciones de control.
Internet: un enorme sistema distribuido.

Instituto Tecnolgico de Tepic

Fig. 1.1 Una porcin tpica de


Internet
intranet
ISP

backbone

satellite link
desktop computer:
server:
network link:

Computadores conectados interactan mediante paso de mensajes, empleando un medio


comn de comunicacin. El diseo y la construccin de los mecanismos de comunicacin de
Internet (protocolos Internet) es una tcnica fundamental, permitiendo un proceso en ejecucin
dirija mensajes a procesos en cualquier parte.
Instituto Tecnolgico de Tepic

Figura 1.2 Una Intranet tpica


email server

Desktop
c omputers

print and other servers


Local area
network

Web server

email server
File server

print
other servers

the rest of
the Internet
router/firewall

Instituto Tecnolgico de Tepic

Figura 1.3 Dispositivos porttiles y


de mano en un sistema distribuido

Internet

Host intranet

WAP
gateway

Wireless LAN

Printer
Camera

Mobile
phone
Laptop

Home intranet

Host site

Instituto Tecnolgico de Tepic

Nuevos Paradigmas de Sistemas


Distribuidos
Paradigmas
Cluster Computing:
Dedicados a tareas especficas:
Alto rendimiento.
Alta disponibilidad.
Sistema homogneo (a menudo dedicado):
Nodos PCs.
LAN (de propsito general o especficas).
Problemtica: Grado de acoplamiento, servicios distribuidos.
Grid Computing:
Aprovechamiento de recursos creando un uniprocesador virtual.
Restringido a una serie de tareas.
Diferentes mbitos:
Desde intradepartamentales.
Hasta intercorporativos.
Problemtica: Coordinacin, seguridad, carcter dinmico.
Contenido
Instituto Tecnolgico de Tepic

Objetivos o Caractersticas de un Sistema Distribuido

Transparencia
Fiabilidad o Tratamiento de fallos
Rendimiento
Elasticidad.
Seguridad.
Comparticin de recursos.

Sistema
Distribuido

Apertura o flexibilidad
Soporte a la concurrencia

Instituto Tecnolgico de Tepic

Transparencia y Tipos de
Transparencia

Transparencia = ocultacin de la separacin


- a los usuarios
- y a los programadores de aplicaciones
Provee la visin del sistema:
- como un todo
- y no como una coleccin de componentes independientes
Es buena tanta transparencia? no siempre deseable: impresoras

- A veces el usuario precisa conocer cmo es el sistema subyacente

1y2

3y4

5y6

7y8

Acceso:

Migracin:

Replicacin:

Crecimiento:

Manera de acceder a
recurso local igual que a
remoto.

Recursos
pueden
migrar sin afectar a los
usuarios.

El crecimiento del
sistema no afecta a
los usuarios.

Posicin:

Concurrencia:

La
existencia
de
rplicas no afecta a los
usuarios.

Se
accede
a
los
recursos sin conocer su
localizacin.

Acceso concurrente no
afecta a los usuarios.

Fallos:
La ocurrencia de fallos
no
afecta
a
los
usuarios.

Heterogeneidad:
Carcter Heterogneo
no
afecta
a
los
usuarios.

Instituto Tecnolgico de Tepic

Fiabilidad o Tratamiento de fallos

En los sistemas distribuidos los fallos son parciales (algunos componentes fallan mientras otros
siguen funcionando.

Tcnicas para tratar fallos.


Deteccin de fallos: (sumas de comprobacin checksums para detectar datos corruptos
en un mensaje o en un archivo).
Recuperacin frente a fallos: Implica que el diseo de software en el que tras una caida
del servidor, el estado de los datos pueda reponerse o retractarse rollback a una situacin
anterior.
Redundancia: Puede lograrse que los servcios toleren fallos mediante el empleo
redundante de componentes.

Tolerancia Fallos: La mayora de los servicios en Internet exhiben fallos (sus: clientes
pueden disearse para tolerar ciertos fallos, lo que implica que los usuarios tendrn que
tolerarlos generalmente.

Ejemplo:
Siempre deber de haber al menos 2 rutas diferentes entre cualesquiera de 2 routers en
Internet
En DNS, cada tabla de nombres se encuentra replicada en 2 servidores diferentes
Una BD puede encontrarse replicada en varios servidores para asegurar que los datos siguen
siendo accesibles tras el fallos de cualquier servidor concreto.

Ejemplo:
Navegador WEB no puede contactar con un servidor WEB

Enmascaramiento de fallos: (Fallos detectados pueden ocultarse o atenuarse)

Ejemplo:
1.- Los mensajes pueden retransmitirse cuando falla la recepcin
2.- Los archivos con datos pueden escribirse en una pareja de discos
Instituto Tecnolgico de Tepic

Rendimiento
Rendimiento para un servicio multiusuario:
Objetivo: Rendimiento no peor que un sistema
centralizado.

Rendimiento para la ejecucin paralela de


aplicaciones:
Objetivo: Rendimiento proporcional a
procesadores empleados.

Factores:
Uso de esquemas de caching.
Intentar que muchos accesos se hagan localmente.

Uso de esquemas de replicacin.


Reparto de carga entre componentes replicados.

En ambos casos: Costo de mantener la coherencia.


Instituto Tecnolgico de Tepic

Elasticidad o Capacidad de
Crecimiento o Escalabilidad
Cambios de escala = aumento del nmero
de usuarios y/o de recursos
Sistema elstico: conserva su eficacia y su
eficiencia ante cambios de escala
sin necesidad de cambios en el software de las
aplicaciones o del sistema
sin prdida significativa del rendimiento
con un costo controlado de los recursos fsicos
si hay muchos usuarios, se pueden aadir servidores
si un recurso es muy accedido, se puede replicar

sin cuellos de botella en las prestaciones


sin limitar el nmero de recursos software
Instituto Tecnolgico de Tepic

Elasticidad o Capacidad de
Crecimiento
Ej: Acceso a recursos en Internet

Tcnicas para afrontar el reto:


Servidores cooperativos
Replicacin de los datos. Reparto de estructuras de datos entre varios
nodos
Conservacin de los datos cerca de donde se usan (cache). Realizacin
de parte del procesamiento en los nodos cliente.
Instituto Tecnolgico de Tepic

Seguridad
La seguridad de los recursos de informacin tiene 3 componentes:
Confidencialidad (Proteccin contra el descubrimiento por individuos no autorizados)
Integridad (Proteccin contra alteracin o corrupcin)
Disponibilidad (Proteccin contra interferencia con los procedimientos de acceso a los recursos)

Tipologa de los ataques:


Privacidad y confidencialidad (enviar informacin sensible en un mensaje, por la red, de forma

segura es decir ocultar los contenidos de los mensajes).


Autenticacin (spoofing) (Conocer con certeza la identidad del usuario u otro agente en nombre
se enva el mensaje).
Ataque Denegacin de servicio. (Se da cuando un usuario desea obstaculizar un servicio por
alguna razn. Esto se obtiene al bombardear el servicio con un numero suficiente de peticiones intiles de
modo que los usuarios serios sean incapaces de utilizarlo).
Seguridad del cdigo mvil. (El cdigo mvil necesita ser tratado con cuidado. Suponga que
alguien recibe un programa ejecutable adherido a un correo electrnico: los posibles efectos son
impredecibles).

Modelos y herramientas de seguridad:

Cifrado: clave pblica (RSA) y privada (DES).


Protocolos de seguridad: IPsec, SSL.
Certificados y firmas digitales: X.509.
Elementos de seguridad: Firewalls.

Entornos de seguridad: p. ej. Kerberos.

Instituto Tecnolgico de Tepic

Comparticin de Recursos
Recurso: entidad til que se puede compartir
hardware: discos, impresoras
software: archivos, bases de datos

Beneficios del esquema comn de acceso:


Ahorro de costos al compartir dispositivos
hardware.
La comparticin de datos es una exigencia
esencial:
herramientas de desarrollo: copia nica
bases de datos comunes: vista coherente
trabajo cooperativo (groupware)
Instituto Tecnolgico de Tepic

Comparticin de Recursos
La comparticin no es inmediata. Exige:
comunicacin entre computadoras
un programa que gestione el recurso

Los gestores de cada tipo de recursos


tienen:
distintas polticas y mtodos
exigencias comunes: nombramiento,
acceso, etc.

Modelo bsico:
Modelo Cliente-Servidor
Puede estar basado en Objetos
Instituto Tecnolgico de Tepic

Apertura o Flexibilidad
Posibilidad de extensin del hardware y/o software
(facilidad para incorporar cambios y extensiones al sistema)

adems: posibilidad de hardware y software heterogneo

En S.D.: en qu medida se pueden aadir servicios:


sin necesidad de paradas
con diferentes orgenes
Mtodo: las interfaces clave son pblicas

Uso preferible de arquitectura microkernel


UNIX es ms abierto que sistemas previos:

las llamadas al sistema dan acceso a los recursos


se pueden extender fcilmente
es independiente del hardware
Problema: todo implementado en el ncleo (ncleo
monoltico)
Instituto Tecnolgico de Tepic

Apertura o Flexibilidad
Si queremos:
acceder a ms recursos que los soportados por
el ncleo local
dar acceso a los recursos locales a clientes
remotos

Necesitamos Sistemas Distribuidos Abiertos,


extensibles en:
hardware, aadiendo mquinas a la red
software, aadiendo nuevos servicios fuera del ncleo

Solucin: provisin de un mecanismo de


comunicacin uniforme
ej: comunicacin entre procesos basada en
sockets
Instituto Tecnolgico de Tepic

Concurrencia

En SD aumentan las ocasiones, debido a:

separacin de los usuarios

la separacin de los procesos servidores

independencia de los recursos

Dentro de cada computadora:

posibilidad de ejecucin concurrente

Posibilidad de conflictos (inconsistencia)


Necesidad de sincronizacin de los accesos

Para que un objeto sea seguro en un entorno concurrente, sus


operaciones deben sincronizarse de forma que sus datos permanezcan
consistentes. Esto puede lograrse mediante el empleo de tcnicas
conocidas como los semaforos.

Contenido
Instituto Tecnolgico de Tepic

Cuestiones bsicas de diseo


de los Sistemas Distribuidos

Nombramiento:
Comunicacin:

Estructura del software:


Arquitecturas:

Mantenimiento de consistencia

Instituto Tecnolgico de Tepic

Nombramiento
Necesidad de referencias a los recursos
nombres: usados por usuarios y programas
legibles por humanos

identificadores: usados slo por programas


representacin interna compacta

Resolver: traducir un nombre para poder invocar


operaciones sobre el recurso al que se refiere
Servicios de Nombres: realizan la resolucin
Credencial:
identificador que garantiza que su poseedor tiene derecho a
ejecutar una operacin

Nombres puros:
no interpretables, ni contienen informacin acerca de la
ubicacin del recurso
transparencia de migracin
Instituto Tecnolgico de Tepic

Comunicacin
La comunicacin entre dos procesos causa:
transferencia de datos de un entorno al otro
adems, puede causar sincronizacin de sus actividades

Forma bsica del paso de mensajes:


primitivas send y receive:
sncronas (o bloqueantes):
el emisor espera hasta que el receptor haya recibido

asncronas (o no-bloqueantes):
uso de buffers o de colas de mensajes

Instituto Tecnolgico de Tepic

Comunicacin cliente-servidor
Implica dos mensajes
Sincronizacin: el cliente se bloquea hasta
recibir la respuesta
Se suele presentar al nivel de lenguaje como:
invocacin remota (IMR o LPR)
en trminos de un protocolo solicitud-respuesta

Enlace (binding) dinmico: servidor de nombres


los servidores se registran al arrancar
los clientes interrogan al servidor de nombres

Instituto Tecnolgico de Tepic

Estructura del Software en un


sistema centralizado
Niveles de un sistema centralizado:
diseo monoltico

Aplicaciones
Soporte a Lenguajes
de Programacin
Sistema Operativo
Hardware

En los sistemas centralizados, el ncleo del S.O.


Gestiona los recursos bsicos

asigna y protege la memoria


crea los procesos y los planifica
maneja los dispositivos perifricos
da servicio a usuarios y aplicaciones

Da servicio a usuarios y aplicaciones


autentifica a los usuarios y controla el acceso
administra los archivos
administra el tiempo
Instituto Tecnolgico de Tepic

Estructura del Software en un


sistema distribuido
En SD, se deben poder aadir nuevos servicios
El ncleo slo gestiona los recursos bsicos:
+IPC (la comunicacin entre procesos)
El ncleo:
trata con abstracciones universales:
procesos,

Nuevo componente software: servicios abiertos


gestionan el resto de recursos compartidos
implementados como procesos fuera del ncleo
Instituto Tecnolgico de Tepic

Estructura del Software en un


sistema distribuido
Apertura = posibilidad de configurar a medida
los administradores aaden servicios
los usuarios seleccionan lo que necesitan
se puede aadir hardware/software heterogneo
sobre la marcha
sistemas no atados a un fabricante

Categoras
Distribuido

del

software

de

un

Sistema

corresponden a diferentes niveles de abstraccin


proveen diferentes grados de transparencia

Instituto Tecnolgico de Tepic

Estructura del Software en un


sistema distribuido

Plataforma
- Plataforma. El nivel de hardware y las capas mas bajas de software se denominan plataforma
para sistemas distribuidos y aplicaciones. Estas capas mas bajas proporcionan servicios a las
capas que estn por encima de ellas y que son implementadas independientemente en cada
computador, proporcionando una interfaz de programacin del sistema a un nivel que facilita la
comunicacin y coordinacin entre procesos.
Ejemplo: Windows para Intel X86, Sun OS para Sun SPARC, Solaris para Intel X86, Mac
OS para power PC, Linux para Intel X86 .

Logica de Mediacin o Middleware: Se representa mediante procesos u objetos en un


conjunto de computadoras que interactan entre si para implementar mecanismos de
comunicacin y de recursos compartidos para aplicaciones distribuidas. Mejora el nivel de las
actividades de comunicacin de los programas de aplicacin soportando abstracciones como:
procedimiento de invocacin remota RPC, comunicacin entre un grupo de procesos multicast,
notificacin de eventos, replicacin de datos compartidos.
Instituto Tecnolgico de Tepic

Middleware
Middleware:
Capa de software que ejecuta sobre el sistema operativo local ofreciendo unos servicios distribuidos
estandarizados.
Sistema abierto independiente del fabricante.
No depende del hardware y sistema operativo subyacente.
Ejemplos:
DCE (Open Group).
CORBA (OMG).
...

Middleware
SO

SO

SO

Hardware

Hardware

Hardware

Instituto Tecnolgico de Tepic

Modelos y Arquitectura
de Sistema Sistemas Distribuidos
Arquitecturas de Hardware:
Modelo punto a punto

Modelo de Cliente-Servidor

Instituto Tecnolgico de Tepic

Modelo Arquitectnico:
Definicin
Un modelo arquitectnico de un sistema distribuido simplifica
y abstrae, inicialmente, las funciones de los componentes
individuales de dicho sistema y posteriormente considera:
La ubicacin de los componentes en la red de computadoras, buscando
definir patrones utilizables para la distribucin de datos y carga de
trabajo.
Las interrelaciones entre componentes, es decir, sus papeles
funcionales y los patrones de comunicacin entre ellos.

Clasificar los procesos (Servidores, clientes e iguales)


Identifica las responsabilidades de cada uno y ayuda a valorar sus
cargas de trabajo y a determinar el impacto de los fallos de cada uno de
ellos.

Instituto Tecnolgico de Tepic

Modelo Arquitectnico:
Variaciones del modelo C/S
Se pueden construir otros sistemas
variaciones del modelo Cliente/Servidor:

dinmicos

como

La posibilidad de mover cdigo de un proceso a otro permite que un


proceso delegue tareas en otro
Ejemplo: Los clientes pueden descargar cdigo de los servidores y ejecutarlo
localmente. Los objetos y el cdigo al que acceden
puede reubicarse
para reducir los retardos de acceso y minimizar el
trfico de
comunicacin.
Algunos sistemas distribuidos se disean para permitir que los computadores
y otros dispositivos mviles se aadan o eliminen sin incidencias, permitiendo
el descubrimiento de servicios disponibles y el ofrecer sus servicios a otros.

Instituto Tecnolgico de Tepic

Arquitectura de sistemas:
Fig. 2.2 modelo Cliente-Servidor
Client

invocation
result

Client

invocation

Server

result

Server

Key:
Process:

Computer:

El modelo C/S es la arquitectura que se cita mas a menudo cuando


se discuten sistemas distribuidos la fig. 2.2 muestra la sencilla
estructura sobre lo que interaccionan los procesos clientes con los
procesos servidores individuales, en computadoras separados , con
el fin de acceder a los recursos compartidos que ellos gestionan.
Instituto Tecnolgico de Tepic

Elementos de Construccin C/S

Instituto Tecnolgico de Tepic

Middleware Servidor a Servidor

Los servidores a su vez puede ser clientes de otros servidores:


Ejemplo: un servidor web es a veces, un cliente de un servidor archivos
local que gestiona los archivos que estn almacenadas las paginas web.
Instituto Tecnolgico de Tepic

Fig. 2.3 Servicios proporcionados


por mltiples servidores
Service

Server
Client

Server

Client
Server

Los servicios pueden implementarse como distintos procesos de servidor en


computadoras separados interaccionando, cuando es necesario, para
proporcionar un servicio a los procesos clientes. Los servidores pueden
dividirse un conjunto de objetos en los que est basado el servicio y
distribuirselo entre ellos mismos, o pueden mantener copias replicadas de ellos
en varias maquinas
Instituto Tecnolgico de Tepic

Fig. 2.4 Un servidor proxy de


tipo WEB
Web
server

Client
Proxy
server

Client

Web
server

Una cach es un almacn de objetos de datos utilizados recientemente, y que


se encuentra ms prximo que los objetos en s. Al recibir un objeto nuevo en
una computadora se aade al almacn de la cach, reemplazando, si fuera
necesario, algunos objetos existentes. Las caches pueden estar ubicadas en
cada cliente o en un servidor proxy que puede compartirse desde varios
clientes.
Instituto Tecnolgico de Tepic

Fig. 2.5 Una aplicacin Distribuida


basada en procesos de igual a igual
Application

Application

Coordination
code

Coordination
code

Application
Coordination
code

En esta arquitectura todos los procesos desempean tareas semejantes,


interactuando cooperativamente como iguales para realizar una actividad
distribuida o cmputo sin distincin entre clientes y servidores. En este modelo,
el cdigo en los procesos parejos o iguales mantiene la consistencia de los
recursos y sincroniza las acciones a nivel de la aplicacin cuando es
necesario.
Instituto Tecnolgico de Tepic

Fig. 2.6 Applets de tipo WEB


a) client request results in the downloading of applet code

Client
Applet code

Web
server

b) client interacts with the applet

Client

Applet

Web
server

Instituto Tecnolgico de Tepic

Fig. 2.7 Clientes ligeros y


Servidores de Calculo
Compute server

Network computer or PC
Thin
Client

network

Application
Process

Instituto Tecnolgico de Tepic

Mantenimiento de la consistencia
Problema:
concurrencia + separacin

de actualizacin

de replicacin
de cache

Tipos de
Consistencia

de fallo
de reloj
de interfaz de
usuario

Instituto Tecnolgico de Tepic

Mantenimiento de la consistencia
Consistencia de actualizacin:
Al modificar un conjunto de datos relacionados:
no es posible hacerlos todos de forma instantnea
se necesita que para los dems procesos sean atmicos

Especialmente significativo en SD:


hay muchos usuarios accediendo a datos compartidos
afecta a informacin de sistema: directorios, nombres, ...

Consistencia de replicacin:
Inconsistencia entre copias de los mismos datos
Rplicas actualizadas en rdenes distintos
Instituto Tecnolgico de Tepic

Mantenimiento de la consistencia
Consistencia de cache:
cache = conservacin de datos en el cliente
muy dependiente de la localidad de referencia
no afecta al diseo de los servidores

gran ahorro de comunicaciones en la red


adems, datos utilizables por todos los procesos
clientes de una misma mquina

Si mismos datos retenidos en diferentes clientes:


Una actualizacin en uno no se ve en los dems
problema de los datos rancios (stale)
es un caso especial de la consistencia de replicacin
Instituto Tecnolgico de Tepic

Mantenimiento de la consistencia
Consistencia de fallo:
Sistema centralizado: modo de fallo simple
SD: modos de fallo mltiples
si un componente falla, los otros pueden seguir
pero si estaban cooperando: resultado impredecible

Consistencia de reloj:
En SD: uso intensivo de sellos temporales
necesidad de sincronizacin: mediante mensajes
problema: el tiempo de un envo no es predecible
pero nos basta con ordenar eventos: relojes lgicos

Consistencia de interfaz de usuario:


enmascaramiento de las operaciones remotas en
aplicaciones interactivas
Contenido
Instituto Tecnolgico de Tepic

Anda mungkin juga menyukai