Zum Inhalt springen

Master/Slave

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 6. April 2026 um 10:57 Uhr durch imported>Ulanwp (7 fehlende Sprachparameter eingefügt; 18 leere Parameter entfernt; 2 Parameter zugriff nach abruf konvertiert).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Master/Slave (englisch für Herr/Sklave) ist in der Informationstechnik ein kontroverser Begriff für die Form der hierarchischen Verwaltung von Zugriffen auf gemeinsame Ressourcen meist in Form eines gemeinsamen Datenkanals bei zahlreichen Problemstellungen der Regelung und Steuerung.

Aufgrund der Terminologie aus Zeiten der Sklaverei werden aus antirassistischen Erwägungen heraus in vielen Bereichen alternative Ausdrücke wie Controller/Peripheral verwendet.<ref>Sinclair Im: There’s an industry that talks daily about ‘masters’ and ‘slaves.’ It needs to stop. In: The Washington Post (Online-Portal). 12. Juni 2020, abgerufen am 23. September 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Grundproblem

Für die Datenübertragung steht nur ein gemeinsamer Übertragungskanal zur Verfügung (z. B. als Funkstrecke oder in Form eines Datenbusses). Wenn mehrere Teilnehmer gleichzeitig senden würden, könnte keine Übertragung mehr stattfinden, da dann auf dem Bus bei den empfangenden Teilnehmern nur noch verstümmelte Daten ankämen. Es muss also eine Möglichkeit geschaffen werden, dass sich die Teilnehmer im gegenseitigen Einvernehmen den Datenkanal zeitlich teilen. Eine Möglichkeit ist, das Master/Slave-Prinzip anzuwenden.

Arbeitsprinzip

Ein Teilnehmer ist der Master, alle anderen sind die Slaves. Der Master hat als einziger das Recht, unaufgefordert auf die gemeinsame Ressource, den Bus, zuzugreifen. Der Slave kann von sich aus nicht auf die gemeinsame Ressource zugreifen; er muss warten, bis er vom Master gefragt wird (Polling) oder über eine an der gemeinsamen Ressource vorbei gehenden Verbindung dem Master anzeigen, dass er gefragt werden will.

Vor- und Nachteile

Hauptvorteil ist, dass der Master die Zugriffsverhältnisse beherrscht: um ihn wird das System aufgebaut, was die Planung einfach macht.

Master-Slave-Architekturen können auch mit dem Token Bus kombiniert werden, wobei dann nur die Master den Token weitergeben.

Ein großer Nachteil ist, dass keine direkte Kommunikation zwischen Slaves möglich ist. Mithin ist das Abfragen (Polling) der Slaves durch den Master ineffizient.

Einsatz

Eingesetzt wird das Master-Slave-Verfahren zum Beispiel:

Master-Slave bei ATA/ATAPI-Geräten

Im Umfeld der ATA/ATAPI-Schnittstelle werden die beiden von einer ATA/ATAPI-Schnittstelle ansteuerbaren Geräte traditionell als Master drive und Slave drive bezeichnet. Dies steht im Gegensatz zu der oben beschriebenen allgemeinen Bedeutung, da beide angeschlossenen Geräte (z. B. Festplatten) in diesem Sinne als Slaves zu verstehen sind, während als Master der Host (normalerweise ist das der PC) fungiert. Nach offizieller Sprachregelung werden jene beiden Geräte Device 0 bzw. Device 1 genannt. Details hierzu unter ATA/ATAPI.

Master-Slave bei Steckdosenleisten

Steckdosenleisten nach dem Master-Slave-Prinzip (sogenannte Master-Slave-Steckdosenleisten) verfügen über eine Master-Steckdose und (in der Regel mehrere parallelgeschaltete) Slave-Steckdosen. Fließt ein bestimmter Mindeststrom in der Master-Steckdose, wird dies durch die eingebaute Elektronik erkannt, welche darauf auch die Slave-Steckdosen einschaltet. Schaltet man den Master-Verbraucher aus, werden auch die Slaves stromlos. In der Regel verfügt eine solche Steckdosenleiste auch über einen Knopf zur Einstellung der Ansprechempfindlichkeit und eine Signal-LED. Der Hauptvorteil ist, dass nur ein Gerät (Master) ein- bzw. ausgeschaltet werden muss, wenn mehrere elektrisch betriebene Geräte gleichzeitig betrieben werden sollen. Besonders beim Einsatz an einem Computerarbeitsplatz (PC = Master) dient eine solche Master-Slave-Automatik nicht nur der Bequemlichkeit, sondern sie verhindert außerdem, dass das Ausschalten von Peripheriegeräten wie Monitore, Drucker oder aktive Lautsprecher etc. vergessen wird. Nachteil ist ein geringer, permanenter Eigenenergieverbrauch der Steckdosenleiste, auch bei ausgeschalteten Geräten.

