[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

「/dev/random」と「/dev/urandom」の違い

スポンサーリンク

予備知識


用語意味
OSパソコンさんの人格に相当するソフト
UNIX昔流行ったOSの名前
ディレクトリコンピュータさんの世界における「書類入れ」
ファイルコンピュータの世界における「書類」
乱数ランダムで適当な数字

それぞれの用語の意味


用語意味
/dev/random乱数がいっぱい入ってるファイル
/dev/urandom乱数がいっぱい入ってるファイル

似ているところ


どちらも乱数がいっぱい入ってるファイルです。
UNIX系のOSで使われるファイルで、入力元として取ると乱数がいっぱい返ってきます。


違うところ


まず、当たり前ですがファイルの実体が違います。
「/dev/random」は「dev」ディレクトリの中の「random」ファイルで「/dev/random」です。


「/dev/random」と「/dev/urandom」の違い1

一方の「/dev/urandom」は「dev」ディレクトリの中の「urandom」ファイルで「/dev/urandom」です。


「/dev/random」と「/dev/urandom」の違い2

あとは、十分な乱数が蓄積されていないときの挙動が違います。
「/dev/random」「/dev/urandom」の中身の乱数は、OSさんが夜なべをしてちまちまと作っています。
とはいえ、適当な数字を一から考えるのはOSさんも面倒くさいらしくてですね。皆さんがキーボードをぺちぺち叩いたりするタイミングとかを元ネタに乱数を作ります。

皆さんがキーボードをぺちぺち叩くタイミングは人によって違いますよね?ということは、それはランダムな要素と言えます。OSさんは、そのランダムな要素を元に「/dev/random」「/dev/urandom」の中の乱数を作っているのです。

ですが、あまりキーボードを叩いていない場合もあります。そんなときは乱数を作る元ネタ、ランダムな要素が足りません。

そんな準備不足の中、あなたから「乱数ちょうだいよー」と依頼がきたとしましょう。
このときの動きが「/dev/random」と「/dev/urandom」では違うのです。

準備不足の中で「乱数ちょうだいよー」な依頼がきたとき「/dev/random」さんはお仕事を諦めます。「乱数ないっすー。そっちで勝手に何とかしろー」です。

それに対して「/dev/urandom」さんは適当に乱数を作って返してくれます。「乱数ないんだけど、間に合わせで作ってみました。これで何とかなりますかね?」です。

「/dev/urandom」さんの方が親切ですね。

これが「/dev/urandom」さんと「/dev/urandom」さんの違いです。


個人的な使い分け


基本的には何となくの乱数で事足りるので「/dev/urandom」を使っています。エラーになっても鬱陶しいだけですしね。


スポンサーリンク