Está en la página 1de 3

PROCESAMIENTO DISTRIBUIDO Distintas mquinas pueden estar conectadas en una red de comunicacin tal que una sola tarea

de procesamiento de datos puede ocupar muchas mquinas en la red. En general, cada servidor puede servir a muchos clientes, y cada cliente puede accesar muchos servidor. Un sistema de base de datos distribuido es cuando un cliente puede accesar muchos servidores simultneamente. Mtodo de procesamiento de la informacin en el que varios procesos(programas en ejecucin) en paralelo, en paralelo, en la misma mquina o distribuidos entre ordenadores o computadoras interconectados a travs de una red de comunicaciones, colaboran en la realizacin de una tarea. Los ambientes en los que se encuentra con mayor frecuencia el uso de las bases de datos distribuidas son: Cualquier organizacin que tiene una estructura descentralizada. Casos tpicos de lo anterior son: organismos gubernamentales y/o de servicio pblico. La industria de la manufactura, particularmente, aquella con plantas mltiples. Por ejemplo, la industria automotriz. Aplicaciones de control y comando militar. Lneas de transportacin area. Cadenas hoteleras. Servicios bancarios y financieros. Logrando as, que una sola tarea de procesamiento de datos pueda ser procesada o ejecutada entre varias maquinas de la red, es decir que un solo proceso se pueda realizar entre varias maquinas diferentes y conectadas a una red. Un error comn es confundir procesamiento distribuido y paralelo, el trmino procesamiento paralelo, bsicamente es el mismo, con excepcin que las maquinas distintas tienden a estar fsicamente muy cerca en un sistema paralelo, lo que no es necesario en un sistema distribuido Qu son los sistemas distribuidos? Sistemas de cmputo que utilizan ms de una computadora o procesador para ejecutar una aplicacin. Esta definicin incluye el procesamiento paralelo: varios CPUs ejecutan una aplicacin El procesamiento distribuido se refiere generalmente a computadoras conectadas en red Otra definicin Una coleccin de computadoras independientes que aparecen ante los usuarios como una computadora nica Esta definicin abarca dos aspectos: Hardware: las computadoras son independientes Software: los usuarios piensan que el sistema es una nica computadora Concurrencia (concurrency). En computacin, la concurrencia es la propiedad de los sistemas que permiten que mltiples procesos sean ejecutados al mismo tiempo, y que potencialmente

puedan interactuar entre s. Los procesos concurrentes pueden ser ejecutados realmente de forma simultnea, slo cuando cada uno es ejecutado en diferentes procesadores. En cambio, la concurrencia es simulada si slo existe un procesador encargado de ejecutar los procesos concurrentes, simulando la concurrencia, ocupndose de forma alternada en uno y otro proceso a pequesimos intervalos de tiempo. De esta manera simula que se estn ejecutando a la vez. Debido a que los procesos concurrentes en un sistema pueden interactuar entre otros tambin en ejecucin, el nmero de caminos de ejecucin puede ser extremadamente grande, resultando en un comportamiento sumamente complejo. Las dificultades asociadas a la concurrencia han sido pensadas para el desarrollo de lenguajes de programacin y conceptos que permitan hacer la concurrencia ms manejable. Dos o ms procesos decimos que son concurrentes, paralelos, o que se ejecutan concurrentemente, cuando son procesados al mismo tiempo, es decir, que para ejecutar uno de ellos, no hace falta que se haya ejecutado otro. En sistemas multiprocesador, esta ejecucin simultnea podra conseguirse completamente, puesto que podremos asignarle, por ejemplo, un proceso A al procesador A y un proceso B al procesador B y cada procesador realizaran la ejecucin de su proceso. Cuando tenemos un solo procesador se producir un intercalado delas instrucciones de ambos procesos, de tal forma que tendremos la sensacin de que hay un paralelismo en el sistema (concurrencia, ejecucin simultnea de ms de un proceso). Ahora bien, est claro que en esto tenemos que tener en cuenta que mientras un proceso est escribiendo un valor en una variable determinada, puede darse el caso que otro proceso que es concurrente al primero vaya a leer o escribir en esa misma variable, entonces habr que estudiar el caso en el que un proceso haga una operacin sobre una variable (o recurso en general) y otro proceso concurrente a l realice otra operacin de tal forma que no se realice correctamente. Para estudiar esto, y determinar el tipo de operaciones que se pueden realizar sobre recursos compartidos utilizaremos las condiciones de Bernstein. Dos procesos sern concurrentes cuando la primera instruccin de uno de ello se ejecuta despus de la primera del otro y antes de la ltima. Si se ejecutan los dos procesos al mismo tiempo, se trata de programacin paralela. Un programa en ejecucin puede dar lugar a ms de un proceso, cada uno de ellos ejecutando una parte del programa. Un proceso es una actividad asncrona susceptible de ser asignada a un procesador. Para que los procesos puedan colaborar y competir por los recursos son necesarios mecanismos de comunicacin y sincronizacin entre procesos. La concurrencia en sistemas monoprocesador hace que el S.O. alterne el tiempo de procesador entre los distintos procesos, dando lugar a la multiprogramacin. En los sistemas multiprocesador, tenemos: Sistemas multiprocesador fuertemente acoplados: tanto procesadores como memoria y otros dispositivos estn conectados a un bus. Ello hace que todos los procesadores compartan la misma memoria. En estos sistemas la sincronizacin y comunicacin entre procesos se hace mediante variables compartidas. Sistemas multiprocesador dbilmente acoplados: no existe memoria compartida por los procesadores. Cada procesador tiene su memoria local y se conecta a otros

