demonとdaemon【Linuxデーモンは悪魔じゃねぇ!むしろ】

9.20.2019

IT 単語

t f B! P L


今回のお勉強トピックは、demonとdaemonです。

システムエンジニアを目指している人やコンピュータサイエンスの初学者に「?」を突き付ける、あの「デーモン」です。

このブログは英語のお勉強ブログとしています。そして一応ぼくはシステムエンジニアを生業にしているので、どっかで調べて書きたいなと思っていたトピックなんです。

「先輩、デーモンってなんすか?」
「あぁ、あれは悪魔って意味だ。サーバの中には悪魔がいるんだ」
「???」

新人をからかうネタのうちの1つという感じでしょうか。ぼくも新人の頃に先輩にこんな教え方をされました。

そんな風に使われているIT業界のデーモンという単語。これ実際はどういう意味をもつ単語なんでしょうか?今回はこれをお勉強していきたいと思います。

Let's get started!!!

IT業界で使われるデーモンの意味

IT業界におけるデーモンの意味をまとめます。まずはWikipediaの該当ページを引用します。


デーモン (英語: Daemon) は、UNIX, Linux, MacOSXなどUnix系のマルチタスクオペレーティングシステム (OS) において動作するプロセス(プログラム)で、主にバックグラウンドで動作するプロセス。

デーモン(daemon)はUnixやLinuxの世界で使われる言葉です。Unix、LinuxというのはコンピュータのOSの一種ですね。主にサーバコンピュータで使われることの多いOSです。

プロセスってのは動作中のプログラムのことを指します。コンピュータの中で仕事をしている人って例えたりもしますね。そのプロセスの中でもコンピュータを使ってる人に見えない裏側で動作するものをデーモンといいます

現実的にサーバを操作するなかでは、プロトコルや機能の名称の後にデーモンであることをあらわす「d」をくっつけて、httpd, ftpd, crond という名称になっていることが多いです。

同じ意味の言葉としては「サービス」ってのもあります。これは主にWindowsで使う言葉ですが、一緒にしちゃってデーモンも含めて全てをサービスと呼ぶ人も一定数います。

広義で解釈すれば実行中であるサーバソフトウェアのプロセスともとることができると思います。たとえばサーバ上で実行しているWebサーバプログラム(ApacheとかNginXとか)だったり、FTPサーバプログラムのプロセスをマルっとデーモンといいます。

英単語としてのdemonとdaemon

英語お勉強ブログなので、趣旨を外さないように英単語としての意味をおさえていきます。

語源を調べてみよう

単語だけに限りませんが、その成り立ちを調べることは、理解・記憶のための第一歩です。単語の成り立ち、すなはち語源をみてみましょう。
NOTE:demon,daemonの語源
da- <PIE:インドとヨーロッパあたりで使われていた英語の祖先>
to divide(分割すること)
 ↓
dai-mon- <PIE>
divider(分配者), provider(供給者)
 ↓
daimon <ギリシャ語>
deity(神), divine power(神の力);lesser god;guiding spirit,
tutelary deity(守護神);one's genius, lot, fortune
 ↓
daemon <ラテン語>
spirit
 ↓
demon (1200年ごろ)
an evil(邪悪), malignant supernatural being(悪性の超自然的存在),
an incubus(悪夢), a devil

ふむふむ、おおもとは分割することが根っこの根っこなんですね。そこから分配する人、供給する人という意味を持つようになったと。分配する人はモノをくれる人ですから強い力を持つ存在です。そこから神、神の力という意味を持つようになった。ラテン語の世界ではそれがspirit(魂)になり、最後に1200年ごろなぜか悪い方の意味を持つようになった。

ぶっちゃけラテン語のspiritあたりから理解がついていかないですが、まぁ語源っすからね。「何でそういう風に変わっていったんだい?ぼうや」と疑問を持ってもしゃーないです。あきらめてそういうものと理解してしまいましょう。

面白いと思ったのは、demonの成り立ちのなかにdaemonがいることです。スペルが似てる単語ですが、無関係ではないのですね。

demonとdaemonの意味

