UNIDAD 7. TENDENCIA DE S.D
7.1 Arquitectura de multiprocesadores
El Multiprocesador MADE [1,2], ha sido diseñado con el objetivo de procesar la información que reciba por el bus de datos a una elevada velocidad. Su principio de funcionamiento está basado en una arquitectura de detección de eventos [3]. La metodología de funcionamiento de esta arquitectura consiste en ejecutar ciertos procesos como respuesta a la detección de uno o más eventos. De esta manera no se tiene un sistema sincrónico que dependa de una única señal de sincronismo, sino que cada nodo procesador actúa independientemente en función de los procesos que le correspondan y hayan sido activados. La aparición de un evento determinado libera la ejecución de un nuevo proceso. De esta manera se economiza tiempo y se maximiza la utilización del Multiprocesador.
El MADE en su primera etapa utilizaba la técnica de memoria compartida [3], con dos microcontroladores 8031 como unidades básicas de proceso, una memoria de programa para cada módulo y una memoria de datos compartidos que permitía coherencia entre los dos módulos. En la segunda etapa se integran los nodos de procesamiento en una sola unidad, de modo que se puede lograr una mayor velocidad de trabajo, suprimiendo problemas de velocidad de transmisión entre buses externos. De igual forma, se busca optimizar el manejo de memoria con una técnica de memoria compartida distribuida, reemplazando la memoria centralizada de la versión anterior.7.2 S.D que integren arquitecturas multiprocesadores
La industria informática, ha tenido siempre un objetivo primordial, repetido a lo largo de toda su cadena (fabricantes de semiconductores, fabricantes de sistemas y usuarios): la búsqueda de la velocidad. Para alcanzar este objetivo se han invertido ingentes cantidades de recursos, hasta alcanzarlos límites físicos del silicio.
Obviamente, la velocidad va ligada a las prestaciones, y por lo general, la primera ha sido la principal medida para decidirse por un sistema u otro. Sin embargo, por muy evidente que parezca, y dados los límites físicos de los semiconductores, las prestaciones pueden no estar forzosamente ligadas a la velocidad. Hoy es posible construir sistemas, que aún teniendo procesadores más "lentos" que otros, ofrezcan unas prestaciones significativamente superiores. Son los sistemas multiprocesador, que como su denominación indica, incorporan varios procesadores para llevar a cabo las mismas funciones.No es un concepto nuevo, ya que los "mini computadores" construidos por compañías como NCR, Sequent y Stratus, ya empleaban varios nodos de proceso como alternativas económicas a otros productos de otras compañías. Sin embargo, aquellos sistemas aún duplicaban recursos caros del sistema, como memoria y dispositivos de entrada/salida, y por tanto, confinaban los sistemas multiprocesador al mundo de los sistemas de alto nivel.Ahora, y en gran medida gracias a los procesadores de arquitectura RISC, el soporte multiprocesador es una solución integrada y fácilmente disponible en estaciones de trabajo de sobremesa, que resuelve, a través de hardware VLSI, los complejos problemas de compartición de recursos (memoria compartida) de aquellas primeras máquinas.
Evidentemente, estas mejoras en el hardware, para ser funcionales, requieren importantes desarrollos en el software, y de hecho, muchos sistemas operativos admiten extensiones multiproceso (Match, SCO, Solaris, System V,etc.), que proporcionan paralelismo "en bruto" (asignando múltiples tareas a múltiples procesadores) a nivel del sistema operativo.
Las aplicaciones escritas para facilitar el paralelismo en su ejecución, incrementan significativamente las prestaciones globales del sistema; esto es lo que se denomina multi-enhebrado (multithreading), que implica dividir una sola aplicación entre varios procesadores. Sin embargo, los desarrolladores de software y programadores de aplicaciones sólo han comenzado a explorar las vastas posibilidades de incremento de prestaciones que ofrecen los sistemas con capacidades reales de proceso en paralelo.
El multiproceso no es algo difícil de entender: más procesadores significa más potencia computacional. Un conjunto de tareas puede ser completado más rápidamente si hay varias unidades de proceso ejecutándolas en paralelo. Esa es la teoría, pero otra historia es la práctica, como hacer funcionar el multiproceso, lo que requiere unos profundos conocimientos tanto del hardware como del software. Es necesario conocer ampliamente como están interconectados dichos procesadores, y la forma en que el código que se ejecuta en los mismos ha sido escrito para escribir aplicaciones y software que aproveche al máximo sus prestaciones.
Para lograrlo, es necesario modificar varias facetas del sistema operativo, la organización del código de las propias aplicaciones, así como los lenguajes de programación.Es difícil dar una definición exacta de un sistema multiprocesador, aunque podemos establecer una clasificación de los sistemas de procesadores en:SISD o secuencia única de instrucciones y datos (Single Instruction, Single Data): una sola secuencia de instrucciones opera sobre una sola secuencia de datos (caso típico de los ordenadores personales).
SIMD o secuencia única de instrucciones y múltiple de datos (Single Instruction, Múltiple Data): una sola secuencia de instrucciones opera, simultáneamente, sobre múltiples secuencias de datos (array processors).MISD o múltiples secuencias de instrucciones y única de datos (Múltiple Instruction, Single Data): múltiples secuencias de instrucciones operan, simultáneamente, sobre una sola secuencia de datos (sin implementaciones útiles actualmente).
MIMD o múltiples secuencias de instrucciones y datos (Múltiple Instruction, Múltiple Data): múltiples secuencias de instrucciones operan, simultáneamente, sobre múltiples secuencias de datos.
Los sistemas multiprocesadores pueden ser clasificados con mayor propiedad como sistemas MIMD. Ello implica que son máquinas con múltiples y autónomos nodos de proceso, cada uno de los cuales opera sobre su propio conjunto de datos. Todos los nodos son idénticos en funciones, por lo que cada uno puede operar en cualquier tarea o porción de la misma.
7.3 Aplicación de multimedia en sistemas distribuidos
SISTEMAS MULTIMEDIA
Las investigaciones y desarrollos en el área de la multimedia se puede dividir en dos grandes grupos: el primero centrado en el área de estaciones de trabajo independientes con el software y las herramientas relacionadas, tal como composición musical, enseñanza asistida por computador, video interactivo, etc. El segundo grupo centrado en el intercambio de información multimedia entre esas estaciones de trabajo a través de redes, combinando así los sistemas distribuidos con la multimedia. Todo esto ofrece un gran panorama y un enorme potencial para nuevas aplicaciones basadas en los sistemas multimedia distribuidos, los cuales incluyen sistemas de información multimedia, los sistemas de colaboración y conferencia, los servicios multimedia sobre demanda, televisión de alta resolución y la enseñanza a distancia. Los sistemas distribuidos multimedia requieren transferencia de datos continua sobre periodos de tiempo relativamente altos, sincronización en el manejo de los diferentes tipos de datos (ejemplo: voz y sonido), espacios de almacenamiento extremadamente grandes, manejo de tiempo real y técnicas especiales de indexamiento y recuperación de los datos de tipo multimedia, además de otros problemas que surgen a partir de éstos.
Esa creciente necesidad de incrementar la interconexión de las cada vez más poderosas estaciones de trabajo multimedia da como resultado una evolución de las comunicaciones en búsqueda de las redes (sus características) que soporten la transmisión de este tipo de información multimedia. Este trabajo resume esos requerimientos de manejo de datos multimedia y muestra, de manera general, las características de varias tecnologías de redes de alta velocidad que buscan satisfacer esos requerimientos.
Los distintos avances en la tecnología han permitido el desarrollo de aplicaciones multimedia técnica y económicamente realizables. Estos avances incluyen el poder de las estaciones de trabajo, la alta capacidad de los dispositivos de almacenamiento, las altas velocidades de las redes, los avances en tratamiento de imágenes y vídeo, los avances en el manejo del procesamiento del audio, procesos de reconocimiento de voz, los algoritmos de compresión y el avance mismo del audio y el vídeo.
Entre la diversa variedad de aplicaciones multimedia que se pueden desarrollar potencialmente se distinguen tres tipos de sistemas que hoy por hoy se encuentran en uso: el correo multimedia, los sistemas de trabajo colaborativo y los sistemas de conferencia multimedia.
Los sistemas de correo multimedia son más sofisticados que los sistemas de correo electrónico estándar. Ellos implementan múltiples aplicaciones, como edición multimedia de correo de voz, las cuales requieren altas ratas de transmisión de datos comparada con las ratas utilizadas en sistemas de correo de solo texto.
Los sistemas de trabajo colaborativo permiten que los diversos integrantes de un grupo de trabajo puedan discutir un problema desde sus sitios de computo de manera simultánea. Durante esas reuniones se puede ver, discutir y modificar documentos multimedia.
Los sistemas de conferencia permiten que un cierto número de participantes intercambien información multimedia a través de redes de voz y datos. Cada participante cuenta con su estación de trabajo multimedia sobre redes de ratas de velocidad altas. Cada uno de dichos participantes puede enviar o recibir vídeo, audio, y datos y puede desempeñar ciertas actividades de colaboración. Estas conferencias multimedia manejan el concepto de “espacios de trabajo virtual compartido” el cual describe las partes del despliegue que son replicadas para todas las estaciones. 7.4 Configuración de arquitectura array (redundat of array inexpensive disk)
Duplicado de Información en Línea (RAID) RAID ("Redundant Array of Inexpensive Disks") en términos sencillos es: un conjunto de 2 o más "Discos Duros" que operan como grupo y logran ofrecer una forma más avanzada de respaldo ya que:
Es posible mantener copias en línea ("Redundancy").
* Agiliza las operaciones del Sistema (sobre todo en bases de datos .) * El sistema es capaz de recuperar información sin intervención de un Administrador. * Existen varias configuraciones de Tipo RAID, sin embargo, existen 4 tipos que prevalecen en muchas Arquitecturas:
RAID-0 : En esta configuración cada archivo es dividido ("Striped") y sus fracciones son colocadas en diferentes discos. Este tipo de implementación sólo agiliza el proceso de lectura de archivos, pero en ningún momento proporciona algún tipo de respaldo ("redundancy").
RAID-1 : En orden ascendente, este es el primer tipo de RAID que otorga cierto nivel de respaldo; cada vez que se vaya a guardar un archivo en el sistema éste se copiara integro a DOS discos (en línea), es por esto que RAID-1 también es llamado "Mirroring".Además de proporcionar un respaldo en caliente ("hot") en dado caso de fallar algún disco del grupo , RAID-1 también agiliza la lectura de archivos (si se encuentran ocupadas las cabezas de un disco "I/O") ya que otro archivo puede ser leído del otro disco y no requiere esperar a finalizar el "I/O" del primer disco.RAID-3 : Esta configuración al igual que RAID-0 divide la información de todos los archivos ("Striping") en varios discos, pero ofrece un nivel de respaldo que RAID-0 no ofrece. En RAID-0 si falla un disco del grupo, la Información no puede ser recuperada fácilmente, ya que cada disco del grupo contiene una fracción del archivo, sin embargo RAID-3 opera con un disco llamado "de paridad" ("parity disk").
Este "disco de paridad" guarda fracciones de los archivos necesarias para recuperar toda su Información, con esto, es posible reproducir el archivo que se perdió a partir de esta información de paridad.RAID-5 : El problema que presenta RAID-3 es que el "disco de paridad" es un punto crítico en el sistema; que ocurre si falla el disco de paridad ? Para resolver este problema RAID-5, no solo distribuye todos los archivos en un grupo de discos ("Striping"), sino también la información de paridad es guardada en todos los discos del sistema ("Striping"). Este configuración RAID suele ser usada en sistemas que requieren un "alto nivel" de disponibilidad, inclusive con el uso de "Hot-Swappable Drives" es posible substituir y recuperar la Información de un disco dañado, con mínima intervención del Administrador y sin la necesidad de configurar o dar "reboot" al sistema.
7.1 Arquitectura de multiprocesadores
El Multiprocesador MADE [1,2], ha sido diseñado con el objetivo de procesar la información que reciba por el bus de datos a una elevada velocidad. Su principio de funcionamiento está basado en una arquitectura de detección de eventos [3]. La metodología de funcionamiento de esta arquitectura consiste en ejecutar ciertos procesos como respuesta a la detección de uno o más eventos. De esta manera no se tiene un sistema sincrónico que dependa de una única señal de sincronismo, sino que cada nodo procesador actúa independientemente en función de los procesos que le correspondan y hayan sido activados. La aparición de un evento determinado libera la ejecución de un nuevo proceso. De esta manera se economiza tiempo y se maximiza la utilización del Multiprocesador.
El MADE en su primera etapa utilizaba la técnica de memoria compartida [3], con dos microcontroladores 8031 como unidades básicas de proceso, una memoria de programa para cada módulo y una memoria de datos compartidos que permitía coherencia entre los dos módulos. En la segunda etapa se integran los nodos de procesamiento en una sola unidad, de modo que se puede lograr una mayor velocidad de trabajo, suprimiendo problemas de velocidad de transmisión entre buses externos. De igual forma, se busca optimizar el manejo de memoria con una técnica de memoria compartida distribuida, reemplazando la memoria centralizada de la versión anterior.7.2 S.D que integren arquitecturas multiprocesadores
La industria informática, ha tenido siempre un objetivo primordial, repetido a lo largo de toda su cadena (fabricantes de semiconductores, fabricantes de sistemas y usuarios): la búsqueda de la velocidad. Para alcanzar este objetivo se han invertido ingentes cantidades de recursos, hasta alcanzarlos límites físicos del silicio.
Obviamente, la velocidad va ligada a las prestaciones, y por lo general, la primera ha sido la principal medida para decidirse por un sistema u otro. Sin embargo, por muy evidente que parezca, y dados los límites físicos de los semiconductores, las prestaciones pueden no estar forzosamente ligadas a la velocidad. Hoy es posible construir sistemas, que aún teniendo procesadores más "lentos" que otros, ofrezcan unas prestaciones significativamente superiores. Son los sistemas multiprocesador, que como su denominación indica, incorporan varios procesadores para llevar a cabo las mismas funciones.No es un concepto nuevo, ya que los "mini computadores" construidos por compañías como NCR, Sequent y Stratus, ya empleaban varios nodos de proceso como alternativas económicas a otros productos de otras compañías. Sin embargo, aquellos sistemas aún duplicaban recursos caros del sistema, como memoria y dispositivos de entrada/salida, y por tanto, confinaban los sistemas multiprocesador al mundo de los sistemas de alto nivel.Ahora, y en gran medida gracias a los procesadores de arquitectura RISC, el soporte multiprocesador es una solución integrada y fácilmente disponible en estaciones de trabajo de sobremesa, que resuelve, a través de hardware VLSI, los complejos problemas de compartición de recursos (memoria compartida) de aquellas primeras máquinas.
Evidentemente, estas mejoras en el hardware, para ser funcionales, requieren importantes desarrollos en el software, y de hecho, muchos sistemas operativos admiten extensiones multiproceso (Match, SCO, Solaris, System V,etc.), que proporcionan paralelismo "en bruto" (asignando múltiples tareas a múltiples procesadores) a nivel del sistema operativo.
Las aplicaciones escritas para facilitar el paralelismo en su ejecución, incrementan significativamente las prestaciones globales del sistema; esto es lo que se denomina multi-enhebrado (multithreading), que implica dividir una sola aplicación entre varios procesadores. Sin embargo, los desarrolladores de software y programadores de aplicaciones sólo han comenzado a explorar las vastas posibilidades de incremento de prestaciones que ofrecen los sistemas con capacidades reales de proceso en paralelo.
El multiproceso no es algo difícil de entender: más procesadores significa más potencia computacional. Un conjunto de tareas puede ser completado más rápidamente si hay varias unidades de proceso ejecutándolas en paralelo. Esa es la teoría, pero otra historia es la práctica, como hacer funcionar el multiproceso, lo que requiere unos profundos conocimientos tanto del hardware como del software. Es necesario conocer ampliamente como están interconectados dichos procesadores, y la forma en que el código que se ejecuta en los mismos ha sido escrito para escribir aplicaciones y software que aproveche al máximo sus prestaciones.
Para lograrlo, es necesario modificar varias facetas del sistema operativo, la organización del código de las propias aplicaciones, así como los lenguajes de programación.Es difícil dar una definición exacta de un sistema multiprocesador, aunque podemos establecer una clasificación de los sistemas de procesadores en:SISD o secuencia única de instrucciones y datos (Single Instruction, Single Data): una sola secuencia de instrucciones opera sobre una sola secuencia de datos (caso típico de los ordenadores personales).
SIMD o secuencia única de instrucciones y múltiple de datos (Single Instruction, Múltiple Data): una sola secuencia de instrucciones opera, simultáneamente, sobre múltiples secuencias de datos (array processors).MISD o múltiples secuencias de instrucciones y única de datos (Múltiple Instruction, Single Data): múltiples secuencias de instrucciones operan, simultáneamente, sobre una sola secuencia de datos (sin implementaciones útiles actualmente).
MIMD o múltiples secuencias de instrucciones y datos (Múltiple Instruction, Múltiple Data): múltiples secuencias de instrucciones operan, simultáneamente, sobre múltiples secuencias de datos.
Los sistemas multiprocesadores pueden ser clasificados con mayor propiedad como sistemas MIMD. Ello implica que son máquinas con múltiples y autónomos nodos de proceso, cada uno de los cuales opera sobre su propio conjunto de datos. Todos los nodos son idénticos en funciones, por lo que cada uno puede operar en cualquier tarea o porción de la misma.
7.3 Aplicación de multimedia en sistemas distribuidos
SISTEMAS MULTIMEDIA
Las investigaciones y desarrollos en el área de la multimedia se puede dividir en dos grandes grupos: el primero centrado en el área de estaciones de trabajo independientes con el software y las herramientas relacionadas, tal como composición musical, enseñanza asistida por computador, video interactivo, etc. El segundo grupo centrado en el intercambio de información multimedia entre esas estaciones de trabajo a través de redes, combinando así los sistemas distribuidos con la multimedia. Todo esto ofrece un gran panorama y un enorme potencial para nuevas aplicaciones basadas en los sistemas multimedia distribuidos, los cuales incluyen sistemas de información multimedia, los sistemas de colaboración y conferencia, los servicios multimedia sobre demanda, televisión de alta resolución y la enseñanza a distancia. Los sistemas distribuidos multimedia requieren transferencia de datos continua sobre periodos de tiempo relativamente altos, sincronización en el manejo de los diferentes tipos de datos (ejemplo: voz y sonido), espacios de almacenamiento extremadamente grandes, manejo de tiempo real y técnicas especiales de indexamiento y recuperación de los datos de tipo multimedia, además de otros problemas que surgen a partir de éstos.
Esa creciente necesidad de incrementar la interconexión de las cada vez más poderosas estaciones de trabajo multimedia da como resultado una evolución de las comunicaciones en búsqueda de las redes (sus características) que soporten la transmisión de este tipo de información multimedia. Este trabajo resume esos requerimientos de manejo de datos multimedia y muestra, de manera general, las características de varias tecnologías de redes de alta velocidad que buscan satisfacer esos requerimientos.
Los distintos avances en la tecnología han permitido el desarrollo de aplicaciones multimedia técnica y económicamente realizables. Estos avances incluyen el poder de las estaciones de trabajo, la alta capacidad de los dispositivos de almacenamiento, las altas velocidades de las redes, los avances en tratamiento de imágenes y vídeo, los avances en el manejo del procesamiento del audio, procesos de reconocimiento de voz, los algoritmos de compresión y el avance mismo del audio y el vídeo.
Entre la diversa variedad de aplicaciones multimedia que se pueden desarrollar potencialmente se distinguen tres tipos de sistemas que hoy por hoy se encuentran en uso: el correo multimedia, los sistemas de trabajo colaborativo y los sistemas de conferencia multimedia.
Los sistemas de correo multimedia son más sofisticados que los sistemas de correo electrónico estándar. Ellos implementan múltiples aplicaciones, como edición multimedia de correo de voz, las cuales requieren altas ratas de transmisión de datos comparada con las ratas utilizadas en sistemas de correo de solo texto.
Los sistemas de trabajo colaborativo permiten que los diversos integrantes de un grupo de trabajo puedan discutir un problema desde sus sitios de computo de manera simultánea. Durante esas reuniones se puede ver, discutir y modificar documentos multimedia.
Los sistemas de conferencia permiten que un cierto número de participantes intercambien información multimedia a través de redes de voz y datos. Cada participante cuenta con su estación de trabajo multimedia sobre redes de ratas de velocidad altas. Cada uno de dichos participantes puede enviar o recibir vídeo, audio, y datos y puede desempeñar ciertas actividades de colaboración. Estas conferencias multimedia manejan el concepto de “espacios de trabajo virtual compartido” el cual describe las partes del despliegue que son replicadas para todas las estaciones. 7.4 Configuración de arquitectura array (redundat of array inexpensive disk)
Duplicado de Información en Línea (RAID) RAID ("Redundant Array of Inexpensive Disks") en términos sencillos es: un conjunto de 2 o más "Discos Duros" que operan como grupo y logran ofrecer una forma más avanzada de respaldo ya que:
Es posible mantener copias en línea ("Redundancy").
* Agiliza las operaciones del Sistema (sobre todo en bases de datos .) * El sistema es capaz de recuperar información sin intervención de un Administrador. * Existen varias configuraciones de Tipo RAID, sin embargo, existen 4 tipos que prevalecen en muchas Arquitecturas:
RAID-0 : En esta configuración cada archivo es dividido ("Striped") y sus fracciones son colocadas en diferentes discos. Este tipo de implementación sólo agiliza el proceso de lectura de archivos, pero en ningún momento proporciona algún tipo de respaldo ("redundancy").
RAID-1 : En orden ascendente, este es el primer tipo de RAID que otorga cierto nivel de respaldo; cada vez que se vaya a guardar un archivo en el sistema éste se copiara integro a DOS discos (en línea), es por esto que RAID-1 también es llamado "Mirroring".Además de proporcionar un respaldo en caliente ("hot") en dado caso de fallar algún disco del grupo , RAID-1 también agiliza la lectura de archivos (si se encuentran ocupadas las cabezas de un disco "I/O") ya que otro archivo puede ser leído del otro disco y no requiere esperar a finalizar el "I/O" del primer disco.RAID-3 : Esta configuración al igual que RAID-0 divide la información de todos los archivos ("Striping") en varios discos, pero ofrece un nivel de respaldo que RAID-0 no ofrece. En RAID-0 si falla un disco del grupo, la Información no puede ser recuperada fácilmente, ya que cada disco del grupo contiene una fracción del archivo, sin embargo RAID-3 opera con un disco llamado "de paridad" ("parity disk").
Este "disco de paridad" guarda fracciones de los archivos necesarias para recuperar toda su Información, con esto, es posible reproducir el archivo que se perdió a partir de esta información de paridad.RAID-5 : El problema que presenta RAID-3 es que el "disco de paridad" es un punto crítico en el sistema; que ocurre si falla el disco de paridad ? Para resolver este problema RAID-5, no solo distribuye todos los archivos en un grupo de discos ("Striping"), sino también la información de paridad es guardada en todos los discos del sistema ("Striping"). Este configuración RAID suele ser usada en sistemas que requieren un "alto nivel" de disponibilidad, inclusive con el uso de "Hot-Swappable Drives" es posible substituir y recuperar la Información de un disco dañado, con mínima intervención del Administrador y sin la necesidad de configurar o dar "reboot" al sistema.
INTEGRANTES DEL EQUIPO:
SATURNINO PÉREZ CORDERO
PEDRO HERNANDEZ VALENCIA
OSORNO RIVERA RODOLFO
PARRILLA SANCHEZ ALEJANDRO
LEAL PEREZ JOSÉ DE JESÚS
Enviar comentarios a la direccion:cerverus84.sdatosd2@blogger.com
1 Comments:
iracema de la cruz cruz
La metodología de funcionamiento del multiprocesador consiste en ejecutar ciertos procesos como respuesta a la detección de uno o más eventos.cada nodo procesador actúa independientemente en función de los procesos que le correspondan y hayan sido activados.el soporte multiprocesador es una solución integrada y fácilmente disponible en estaciones de trabajo de sobremesa, que resuelve, a través de hardware VLSI.
nos hacen mecion de que es facil el entendimineto de la teoria de como manejar los multiporcesadores, pero que no es lo mismo en la practica ya que es necesario conocer ampliamente como están interconectados dichos procesadores, y la forma en que el código que se ejecuta en los mismos ha sido escrito para escribir aplicaciones y software que aproveche al máximo sus prestaciones.
Los sistemas multiprocesadores pueden ser clasificados con mayor propiedad como sistemas MIMD.
son máquinas con múltiples y autónomos nodos de proceso, cada uno de los cuales opera sobre su propio conjunto de datos.
Todos los nodos son idénticos en funciones, por lo que cada uno puede operar en cualquier tarea o porción de la misma.
la informacion esta entendible y creo que le falto serparar un poco la informacion por que esta muy pegado.
en cuato a lo demas esta bien
Publicar un comentario
<< Home