マスタースレーブ

出典: フリー百科事典『ウィキペディア(Wikipedia)』

マスタースレーブ: master-slave)は、複数の機器が協調して動作する際に、複数の機器の制御・操作を司る「マスター」機と、マスター機の一方的な制御下で動作する「スレーブ」機に役割を分担する方式のこと。

コンピュータにおけるマスタースレーブ[編集]

コンピュータにおけるマスタースレーブは、通信プロトコルのモデルの一種であり、1つのハードウェアプロセスが他の1つまたは複数のデバイスやプロセスを一方的に制御することをいう。デバイスやプロセス群でマスタースレーブ関係が確立されると、制御は常にマスターからスレーブに対して行われる。一群の同等のデバイスからマスターを1つ選び、他がスレーブとなる場合もある[1][2][3]マスター/スレーブという書き方もある。

  • クライアントサーバモデルでは、クライアントがマスター、サーバがスレーブである。
  • データベースレプリケーションでは、正式とされているマスターデータベースにスレーブデータベースを同期させる。
  • コンピュータバスでは、一般にCPUがマスター、周辺機器がスレーブである。ただし、バス上のトランザクションを発行するものがその時点のマスターとなる方式もある。
  • parallel ATAハードディスクドライブにはマスターとスレーブがあるが、マスターがスレーブを制御するわけではない。また、マスターがスレーブに何らかの意味で優先するわけでもない。マスターは単に0番のデバイスを意味し、スレーブは1番のデバイスを意味する。
  • Macintosh においては、Macintosh をThunderbolt ハードディスクドライブとして(つまりディスクスレーブモードで)起動する Target Disk Mode がある。これ以前の Macintosh では同様のFireWireSCSI Disk Mode が存在した。

ロボットにおけるマスタースレーブ[編集]

ロボットマニピュレータが完全自律動作できる判断力をコンピュータに持たせるのは困難であるため、マニピュレータの遠隔操作では、人の手元にあるマスターアームを操作し、その動きを遠隔のスレーブアームがトレース(追尾)する、マスタースレーブ式の遠隔操作が行われる。[4]

その他の例[編集]

論争[編集]

マスター(主人)とスレーブ(奴隷)という用語はしばしば論争の的となることがある。

2003年11月、ロサンゼルス郡は電子メールで出入り業者に対してこれらの用語を使った製品を納入しないよう要求した[5][6][7]。これに対してIT業界ではばかげた主張だとして取り合わない動きが大勢を占めた[8]。マスタースレーブという用語はデバイス内部で起きていることを正確に表した技術用語であり、かつて存在した奴隷制度とは何の関係もないというのがその理由であった(ポリティカル・コレクトネスも参照)。

一方で、こうした論争を避けるため、データベースの分野ではマスタースレーブの代替語として「プライマリー」や「レプリカ」といった語句を採用するケースもある。2018年には、プログラミング言語Pythonが論争の末、マスタースレーブを「ペアレント」や「ワーカー」「ヘルパー」といった語句に置き換えている。[9]

2020年6月より、ジョージ・フロイド抗議運動およびブラック・ライヴズ・マター運動の影響によりマスタースレーブの語句を取りやめる機運が起こり[10][11]、多数のIT企業・OSSコミュニティに急激に広がっている[12]


脚注[編集]

  1. ^ master/slave - a searchNetworking definition
  2. ^ Description of the Microsoft Computer Browser Service from Microsoft KnowledgeBase
  3. ^ Information on Browser Operation from Microsoft KnowledgeBase
  4. ^ SuperTAINS News No.19 [Page.3]”. 東北大学大学院工学研究科. 2013年10月15日閲覧。
  5. ^ Urban Legends Reference Pages: Inboxer Rebellion (Master/Slave) from www.snopes.com
  6. ^ L.A. County Bans Use Of "Master/Slave" Term from Slashdot
  7. ^ 'Master' and 'slave' computer labels unacceptable, officials say (Wednesday, November 26, 2003, CNN)
  8. ^ IDEの「マスター/スレーブ」という呼び方は差別的? CNET Japan、2003年11月27日
  9. ^ ‘Master/Slave’ Terminology Was Removed from Python Programming Language”. MOTHERBOARD (2018年9月14日). 2018年9月15日閲覧。
  10. ^ Katie Canales (2020年6月18日). “「マスター」「スレーブ」といったプログラミング用語の置き換えが加速”. ビジネスインサイダー. 2020年7月24日閲覧。 “オープンソース・ソフトウェアをホスティングする世界最大のサイトであるGitHubは、Black Lives Matter運動が広がる中、コードにおける「マスター」と「スレーブ」という用語の置き換えに取り組んでいる。”
  11. ^ 米ツイッター、プログラム用語の「マスター」「スレーブ」の利用停止”. CNN (2020年7月6日). 2020年7月24日閲覧。 “黒人男性のジョージ・フロイドさんが死亡した事件を受けて、使用している用語を変更する動きが出てきている。”
  12. ^ Catalin Cimpanu (2020年7月13日). “Linuxでも「ブラックリスト」「スレーブ」などの用語を変更へ”. ZDNet Japan. 2020年7月24日閲覧。 “これまでにTwitter、GitHub、Microsoft、LinkedIn、Ansible、Splunk、Android、Go、MySQL、PHPUnit、OpenZFS、Rust、JP Morganなどが、用語の変更を検討する動きをみせている。”

関連項目[編集]

外部リンク[編集]