Kritik an der Terminologie

Die Terminologie ist seit dem frühen 21. Jahrhundert oft vermieden bzw. durch eine andere ersetzt worden, da die Begriffe „master“ und „slave“ an die Praxis der Sklaverei erinnern.

Eine Alternative für Datenbanken ist „primary“ und „replica“, welche in den Dokumentationen von IBM,<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig IBM Knowledge Center.] In: www.ibm.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 8. Mai 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Microsoft,<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Configure Database Replicas for Management Points.] In: technet.microsoft.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 8. Mai 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Engine Yard,<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Set Up Database Replication.] In: Engine Yard Developer Center. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 8. Mai 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Amazon Web Services,<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Working with Read Replicas of MariaDB, MySQL, and PostgreSQL DB Instances - Amazon Relational Database Service.] In: docs.aws.amazon.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 8. Mai 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> ACM,<ref>Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2</ref> Python,<ref>Vorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/Name Vorlage:Cite book/URL. Abgerufen am 12. September 2018 (english).Vorlage:Cite book/URL Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2</ref><ref></ref> Django,<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Fixes #22667. Replaced leader/follower terminology with primary/replica by fcurella · Pull Request #2694 · django/django.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Multiple databases.] In: Django Project. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 8. Mai 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Drupal,<ref>Vorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/Name Vorlage:Cite book/URL In: Drupal.org, 28. Mai 2014. Abgerufen am 17. April 2018 (english).Vorlage:Cite book/URL Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2</ref> CouchDB,<ref>Vorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/Name Vorlage:Cite book/URL (english).Vorlage:Cite book/URL Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2</ref> Redis<ref>Vorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/NameVorlage:Cite book/Name Vorlage:Cite book/URL (english).Vorlage:Cite book/URL Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2</ref> und MediaWiki (welche immer noch „master“ nutzt) verwendet wird.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Rename DB_SLAVE constant to DB_REPLICA · wikimedia/mediawiki@950cf60.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref>https://lists.wikimedia.org/pipermail/wikitech-l/2016-September/086450.html</ref>

Im Dezember 2017 entschied das Internet Systems Consortium die Wörter primary/secondary als Ersatz für die master/slave-Terminologie in ihrer DNS-Software BIND zuzulassen.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig ISC explanation via Twitter.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>

2003 forderte der Bezirk Los Angeles in Kalifornien Hersteller, Lieferanten und Auftragnehmer auf, die Verwendung von „master“ und „slave“ in ihren Produkten einzustellen; der Bezirk stelle diese Anfrage „basierend auf der kulturellen Vielfalt und Sensibilität von Los Angeles County“.<ref>CNN.com - 'Master' and 'slave' computer labels unacceptable, officials say - Nov. 26, 2003. Abgerufen am 7. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref><ref></ref> Nach Beschwerden über diese Anfrage gab der Bezirk Los Angeles ein Statement ab, in der dieser erklärte, dass die Entscheidung „nichts anderes als ein Antrag“ sei.<ref>CNN.com - 'Master' and 'slave' computer labels unacceptable, officials say - Nov. 26, 2003. Abgerufen am 7. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Nach dieser Kontroverse wählte Global Language Monitor, welches die Verwendung der englischen Sprache analysiert, die Begriffe „master/slave“ als das politisch inkorrekteste Wort von 2004.<ref></ref>

Die „Black Lives Matter“-Bewegung entfachte die Diskussion im Jahr 2020 erneut.<ref>Sebastian Grüner: Black Lives Matter: Linux-Kernel könnte "inklusive Sprache" bekommen. Golem.de, 6. Juli 2020, abgerufen am 6. Juli 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref><ref>Stephen Shankland: Tech terms face scrutiny amid anti-racism efforts. CNET, 10. Juni 2020, abgerufen am 6. Juli 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Die Modbus Organisation ersetzte im Sommer 2020 das Begriffspaar „Master/Slave“ durch „Client/Server“.<ref>Modbus Organization Inc.: Modbus Organization Replaces Master-Slave with Client-Server. 9. Juli 2020, abgerufen am 21. Oktober 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Einzelnachweise

<references />