El algoritmo de Ricart y Agrawala es un algoritmo distribuido para la implementación de exclusión mutua entre N procesos. Los procesos deben obtener la aprobación de todos los demás nodos para acceder a una sección crítica. Cada proceso tiene un estado (LIBERADA, BUSCADA o TOMADA) que determina su acción ante una petición de otro proceso. El algoritmo utiliza marcas de tiempo en los mensajes de petición para resolver posibles conflictos entre procesos que desean acceder simultáneamente a la sección crítica.