En ingeniería , la relación maestro-esclavo es una relación entre dos sistemas en la que uno controla al otro. En algunos casos, un maestro controla solo un sistema esclavo, pero en otros hay varios sistemas esclavos controlados por el mismo maestro. A veces, el maestro es un tipo de sistema diferente al esclavo, pero a veces hay varios sistemas similares y uno de ellos se designa como maestro para centralizar el control externo (es decir, del usuario) de la colección. [1]
Debido a su conexión con la esclavitud , la terminología es objeto de controversia y ha sido reemplazada por términos alternativos en algunos casos. [2] [3] [4]
Un reloj maestro proporciona señales horarias que se utilizan para sincronizar uno o más relojes esclavos como parte de una red de relojes ; un reloj esclavo recibe y muestra la hora de un maestro; aunque puede ser capaz de mantener la hora por sí mismo si el maestro no está funcionando.
Un bus de interfaz periférica en serie (SPI) normalmente tiene un solo maestro que controla varios esclavos. [5] [6] [7] [8]
I2C e I3C también son ejemplos de tecnología maestro-esclavo.
Modbus utiliza un dispositivo maestro para iniciar solicitudes de conexión a los dispositivos esclavos.
Se puede crear un flip-flop activado por flanco organizando dos pestillos con compuerta en una configuración maestro-esclavo. Se llama así porque el pestillo maestro controla el valor del pestillo esclavo y obliga a este último a mantener su valor, ya que el pestillo esclavo siempre copia su nuevo valor del pestillo maestro.
En fotografía, las unidades de flash secundarias o esclavas se conectan a una unidad maestra para proporcionar iluminación sincronizada.
La duplicación de audio en paralelo a menudo implica múltiples dispositivos de grabación (es decir, para cintas de casete o discos compactos ) vinculados entre sí, de modo que al operar los controles de un dispositivo maestro se activan los mismos comandos en los dispositivos esclavos.
Las locomotoras de ferrocarril que funcionan en el mismo tren (por ejemplo, para tirar de una carga demasiado pesada para una sola locomotora) pueden configurarse para funcionar en modo maestro-esclavo, con todas las locomotoras menos una controladas desde la primera. Consulte Control de trenes con varias unidades .
En un sistema hidráulico , un cilindro maestro es un dispositivo de control que convierte la fuerza en presión hidráulica que impulsa el movimiento en un cilindro esclavo ubicado en el otro extremo de la línea hidráulica. Una aplicación común es el sistema de frenos de un vehículo .
El término maestro se utiliza en muchos contextos tecnológicos que no hacen referencia a una relación de control. Maestro puede utilizarse para referirse a una copia que tiene más importancia que otras copias, en cuyo caso el término es un concepto absoluto, no una relación. A veces, el término maestro-esclavo se utiliza en contextos que no implican una relación de control.
En la replicación de bases de datos , la base de datos maestra es la fuente autorizada. Una base de datos de réplica, a veces denominada esclava, se sincroniza con ella, pero no está controlada por ella.
Una interfaz de disco duro ATA paralela (también conocida como IDE) admite dos discos duros conectados a un cable, que se designan como maestro y esclavo . La interfaz requiere esta distinción aunque ninguno de los discos tenga control o prioridad sobre el otro.
La terminología amo-esclavo se utilizó por primera vez en 1904. [9]
La terminología se utilizó en 1988 para RFC 1059 y en 1997 para RFC 2136, relacionadas con el sistema de nombres de dominio . En 2020, Paul Vixie comentó sobre su elección de palabras:
Introduje la terminología maestro/esclavo en RFC 2136 porque necesitaba nombres para los roles en una transacción AXFR/IXFR y la jerarquía de transferencia de zona podía tener más de una capa de profundidad, de modo que un servidor podía iniciar algunas AXFR/IXFR al "maestro principal" pero luego responder a las AXFR/IXFR de otros servidores. En retrospectiva, debería haber elegido los términos "iniciador de transferencia" y "respondedor de transferencia". Sin embargo, los sistemas de freno y embrague hidráulicos de mi automóvil tenían " cilindros maestros " y "cilindros esclavos", por lo que no pensé que estuviera inventando un nuevo uso para las palabras "maestro" y "esclavo", ni que mi uso de ellas para este propósito sería controvertido. [10]
Dichos frenos hidráulicos para la industria automotriz fueron patentados en 1917 por Malcolm Loughead . [11] El término cilindro esclavo fue utilizado en otras solicitudes de patente, incluida una de Robert Esnault-Pelterie , publicada en 1919. [12]
La empresa de análisis de medios Global Language Monitor colocó amo/esclavo en primer lugar en su lista anual de lenguaje políticamente cargado para 2004. [13] El movimiento Black Lives Matter en los Estados Unidos provocó un renovado debate y cambios terminológicos en 2020. [14] Pero algunos argumentan que un cambio de terminología es superficial, comparándolo con el activismo performativo . [15] [3] No obstante, se han propuesto varios términos alternativos y generalmente sensibles al contexto, incluidos: [14] [3] [16] [17] [18] [19] [20]
En 2003, después de recibir una queja por discriminación de un empleado del condado, el condado de Los Ángeles en California solicitó que los fabricantes, proveedores y contratistas dejaran de utilizar la terminología amo y esclavo en sus productos. [21] [22] Tras las quejas, el condado de Los Ángeles emitió un comunicado diciendo que la decisión no era "nada más que una solicitud". [21]
En 2018, después de un acalorado debate, los desarrolladores de Python reemplazaron el término. [4] Python cambió a main , parent y server ; y worker , child y helper , según el contexto. [4] [23] El kernel de Linux adoptó una política similar para usar términos más específicos en código y documentación nuevos. [17] [24]
La guía de estilo para desarrolladores de Google recomienda evitar el término maestro en la documentación de software, especialmente en combinación con esclavo . [25] [ ¿cuándo? ]
En 2020, GitHub cambió el nombre de la rama git maestra predeterminada a main . [14]
"Consideramos que 'amo/esclavo' fue el ejemplo más flagrante de corrección política en 2004", dijo Paul JJ Payack, presidente de The Global Language Monitor.