Вы находитесь на странице: 1из 51

Sistemas operativos en ambientes distribuidos

Unidad 1
TEMA: Características de los Sistemas
Distribuidos
Ing. Efrain Padilla Valera
Contenido

Historia y Definición de sistemas


distribuidos (SD)

Ventajas y desventajas de los SD

Aplicaciones

Características Claves de SD

Cuestiones Básicas de Diseño.

Instituto Tecnológico de Tepic


Bibliografía
 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 Español
 Sistemas Distribuidos: Conceptos y Diseño
G. Coulouris, J. Dollimore, T. Kindberg
Addison-Wesley, 2001
 Sistemas Operativos Distribuidos
A. S. Tanenbaum
Prentice-Hall, 1996

Instituto Tecnológico de Tepic


Historia de los Sistemas
Distribuidos
¿Porqué su Desarrollo?
Todo
llevo a
Decada
1970
Disminución de costos
Comercio Electronico
Decada Información Distribuida (WWW)
Microelectrónica 1990

Ingenería del Software


Decada
1980

Redes de Comunicación
De Alta Velocidad

Contenido

Instituto Tecnológico de Tepic


Definición de Sistemas Distribuidos
(SD)

 "Sistema en el cual múltiples procesadores autónomos, posiblemente de


diferente tipo, están interconectados por una subred de comunicación 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 sólo por
paso de mensajes" [Coulouris 2002].

 "Conjunto de computadores independientes que se muestran al usuario


comoun sistema único coherente" [Tanenbaum 2001] .

Instituto Tecnológico de Tepic


Definicion de Sistemas Distribuidos

Síntomas de un SD
(Schroeder, 92)

Propiedades básicas: Además, ...

 Múltiples procesadores Fallas independientes


(con memoria local)
Comunicación no fiable
 Interconexión (red de
comunicación) Comunicación insegura

Estado compartido (para Comunicación costosa


coordinación global)
Contenido
Instituto Tecnológico de Tepic
Ventajas de los SD

1 2 3 4

Economía: Alto Soporte de Capacidad de


Buena relación rendimiento: aplicaciones crecimiento:
rendimiento /costo Procesamiento inherentement
paralelo. e distribuidas. Escalabilidad.
Avances en la
tecnología de
Por ejemplo:
microprocesadores y
empresa distribuida
redes de área
local geográficamente

Instituto Tecnológico de Tepic


Ventajas de los SD

5 6 7

Fiabilidad y Carácter Compartir


disponibilidad: abierto y recursos y
heterogéneo: datos.
Tolerancia a fallos
Estándares de
interoperabilidad.

Instituto Tecnológico de Tepic


Desventajas de los SD
1 2 3

Necesidad de un Red de Seguridad y


nuevo tipo de interconexión confidencialidad
software: problemas: .
Más complejo. Pérdida de mensajes y
No hay todavía un acuerdo saturación.
sobre cómo debe ser. Latencia puede provocar
que al recibir un dato ya esté
obsoleto.
La red es un elemento
crítico.

Contenido

Instituto Tecnológico de Tepic


Aplicaciones de Sistemas
Distribuidos
Aplicaciones

•Entornos empresariales: redes corporativas e intranets:


– Sustituye a los clásicos mainframes.
• Entornos de computación de alto rendimiento:
– Procesamiento paralelo, alternativa a costosos supercomputadores.
• Servicios con alta disponibilidad y rendimiento.
• Sistemas distribuidos de gestión de bases de datos
• Aplicaciones multimedia.
• Sistemas industriales distribuidos y aplicaciones de control.
• Internet: un enorme sistema distribuido.

Instituto Tecnológico de Tepic


Fig. 1.1 Una porción típica de
Internet

intranet %
%
% ISP

backbone

satellite link

desktop computer:
server:
network link:
Computadores conectados interactúan mediante paso de mensajes, empleando un medio
común de comunicación. El diseño y la construcción de los mecanismos de comunicación de
Internet (protocolos Internet) es una técnica fundamental, permitiendo un proceso en ejecución
dirija mensajes a procesos en cualquier parte.
Instituto Tecnológico de Tepic
Figura 1.2 Una Intranet típica

email s erv er Desktop


computers
print and other s erv ers

Loc al area
Web server netw ork