procesadores mediante algn tipo de comunicacin. Un ejemplo de este tipo de sistemas son los distribuidos, formados por nodos distribuidos geogrficamente y conectados de alguna forma. Multiproceso: gestin de varios procesos dentro de un sistema multiprocesador donde cada procesador puede acceder a una memoria comn. Procesamiento distribuido: gestin de varios procesos en procesadores separados, cada uno con su memoria local. La forma de comunicar y sincronizar en este caso es mediante paso de mensajes. Programacin concurrente orientada a objetos: unin de los paradigmas concurrente y objetos. Programa concurrente: conjunto de acciones que pueden ser ejecutadas simultneamente. Programa paralelo: programa concurrente diseado para ejecutarse en un sistema multiprocesador. Programa distribuido: Programa paralelo diseado para ejecutarse en un sistema distribuido. La atomicidad es la propiedad que asegura que una operacin se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias. Se dice que una operacin es atmica cuando es imposible para otra parte de un sistema encontrar pasos intermedios. Si esta operacin consiste en una serie de pasos, todos ellos ocurren o ninguno. Por ejemplo, en el caso de una transaccin bancaria o se ejecuta tanto el depsito y la deduccin o ninguna accin es realizada. Es una caracterstica de los sistemas transaccionales. El concepto tambin es relevante cuando se programa con hilos de ejecucin. (sincronizacin de archivos, file synchronization). En informtica, la sincronizacin de archivos es el proceso de asegurarse de que dos o ms ubicaciones contengan las mismas versiones de los archivos. Si se agrega, modifica o elimina un archivo de una ubicacin, el proceso de sincronizacin agregar, modificar o eliminar el mismo archivo en las otras ubicaciones. La sincronizacin de archivos permite mantener la misma versin de los archivos en mltiples ubicaciones, generalmente directorios en una computadora, en dispositivos de almacenamiento extrables (ej.: unidades USB flash), e incluso entre una computadora y un dispositivo mvil como un celular. El proceso de sincronizacin puede hacerse manualmente o automticamente utilizando alguna herramienta de software, lo que permite ms confiabilidad. Tipos de sincronizacin de archivos * Una va (one-way): tambin llamada mirroring o espejado, los archivos son copiados solo desde una ubicacin fuente hacia una (o ms) ubicacin destino, pero ningn archivo es copiado en el sentido inverso. Por lo tanto las modificaciones hechas en destino no afectan a la fuente. * Dos vas (two-way): los archivos son copiados en ambos sentidos, manteniendo ambas ubicaciones sincronizadas una con la otra. En informtica, sincronizar hace referencia a la coordinacin de procesos que se ejecutan simultneamente para completar una tarea, con el fin de obtener un orden de ejecucin correcto y evitar as estados inesperados.