demonとdaemonをそれぞれ辞書で引いてみましょう。
NOTE:demonの意味 [díːmən] 名詞
悪霊、鬼、悪魔、鬼のような人
名人、達人
Merriam-Webster
: an evil spirit
: a source or agent of evil, harm, distress, or ruin
: one that has exceptional enthusiasm, drive, or effectiveness
Oxford
An evil spirit or devil, especially one thought to possess a person or act as a tormentor in hell.
A forceful or skilful performer of a specified activity.
another term for daemon

そうですよね、悪魔ですよね。それは知ってます。

知らなかったのは、名人とか何かに熟練した人のことをdemonという単語で表現できることです。これ、例文をみて「あー」と納得したんですが、”a demon for work” (Merriam-Webster)という表現。これたぶん「仕事の鬼」という訳になりますよね。Oxfordでは、”a friend of mine is a demon cook”「ぼくの友達は料理の鬼だ」という例文が掲載されていました。


続いて、daemonの方の意味。
NOTE:daemonの意味 [díːmən] 名詞
(ギリシャ神話)ダイモン(人間と神の中間の霊。半分が神、半分が人)
守護神
Unixにおけるバックグラウンドで実行されるプログラム
Merriam-Webster
: demonの代替スペル
: an attendant power or spirit : GENIUS
: a supernatural being whose nature is intermediate between that of a god and that of a human being
: a software program or process that runs in the background
Oxford
(in ancient Greek belief) a divinity or supernatural being of a nature between gods and humans.
An inner or attendant spirit or inspiring force.
archaic spelling of demon
A background process that handles requests for services such as print spooling and file transfers, and is dormant when not required.

こっちはこっちでまた面白い。daemonはdemonの代替スペルなんですと。つまりUnix, Linuxのdaemonは単語の意味だけ考えれば、悪魔でもあるってわけですね。あと発音がまったく同じである点も面白い。

ちなみにUnix, Linux世界でのデーモンは守護神の意味に由来があるらしいです。裏でこっそり力を発揮して守ってくれる存在、みたいな意味です。

コンピュータ的な意味だと、Merriam-Websterは「バックグラウンドで動作するソフトウェアまたはプロセス」と表現しています。Oxfordは「印刷やファイル転送といったサービスを提供するために要求を処理するバックグラウンドプロセス。要求がないときは寝てる。」とあります。


デーモンの例文

ここでデーモンの例文を見てみましょう。

まずはOxfordに掲載されていた例文から2つ。
Oxford Dictionary
  1. The slave component is run as a daemon (Unix) or system service (Win 32).
  2. You are also given a list of daemons/processes to start automatically at boot, and you can enable or disable them as you see fit.

1つ目は、「デーモンとして走らせる」という意味で使われています。最近IT業界では「slaveという単語は使わないようにしようぜ」という話が出てきているので、ちょっと古い例ですね。2つ目は「ブート時に自動起動するデーモンのリスト」という意味になっています。


次はYour Dictionaryから。
Your Dictionary
  1. Then you have to go fetch and install an ARP daemon.
  2. Find the PID number of the inetd daemon by using ' ps ' .
  3. In particular, do not run a telnet daemon; use the secure shell daemon instead.
  4. Step 7: start the daemon proper, and enable it to start automatically at startup.
  5. Then do ' kill -HUP PID ' to restart the daemon.
  6. run as a daemon which executes continuously, handling requests.

1から3は (プロトコル or 機能)+daemon の形で使われています。ARPデーモン、inetd(デーモン)、telnetデーモンみたいな感じ。4は何かの手順でしょうね、”Start the daemon” という表現です。5もそうですね、"restart the daemon"。6はOxfordの例文にもあった、"run as a daemon"


英語表現でデーモンを使う時はだいたいこういう使い方になっています。
  • (プロトコル or 機能)+daemon 例:ARP daemon
  • run as a daemon
  • a list of daemons
  • start(restart) the daemon

ふぅ、なかなか めんどくs 興味深いエントリでした。

おわり

Profile

自分の写真
アラサー(ティーファイブ)、♂ IT業界でショッカーみたいな立ち位置の仕事をしています。昔から憧れていたバイリンギャルを目指し、英語の勉強に明け暮れる毎日。このブログは勉強ログとして書いています。よろぴく。

ラベル

IT (5) TOEIC (23) イディオム (4) セブ島留学 (2) その他 (2) 雑記 (12) (4) 単語 (53) 読書感想文 (1) 発音 (3) 表現 (6) 文法 (2)

ブログ アーカイブ

QooQ