マスタースレーブ
マスタースレーブ(英: master-slave)は、複数の機器が協調動作する際に、複数機器の制御・操作を司る「マスター」機と、マスター機の一方的な制御下で動作する「スレーブ」機に役割を分担する方式のこと。
コンピュータにおけるマスタースレーブ[編集]
コンピュータにおけるマスタースレーブは、通信プロトコルのモデルの一種であり、1つのハードウェアやプロセスが他の1つまたは複数のデバイスやプロセスを一方的に制御することをいう。デバイスやプロセス群でマスタースレーブ関係が確立されると、制御は常にマスターからスレーブに対して行われる。一群の同等のデバイスからマスターを1つ選び、他がスレーブとなる場合もある[1][2][3]。マスター/スレーブという書き方もある。
- クライアントサーバモデルでは、クライアントがマスター、サーバがスレーブである。
- データベースレプリケーションでは、正式とされているマスターデータベースにスレーブデータベースを同期させる。
- コンピュータバスでは、一般にCPUがマスター、周辺機器がスレーブである。ただし、バス上のトランザクションを発行するものがその時点のマスターとなる方式もある。
- parallel ATAハードディスクドライブにはマスターとスレーブがあるが、マスターがスレーブを制御するわけではない。また、マスターがスレーブに何らかの意味で優先するわけでもない。マスターは単に0番のデバイスを意味し、スレーブは1番のデバイスを意味する。
- Macintosh においては、Macintosh をThunderbolt ハードディスクドライブとして(つまりディスクスレーブモードで)起動する Target Disk Mode がある。これ以前の Macintosh では同様のFireWireやSCSI Disk Mode が存在した。
ロボットにおけるマスタースレーブ[編集]
ロボットやマニピュレータが完全自律動作できる判断力をコンピュータに持たせるのは困難であるため、マニピュレータの遠隔操作では、人の手元にあるマスターアームを操作し、その動きを遠隔のスレーブアームがトレースする、マスタースレーブ式の遠隔操作が行われる。[4]
その他の例[編集]
- ディーゼル機関車で非常に重い貨物を牽引する場合や急勾配を登る場合、複数台の機関車を連結する場合がある。このとき一台目の機関車をマスター、それ以外をスレーブと呼ぶ(スレーブの運転席は使用しない)。このスレーブの役割に特化した運転台のない補助専用機関車もあり、(マスターを務めることができる「Aユニット」に対し)Bユニットと呼ばれるこの種の機関車は、主にアメリカの鉄道で見られる。
- コンパクトカセットやコンパクトディスクなどのレコーダーを複数台使って同時に録音する場合、マスター側のレコーダーの操作でスレーブ側も同期して動作するように設定する。
論争[編集]
マスター(主人)とスレーブ(奴隷)という用語はしばしば論争の的となることがある。
2003年11月、ロサンゼルス郡は電子メールで出入り業者に対してこれらの用語を使った製品を納入しないよう要求した[5][6][7]。これに対してIT業界ではばかげた主張だとして取り合わない動きが大勢を占めた[8]。マスタースレーブという用語はデバイス内部で起きていることを正確に表した技術用語であり、かつて存在した奴隷制度とは何の関係もないというのがその理由であった(ポリティカル・コレクトネスも参照)。
一方で、こうした論争を避けるため、データベースの分野ではマスタースレーブの代替語として「プライマリー」や「レプリカ」といった語句を採用するケースもある。2018年には、プログラミング言語Pythonが論争の末、マスタースレーブを「ペアレント」や「ワーカー」「ヘルパー」といった語句に置き換えている。[9]
脚注[編集]
- ^ master/slave - a searchNetworking definition
- ^ Description of the Microsoft Computer Browser Service from Microsoft KnowledgeBase
- ^ Information on Browser Operation from Microsoft KnowledgeBase
- ^ “SuperTAINS News No.19 [Page.3]”. 東北大学大学院工学研究科. 2013年10月15日閲覧。
- ^ Urban Legends Reference Pages: Inboxer Rebellion (Master/Slave) from www.snopes.com
- ^ L.A. County Bans Use Of "Master/Slave" Term from Slashdot
- ^ 'Master' and 'slave' computer labels unacceptable, officials say (Wednesday, November 26, 2003, CNN)
- ^ IDEの「マスター/スレーブ」という呼び方は差別的? CNET Japan、2003年11月27日
- ^ “‘Master/Slave’ Terminology Was Removed from Python Programming Language”. MOTHERBOARD (2018年9月14日). 2018年9月15日閲覧。