email s erv er
print
File s erv er
other s erv ers
the res t of
the Internet
router/firew all

Instituto Tecnológico de Tepic


Figura 1.3 Dispositivos portátiles y
de mano en un sistema distribuido

Internet

Host intranet WAP


Wireless LAN gatew ay Home intranet

Mobile
phone
Printer Laptop
Camera Host site

Instituto Tecnológico de Tepic


Nuevos Paradigmas de Sistemas
Distribuidos
Paradigmas

•Cluster Computing:
– Dedicados a tareas específicas:
• Alto rendimiento.
• Alta disponibilidad.
– Sistema homogéneo (a menudo dedicado):
• Nodos PCs.
• LAN (de propósito general o específicas).
– Problemática: 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.
– Problemática: Coordinación, seguridad, carácter dinámico.
Contenido

Instituto Tecnológico de Tepic


Objetivos o Características de un
Sistema Distribuido

•Transparencia
• Fiabilidad o Tratamiento de fallos
• Rendimiento

•Elasticidad. Sistema
•Seguridad.
•Compartición de recursos. Distribuido

•Apertura o flexibilidad
•Soporte a la concurrencia

Instituto Tecnológico de Tepic


Transparencia y Tipos de
Transparencia
 Transparencia = ocultación de la separación
 - a los usuarios
 - y a los programadores de aplicaciones
 Provee la visión del sistema:
 - como un todo
 - y no como una colección de componentes independientes
 ¿Es buena tanta transparencia? no siempre deseable: impresoras
 - A veces el usuario precisa conocer cómo es el sistema subyacente

1y2 3y4 5y6 7y8

Acceso: Migración: Replicación: Crecimiento:


Manera de acceder a Recursos pueden La existencia de El crecimiento del
recurso local igual que a migrar sin afectar a los réplicas no afecta a los sistema no afecta a los
remoto. usuarios. usuarios. usuarios.
Posición: Concurrencia: Fallos: Heterogeneidad:
Se accede a los Acceso concurrente no La ocurrencia de fallos Carácter Heterogéneo
recursos sin conocer su afecta a los usuarios. no afecta a los no afecta a los
localización. usuarios. usuarios.

Instituto Tecnológico de Tepic


