You are on page 1of 8

La Sincrinizacin es el proceso por el cual dos componentes intercambian datos o informacin.

Los datos intercambiados pueden afectar la informacin uno o de ambos componentes. Se dice que esto se hace por medio de protocolos de sincronizacin, donde ambos componentes "conocen" la forma de intercambio de datos.

Figura 3.1. Sincronizacin de Informacin La importancia de la sincronizacin radica en el mantenimiento de la confiabilidad e integridad de la informacin. Entre los protocolo se encuentran los siguientes: Slow sync : En trminos generales cuando se va ha sincronizar con este protocolo la pda transfiere todos los datos hacia el PC. y compara uno a uno los registro para ver cual ha sufrido cambios, se ha borrado o ha sido adicionado.

Figura 3.2. Sincronizacin por medio de Slow sync. Entoces cada uno de los datos existentes en la Base de datos o archivo de la pda pasa a sincronizar al pc, por eso se denomina show sync. Un ejemplo de datos pude ser la sincronizacin de pedidos, los cuales se requieren que pasen todos para su posterior facturacin. Fast sync : Este protocolo de sincronizacin es mucho mas rpido que el anterior y se basa en que slo pasan al servidor los datos que han tenido modificaciones, en otras palabras, los datos que no han sufrido cambios, borrados o adiciones no se sincronizan.

Figura 3.3. Sincronizacin por medio de Flast sync. Un ejemplo tpico de sincronizacin con este protocolo seria el del mantenimiento de una agenda de citas. Donde no se interesa sincronizar las citas que no han sufrido modificaciones. Si algunas citas permanecen igual se quedan sin sincronizar. Este protocolo de sincronizacin utiliza una "bandera" de estado que permite "marcar" los registros que han sufrido modificaciones desde la ultima fecha de sincronizacin. Cuando se sincronizan los el Pc y la Pda pueden ocurrir los siguientes eventos: Insercin: el registro nuevo en la Pda es adicionado al servidor Modificacin : el registro de la Pda Remplaza al del servidor. Borrado : el Registro en el servidor es borrado Guardado : el Registro se guarda en el servidor. Cuando termina la sincronizacin los "banderas" de estado se anulan o "Resetean". Y se guarda la fecha de sincronizacin. El Protocolo Intellisync anywhere esta dedicado para la sincronizacin en red de diferentes dispositivos, donde los dispositivos mviles sincronizan con un servidor central. Adems de los dos protocolos anteriores existe otro llamando SyncMl (Synchronous Mark Up Language) . La objetivo de este protocolo es la sincronizacin "abierta" entre dispositivos de diferentes familias. Varias compaas unen esfuerzos para que sus equipos trabajen con este protocolo de sincronizacin. Se puede decir que se busca un protocolo de sincronizacin Universal.

Este protocolo asume que cada dispositivo guarda banderas de estado de los registros de los demas. Asi que este necesita bastante almacenamiento para mantener la integridad de la informacin y las banderas de estado.

Figura 3.4. Sincronizacin por medio de Intellisync y Per-to-Per. Per-To-Per: es otro protocolo de sincronizacin donde todos y cada uno de los dispositivos se sincronizan sin la necesidad de un computador centrar o servidor como ocurre en el caso del protocolo Intellisync anywhere. No esta dems hacer nfasis en que la sincronizacin es un proceso diferente al de transmisin de informacin. No se deben confundir estos trminos por muy similares que parezcan. El lector puede buscar informacin de este tema por el nombre de Conduit. Para la sincronizacin en una aplicacin se pueden utilizar tablas de sincronizacin. En algunas aplicaciones no se sincroniza directamente sobre la base de datos. para este fin se utilizan tablas temporales donde se guarda la informacin y posteriormente con un proceso se puede depurar y hacer correcciones. Lo anterior se realiza por motivos de seguridad.

