arquitectura de computadoras
(Arquitecturas)
Dr. Víctor J. Sosa Sosa
vjsosa@cinvestav.mx
Sistemas Distribuidos
II-1
Arquitecturas
•
Los SD son los sistemas de software más complejos
– Nortel Networks crea switches los cuales pueden contener entre 25-30
millones de líneas de código, interviniendo 3000 desarrolladores de
software, y con un ciclo de vida de 20 años para actualizar.
–En Motorola, el 20% de sus ingenieros producen hardware, 80%
produce software.
– En este tipo de software hay materia para toda clase de problemas de
ingeniería de software.
•
Investigación de arquitectura de software para tratar los retos de
diseño
– “... Incluye la organización de un sistema como la composición de
componentes; control global de estructuras; los protocolos paracomunicación, sincronización, y acceso a datos; la asignación de
funcionalidad para diseñar elementos; la composición de diseño de
elementos; distribución física; escalamiento y desempeño; dimensiones
de evolución; y selección de alternativas de diseño. Este es el nivel de
diseño arquitectura de software.” [Garlan y Shaw]
•
Algunos paradigmas de arquitecturas pertinentes para SD
– Capas
–Cliente - Servidor
Sistemas Distribuidos
II-2
Capas
•
Idea básica
– Desmembrar la complejidad de sistemas mediante el diseño en capas y
servicios
• Capas: grupo de funcionalidades fuertemente relacionadas y altamente
coherentes
• Servicios: funcionalidades proporcionadas a capas superiores
Capa n+1
Servicio-n
Capa n
Servicio-n
Capa n-1
– Ejemplos de arquitecturas encapas
• Sistemas operativos (kernel, otros servicios), históricamente: los sistemas
operativos.
• Arquitecturas de protocolos de red
II-3
Sistemas Distribuidos
Cliente-Servidor
•
Estructura típica en capas de un SD
Applications, services
Middleware
Operating system
Plataforma
Computer and network hardware
– Plataforma: Hardware y sistema operativo
• Windows NT /Procesador Pentium
• Solaris / Procesador SPARC
– Middleware: logra trasparencia en la heterogeneidad en el nivel de plataforma
• Logra comunicación y compartición de recursos
– Ej. Invocación de métodos remotos
• Ejemplos
–
–
–
–
CORBA (OMG), DCOM (Microsoft)
RM-ODP (ITU-T/ISO)
Invocación de Métodos Remotos Java (SUN)
Servicios Web
• Nota: no todas las funciones relacionadas concomunicación puede ser abstractas.
Sistemas Distribuidos
II-4
Cliente-Servidor
•
Modelo básico
Client
invocation
Server
invocation
result
result
Server
Client
Key:
Process:
Computer:
– Cliente: el proceso requiere acceder datos, utilizar recursos o ejecutar
operaciones en una computadora diferente
– Servidor: Proceso maneja datos y otros recursoscompartidos, permite al cliente
acceder a recursos y ejecutar cómputos
– Interacción: invocación / par de mensajes resultantes
– Ejemplo
• Servidor http: cliente (navegador) página solicitada, servidor entrega página
– Servicios de caching (servidores proxy)
• Caching de páginas Web frecuentemente utilizadas
– Procesos pares (no cliente-servidor: peer-to-peer)
• Procesos que tienen engran parte similitudes de funcionalidad
II-5
Sistemas Distribuidos
Cliente-Servidor
•
Variantes
– Servicios proporcionados por múltiples servidores
Service
Server
Client
Server
Client
Server
– Ejemplos: muchos servicios de comercio Web están implementados en
diferentes servidores
– Motivación
• Desempeño (ej. cnn.com, servidores para descarga, etc.)
• Confiabilidad– Los servidores mantienen bases de datos replicadas o distribuidas
Sistemas Distribuidos
II-6
Cliente-Servidor
•
Variantes
– Servidores proxy: suministrar replicación/distribución trasparente
Web
server
Client
Proxy
server
Web
server
Client
– Caching
• Los servidores proxy mantienen caches, como almacenes de recursos
solicitados recientemente
• Utilizados...
Regístrate para leer el documento completo.