Fiabilidad o Tratamiento de fallos
 En los sistemas distribuidos los fallos son parciales (algunos componentes fallan mientras otros
siguen funcionando.

 Técnicas para tratar fallos.


 Detección de fallos: (sumas de comprobación “checksums” para detectar datos corruptos
en un mensaje o en un archivo).
 Recuperación frente a fallos: Implica que el diseño de software en el que tras una caida
del servidor, el estado de los datos pueda reponerse o retractarse “rollback” a una situación
anterior.
 Redundancia: Puede lograrse que los servcios toleren fallos mediante el empleo
redundante de componentes.
• 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 variso servidores para asegurar que los datos siguen
siendo accesibles tras el fallos de cualquier servidor concreto.

 Tolerancia Fallos: La mayoría de los servicios en Internet exhiben fallos (sus: clientes
pueden diseñarse para tolerar ciertos fallos, lo que implica que los usuarios tendrán que
tolerarlos generalmente.
• 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 recepción
– 2.- Los archivos con datos pueden escribirse en una pareja de discos

Instituto Tecnológico de Tepic


Rendimiento
Rendimiento para un servicio multiusuario:
 – Objetivo: Rendimiento no peor que un sistema
centralizado.
Rendimiento para la ejecución 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 replicación.
• – Reparto de carga entre componentes replicados.
 En ambos casos: Costo de mantener la coherencia.

Instituto Tecnológico de Tepic


Elasticidad o Capacidad de
Crecimiento o Escalabilidad
Cambios de escala = aumento del número
de usuarios y/o de recursos
Sistema elástico: conserva su eficacia y su
eficiencia ante cambios de escala
• sin necesidad de cambios en el software de las
aplicaciones o del sistema
• sin pérdida significativa del rendimiento
• con un costo controlado de los recursos físicos
– si hay muchos usuarios, se pueden añadir servidores
– si un recurso es muy accedido, se puede replicar
• sin cuellos de botella en las prestaciones
• sin limitar el número de recursos software

Instituto Tecnológico de Tepic


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

 Técnicas para afrontar el reto:


 – Servidores cooperativos
 – Replicación de los datos. Reparto de estructuras de datos entre
varios nodos
 – Conservación de los datos cerca de donde se usan (cache).
Realización de parte del procesamiento en los nodos cliente.

Instituto Tecnológico de Tepic


Seguridad
 La seguridad de los recursos de información tiene 3 componentes:
 Confidencialidad (Protección contra el descubrimiento por individuos no autorizados)
 Integridad (Protección contra alteración o corrupción)
 Disponibilidad (Protección contra interferencia con los procedimientos de acceso a los recursos)

 Tipología de los ataques:


 Privacidad y confidencialidad (enviar información sensible en un mensaje, por la red, de forma
segura es decir ocultar los contenidos de los mensajes).
 Autenticación (spoofing) (Conocer con certeza la identidad del usuario u otro agente en nombre
se envía el mensaje).
 Ataque Denegación de servicio. (Se da cuando un usuario desea obstaculizar un servicio por
alguna razón. Esto se obtiene al bombardear el servicio con un numero suficiente de peticiones inútiles de
modo que los usuarios serios sean incapaces de utilizarlo).
 Seguridad del código móvil. (El código móvil necesita ser tratado con cuidado. Suponga que
alguien recibe un programa ejecutable adherido a un correo electrónico: los posibles efectos son
impredecibles).
 Modelos y herramientas de seguridad:
 – Cifrado: clave pública (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 Tecnológico de Tepic


Compartición de Recursos
Recurso: entidad útil que se puede compartir
 hardware: discos, impresoras
 software: archivos, bases de datos

Beneficios del esquema común de acceso:


 – Ahorro de costos al compartir dispositivos
hardware.
 – La compartición de datos es una exigencia
esencial:
• herramientas de desarrollo: copia única
• bases de datos comunes: vista coherente
• trabajo cooperativo (groupware)

Instituto Tecnológico de Tepic


Compartición de Recursos
La compartición no es inmediata. Exige:
 – comunicación entre computadoras
 – un programa que gestione el recurso
Los gestores de cada tipo de recursos
tienen:
 – distintas políticas y métodos
 – exigencias comunes: nombramiento,
acceso, etc.
Modelo básico:
 – Modelo Cliente-Servidor
 – Puede estar basado en Objetos
Instituto Tecnológico de Tepic
Apertura o Flexibilidad
 Posibilidad de extensión del hardware y/o software
(facilidad para incorporar cambios y extensiones al sistema)
 – además: posibilidad de hardware y software heterogéneo
 En S.D.: en qué medida se pueden añadir servicios:
 – sin necesidad de paradas
 – con diferentes orígenes
 – Método: las interfaces clave son públicas
 Uso preferible de arquitectura microkernel

 UNIX es “más abierto” que sistemas previos:


 – las llamadas al sistema dan acceso a los recursos
 – se pueden extender fácilmente
 – es independiente del hardware
 – Problema: todo implementado en el núcleo (núcleo
monolítico)

Instituto Tecnológico de Tepic


Apertura o Flexibilidad
Si queremos:
 – acceder a más recursos que los soportados por
el núcleo local
 – dar acceso a los recursos locales a clientes
remotos
Necesitamos Sistemas Distribuidos Abiertos,
 – extensibles en:
• hardware, añadiendo máquinas a la red
• software, añadiendo nuevos servicios fuera del núcleo
Solución: provisión de un mecanismo de
comunicación uniforme
– ej: comunicación entre procesos basada en
sockets
Instituto Tecnológico de Tepic
Concurrencia
 En SD aumentan las ocasiones, debido a:
 – separación de los usuarios
 – la separación de los procesos servidores
 – independencia de los recursos

 Dentro de cada computadora:


 posibilidad de ejecución concurrente

 Posibilidad de conflictos (inconsistencia)


 Necesidad de sincronización 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 técnicas
conocidas como los semaforos.

Contenido

Instituto Tecnológico de Tepic


Cuestiones básicas de diseño
de los Sistemas Distribuidos

Nombramiento:

Comunicación:

Estructura del software:

Arquitecturas:

Mantenimiento de consistencia

Instituto Tecnológico de Tepic


Nombramiento
 Necesidad de referencias a los recursos
 nombres: usados por usuarios y programas
• legibles por humanos
 identificadores: usados sólo por programas
• representación interna compacta
 Resolver: traducir un nombre para poder invocar
operaciones sobre el recurso al que se refiere
 Servicios de Nombres: realizan la resolución
 Credencial:
 identificador que garantiza que su poseedor tiene derecho a
ejecutar una operación
 Nombres puros:
 no interpretables, ni contienen información acerca de la
ubicación del recurso
 transparencia de migración

Instituto Tecnológico de Tepic


Comunicación
 La comunicación entre dos procesos causa:
 transferencia de datos de un entorno al otro
 además, puede causar sincronización de sus actividades
 Forma básica del paso de mensajes:
 primitivas send y receive:
• síncronas (o bloqueantes):
– el emisor espera hasta que el receptor haya recibido
• asíncronas (o no-bloqueantes):
– uso de buffers o de colas de mensajes

Instituto Tecnológico de Tepic


Comunicación cliente-servidor
Implica dos mensajes
Sincronización: el cliente se bloquea hasta
recibir la respuesta
Se suele presentar al nivel de lenguaje como:
 invocación remota (IMR o LPR)
 en términos de un protocolo solicitud-respuesta
Enlace (binding) dinámico: servidor de nombres
 los servidores se registran al arrancar
 los clientes interrogan al servidor de nombres

Instituto Tecnológico de Tepic


Estructura del Software en un
sistema centralizado
 Niveles de un sistema centralizado: Aplicaciones
 diseño monolítico
Soporte a Lenguajes
de Programación
Sistema Operativo

Hardware
 En los sistemas centralizados, el núcleo del S.O.
 Gestiona los recursos básicos
• asigna y protege la memoria
• crea los procesos y los planifica
• maneja los dispositivos periféricos
• 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 Tecnológico de Tepic


Estructura del Software en un
sistema distribuido
En SD, se deben poder añadir nuevos servicios

El núcleo sólo gestiona los recursos básicos:


+IPC (la comunicación entre procesos)

El núcleo:
 trata con abstracciones universales:
• procesos, …

Nuevo componente software: servicios abiertos


 gestionan el resto de recursos compartidos
 implementados como procesos fuera del núcleo

Instituto Tecnológico de Tepic


Estructura del Software en un
sistema distribuido
Apertura = posibilidad de configurar a medida
 los administradores añaden servicios
 los usuarios seleccionan lo que necesitan
 se puede añadir hardware/software heterogéneo
sobre la marcha
 sistemas no atados a un fabricante
Categorías del software de un Sistema
Distribuido
 corresponden a diferentes niveles de abstracción
 proveen diferentes grados de transparencia

Instituto Tecnológico 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 están por encima de ellas y que son implementadas independientemente en cada
computador, proporcionando una interfaz de programación del sistema a un nivel que facilita la
comunicación y coordinación 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 Mediación o Middleware: Se representa mediante procesos u objetos en un


conjunto de computadoras que interactúan entre si para implementar mecanismos de
comunicación y de recursos compartidos para aplicaciones distribuidas. Mejora el nivel de las
actividades de comunicación de los programas de aplicación soportando abstracciones como:
procedimiento de invocación remota “RPC”, comunicación entre un grupo de procesos “multicast”,
notificación de eventos, replicación de datos compartidos.
Instituto Tecnológico 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 Tecnológico de Tepic


Modelos y Arquitectura
de Sistema Sistemas Distribuidos

Arquitecturas de Hardware:
Modelo punto a punto Modelo de Cliente-Servidor

Instituto Tecnológico de Tepic


Modelo Arquitectónico:
Definición
 Un modelo arquitectónico de un sistema distribuido simplifica
y abstrae, inicialmente, las funciones de los componentes
individuales de dicho sistema y posteriormente considera:

 La ubicación de los componentes en la red de computadoras, buscando


definir patrones utilizables para la distribución de datos y carga de
trabajo.
 Las interrelaciones entre componentes, es decir, sus papeles
funcionales y los patrones de comunicación 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 Tecnológico de Tepic


Modelo Arquitectónico:
Variaciones del modelo C/S
 Se pueden construir otros sistemas dinámicos como
variaciones del modelo Cliente/Servidor:
 La posibilidad de mover código de un proceso a otro permite que un
proceso delegue tareas en otro
 Ejemplo: Los clientes pueden descargar código de los servidores y
ejecutarlo localmente. Los objetos y el código al que acceden
puede reubicarse para reducir los retardos de acceso y minimizar el
tráfico de comunicación.

 Algunos sistemas distribuidos se diseñan para permitir que los


computadores y otros dispositivos móviles se añadan o eliminen sin
incidencias, permitiendo el descubrimiento de servicios disponibles y el
ofrecer sus servicios a otros.

Instituto Tecnológico de Tepic


Arquitectura de sistemas:
Fig. 2.2 modelo Cliente-Servidor
Client inv oc ation Server
inv oc ation

result result
Server

Client
Key:
Proc es s: 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 Tecnológico de Tepic


Elementos de Construcción C/S

Instituto Tecnológico 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 están almacenadas las paginas web.

Instituto Tecnológico de Tepic


Fig. 2.3 Servicios proporcionados
por múltiples 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 Tecnológico de Tepic
Fig. 2.4 Un servidor proxy de
tipo WEB

Client Web
s erv er
Prox y
s erv er

Client Web
s erv er

Una caché es un almacén de objetos de datos utilizados recientemente, y que


se encuentra más próximo que los objetos en sí. Al recibir un objeto nuevo en
una computadora se añade al almacén 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 Tecnológico de Tepic


Fig. 2.5 Una aplicación Distribuida
basada en procesos de igual a igual

Applic ation Applic ation

Coordination Coordination
c ode c ode

Applic ation

Coordination
c ode

En esta arquitectura todos los procesos desempeñan tareas semejantes,


interactuando cooperativamente como iguales para realizar una actividad
distribuida o cómputo sin distinción entre clientes y servidores. En este modelo,
el código en los procesos parejos o iguales mantiene la consistencia de los
recursos y sincroniza las acciones a nivel de la aplicación cuando es
necesario.
Instituto Tecnológico de Tepic
Fig. 2.6 Applets de tipo WEB
a) client request res ults in the dow nloading of applet c ode

Client Web
Applet code s erv er

b) client interac ts w ith the applet

Web
Client Applet s erv er

Instituto Tecnológico de Tepic


Fig. 2.7 Clientes ligeros y
Servidores de Calculo
Compute server
Network computer or PC

Thin network Application


Client Process

Instituto Tecnológico de Tepic


Mantenimiento de la consistencia

Problema:
concurrencia + separación

de actualización de fallo
Tipos de
de replicación Consistencia de reloj
de interfaz de
de cache
usuario

Instituto Tecnológico de Tepic


Mantenimiento de la consistencia

• Consistencia de actualización:
 Al modificar un conjunto de datos relacionados:
• no es posible hacerlos todos de forma instantánea
• se necesita que para los demás procesos sean atómicos

 Especialmente significativo en SD:


• hay muchos usuarios accediendo a datos compartidos
• afecta a información de sistema: directorios, nombres, ...

Consistencia de replicación:
 Inconsistencia entre copias de los mismos datos
 Réplicas actualizadas en órdenes distintos

Instituto Tecnológico de Tepic


Mantenimiento de la consistencia

Consistencia de cache:
 cache = conservación de datos en el cliente
• muy dependiente de la localidad de referencia
• no afecta al diseño de los servidores

 gran ahorro de comunicaciones en la red


• además, datos utilizables por todos los procesos
clientes de una misma máquina

 Si mismos datos retenidos en diferentes clientes:


• Una actualización en uno no se “ve” en los demás
• problema de los datos “rancios” (stale)
• es un caso especial de la consistencia de replicación

Instituto Tecnológico de Tepic


Mantenimiento de la consistencia
Consistencia de fallo:
 Sistema centralizado: modo de fallo simple
 SD: modos de fallo múltiples
• 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 sincronización: mediante mensajes
• problema: el tiempo de un envío no es predecible
• pero nos basta con ordenar eventos: relojes lógicos
Consistencia de interfaz de usuario:
 enmascaramiento de las operaciones remotas en
aplicaciones interactivas
Contenido

Instituto Tecnológico de Tepic

Вам также может понравиться