Figura 3.5. Sincronizacin sobre Tablas de sincronizacin. No directamente sobre la base de datos principal. Un ejemplo de esto seria la sincronizacin en un sistema de pedidos donde lo que se necesita es descargar los pedidos y que el proceso de facturacin se encarge del resto. Claro esta que se puede sincronizar directamente sobre la base de datos y hacer la depuracin en el proceso de sincronizacin

Figura 3.6. Agente de sincronizacin de Hotsync Estas simplemente son opciones que se plantean el lector puede utilizar la que mejor se adapte a su aplicacin En este capitulo se menciono algunos de los protocolos de sincronizacin existentes, con esta informacin el lector puede profundizar en el tema.

Sincronizacin Una computadora debe disponer de medios para coordinar sus actividades con aquellas de los dispositivos externos que tenga conectados. La computadora necesita saber cuando se ha introducido en el teclado un nuevo carcter y est listo para la transferencia. En general, hay dos tcnicas de uso comn para lograr la coordinacin: escrutinio, o verificacin de condicin (pooling), e interrupcin. En la tcnica de escrutinio bsicamente se cuenta de uno o ms bits de informacin los cuales indican la condicin de cada dispositivo de entrada o salida conectado a una computadora. El ms importante se denomina bit de Ready "Listo". Cuando este bit esta en 1, puede emitirse una instruccin de E/S para realizar la transferencia requerida. Esto de inmediato borra el bit de Listo, el cual permanece en 0 hasta que el dispositivo este listo de nuevo. La cantidad de bits de informacin depende de la complejidad del dispositivo. Hay instrucciones especiales para leer esta informacin. En la tcnica de interrupciones, que fue la elegida en nuestro caso, en vez de ejecutar un ciclo de espera, como ocurre en la tcnica de escrutinio, la CPU puede suspender temporalmente la ejecucin de las instrucciones. El dispositivo alerta a la CPU al activar una de la lneas de control a la que se denomina lnea de solicitud de interrupcin (INTR: interrupt-request). Esto indica a la CPU que debe proceder a la ejecucin de la transferencia de datos. El uso de interrupciones se extiende mucho ms all del simple ejemplo aqu mostrado. Debido que ya no se requiere que la computadora verifique continuamente el estado de los dispositivos externos, el perodo de espera puede utilizarse para efectuar otras funciones tiles. Lo ideal es que tales perodos de espera puedan eliminarse. La rutina que se ejecuta en respuesta a una solicitud de interrupcin se conoce como rutina de servicio de interrupcin. El dar servicio tiene mucha similitud con las llamadas a subrrutinas, donde la CPU debe realizar los siguientes pasos :

Completar la ejecucin de la instruccin en curso. Cargar el contador de programa (PC) con la direccin de la primera instruccin de la rutina de servicio de interrupcin. Esta direccin puede estar unida por control fijo a la CPU.

Luego de la ejecucin de la rutina de servicio de interrupcin, la CPU debe regresar a la instruccin siguiente a la que haba interrumpido. Una instruccin de regreso-de-interrupcin al final de la rutina de servicio provoca que la CPU vuelva a cargar desde una localizacin temporal de almacenamiento la direccin de la prxima instruccin, al PC, del programa que corra antes de ser interrumpido.

