Módulo de recuperación de fallos de los procesos de un sistema FreeBSD utilizando variables en disco


  • Javier Vargas Universidad Técnica de Ambato
  • David Guevara Universidad Técnica de Ambato
  • Franklin Mayorga Universidad Técnica de Ambato
  • Ernesto Jiménez Universidad Politécnica de Madrid



This paper describes the creation of a crash-recovery module of the processes in a reliable communication program with fall and recovery of equipment, on a FreeBSD system. The creation of this module is based on the parameters or values that a running process contains, establishing a variable or file that is stored on disk. The variable is synchronized with the values of each process so that they can be retrieved by the module, avoiding loss of information during the transmission prior to the data integration. The module presents two recovery mechanisms, the coherence checker and the concurrency control, each of which process in a synchronized way with the process and the recovery of the variable in the event of a failure.

Keywords: crash-recovery module, recovery mechanisms, coherence checker, concurrency control.



El presente trabajo describe la creación de un módulo de recuperación de fallos de los procesos de un programa de comunicación fiable con caídas y recuperación de equipos, en un sistema FreeBSD. La creación de este módulo se basa en los parámetros o valores que un proceso en ejecución contenga, estableciendo una variable o fichero que se almacena en disco. La variable se sincroniza con los valores de cada proceso para que puedan ser recuperados por el módulo, con la finalidad de que no se pierda la información o datos que se estén trasmitiendo al momento de reintegrarse. El módulo presenta dos mecanismos de recuperación, el comprobador de coherencia y el control de concurrencia, cada uno de ellos trabaja de forma sincronizada con el proceso y la variable de recuperación en caso de presentarse algún tipo de fallo.

Palabras clave: módulo de recuperación, mecanismos de recuperación, comprobador de coherencia, control de concurrencia.


Los datos de descargas todavía no están disponibles.


Abts, D., Roberts, M., & Lilja, D. J. (2000). A balanced approach to high-level verification: Performance trade-offs in verifying large-scale multiprocessors. Paper presented at the Proceedings of the International Conference on Parallel Processing, January 2000, 505-510.

Angela, V., Granizo, R., Alex, A., & Tacuri, U. (2016). Guía referencial para el manejo de QoS en redes WLAN prioritizando tráfico. MASKANA: Actas CEDIA 2016, 65-77.

Chowdhury, T., & Mustafa, R. (2010). Parallel data transmission: A proposed multi-layered reference model. Paper presented at the Novel Algorithms and Techniques in Telecommunications and Networking, 139-142.

Claus, C., Zeppenfeld, J., Müller, F., & Stechele, W. (2007). Using partial-run-time reconfigurable hardware to accelerate video processing in driver assistance system. Paper presented at the Proceedings -Design, Automation and Test in Europe, DATE, 498-503.

Dickens, P. M., & Thakur, R. (1999). Improving collective I/O performance using threads. In Parallel Processing, 1999. 13th International and 10th Symposium on Parallel and Distributed Processing, Proceedings (pp. 38-45). IEEE.

Kamoshida, Y., & Taura, K. (2008). Scalable data gathering for real-time monitoring systems on distributed computing. Paper presented at the Proceedings CCGRID 2008 - 8th IEEE International Symposium on Cluster Computing and the Grid, 425-432.

Kleiman, S., Shah, D., & Smaalders, B. (1996). Programming with threads (p. 48). Sun Soft Press.

Jung, I., Hyun, J., Lee, J., & Ma, J. (2001). Two-phase barrier: A synchronization primitive for improving the processor utilization. International Journal of Parallel Programming, 29(6), 607-627.

McKusick, M. K., Neville-Neil, G. V., & Watson, R. N. (2014). The design and implementation of the FreeBSD operating system. Pearson Education.

Merz, F., Falke, S., & Sinz, C. (2012). LLBMC: Bounded model checking of C and C++ programs using a compiler IR. In International Conference on Verified Software: Tools, Theories, Experiments (pp. 146-161). Springer Berlin Heidelberg.

Mitterbauer, J., Zeilinger, H., Kohlhauser, S., Turek, T., & Kreilmeier, M. (2011). Reliable data distribution in voice communication environments: Performance analysis of the group communication systems corosync and spread. Paper presented at the IEEE AFRICON Conference.

Pina, L., & Hicks, M. (2016). Tedsuto: A general framework for testing dynamic software updates. Paper presented at the Proceedings - 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016, 278-288.

Plow, G. M. (1983). Method and means for cataloging data sets using dual keyed data sets and direct pointers. U.S. Patent No 4,408,273.

Spread Toolkit (2017). Accessed from http://www.spread.org

Sutter, H. (2005). A fundamental turn toward concurrency in software. Dr.Dobb's Journal, 30(3), 16-22.

Trott, O., & Olson, A. J. (2010). AutoDock Vina: improving the speed and accuracy of docking with a new scoring function, efficient optimization, and multithreading. Journal of Computational Chemistry, 31(2), 455-461.




Cómo citar

Vargas, J., Guevara, D., Mayorga, F., & Jiménez, E. (2017). Módulo de recuperación de fallos de los procesos de un sistema FreeBSD utilizando variables en disco. Maskana, 8, 9–16. Recuperado a partir de https://publicaciones.ucuenca.edu.ec/ojs/index.php/maskana/article/view/1448

Artículos más leídos del mismo autor/a