De este modo al momento de interrumpir un programa el contenido del PC, que apunta a la siguiente instruccin, debe ser almacenado temporalmente en memoria. En la mayora de las computadoras lo hacen en la pila del procesador. Como parte del manejo de interrupciones la CPU debe informar al dispositivo que su solicitud ha sido reconocida, de manera que este pueda eliminar su seal de solicitud de interrupcin. En nuestro caso esto se logra mediante una seal de reconocimiento de interrupcin (KNOWLEDGE), la cual se pone en 1 durante la ejecucin de la instruccin, de la rutina de servicio, que lee del registro de datos TTYIN en la interfaz del mismo. Debe observarse una diferencia importante con respecto a la similitud que existe con las llamadas a subrrutinas. El programa principal llama una subrrutina para que realice una funcin que l requiere. En cambio la rutina de servicio de interrupcin puede no tener nada en comn con el programa que se est ejecutando cuando se recibe la interrupcin. Por lo tanto, antes de empezar la ejecucin de la rutina de servicio de interrupcin, la CPU debe guardar, junto con el contenido del PC, cualquier informacin que pueda afectar la ejecucin cuando regrese al programa original, como ser la palabra de condicin (PSW), lo registros de la CPU, y otros registros de uso interno. Este proceso de salvar y restaurar el contexto puede o no ser automtico, dependiendo del mecanismo de manejo de interrupcin que se este usando, involucrando varias transferencias de la memoria principal. A fin de minimizar el sobreuso por interrupcin en algunas computadoras hay dos tipos de interrupcin. Una guarda el contenido de todos los registros y la otra no. Un dispositivo de E/S puede utilizar cualquiera de las dos, dependiendo de sus necesidades de velocidad de respuesta. En el caso del teclado donde los tiempos no son tan crticos, y la cantidad de interrupciones es considerable, se guarda y restaura el contexto en antes y despus de cada interrupcin respectivamente. Manejo de Interrupciones

Un caracterstica importante que se encuentran en las computadoras es la capacidad de permitir o inhabilitar la ocurrencia de interrupciones de un programa, segn se desee. Existen muchas situaciones en que la CPU no debe tomar en cuenta las solicitudes de interrupcin. Por ejemplo hasta que no se procese el carcter tipeado no debern ocurrir otras interrupciones que interrumpan a esta ultima, ya que durante dicho proceso podran modificarse algunos de los datos utilizados por las sucesivas instrucciones; lo cuales no se realizaran en el orden correcto que se esperaban que sucedan. Por estas razones, deben existir algunos medios a la disposicin del programador para habilitar o inhabilitar las interrupciones. Una forma simple es proveer de instrucciones de mquina, tales como Habilitacin-de-interrupcin e Inhabilitacin -deinterrupcion, o bien dejarle acceso, al programador, del registro de Habilitacin-de-interrupcin, de modo que bastara mover el valor necesario para realizar estas funciones. Para evitar que mltiples interrupciones de un mismo dispositivo sucedan a destiempo, con un mecanismo de manejo de interrupciones, solucionara el problema. La secuencia de hechos que se involucran en el manejo de una solicitud de interrupcin en nuestro caso sera: 1. El teclado efecta una solicitud de interrupcin. 2. La CPU interrumpe el programa que se estaba ejecutando en ese momento. 3. Se inhabilitan las interrupciones. 4. Se informa a su interfaz que su solicitud ha sido reconocida y, en respuesta, este desactiva la seal de solicitud de interrupcin. 5. Se realiza la accin solicitada por la interrupcin. Es decir se ejecuta la rutina de servicio de interrupcin. 6. Se habilitan las interrupciones. 7. Se reanuda la ejecucin del programa interrumpido. Prioridades Como se mencion anteriormente las interrupciones deberan inhabilitarse durante la ejecucin de una rutina de servicio de interrupcin. Esto nos asegura que la solicitud de interrupcin de un dispositivo no provocar ms de una interrupcin. Este mismo concepto se utiliza cuando hay varios dispositivos, es decir, la que hasta que no se termine con la ejecucin de la rutina de servicio, la CPU no aceptar una segunda solicitud de interrupcin del mismo dispositivo.

Una solicitud de interrupcin de algunos dispositivos de E/S no atendida a tiempo los puede llevar a operar de forma errnea (Por ejemplo un dispositivo condicionado por un reloj en tiempo real o un censor). Debido a esto es necesario que los dispositivos de E/S estn organizados con una estructura jerrquica de prioridades. En nuestro caso le asignamos al teclado una prioridad de 4. La prioridad de la CPU es la prioridad del programa que se encuentra ejecutando en cada momento, ya que cuando ocurra una solicitud, la CPU evaluar cual proceso tiene mayor importancia. Un circuito de prioridades arbitra las solicitudes de interrupcin recibidas por las lneas de control. La prioridad de la CPU se incorpora como parte de la Palabra de estado del procesador.

You might also like