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

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

ファイル記述子

pointこの用語のポイント

pointファイルへの通り道に割り振られた番号だよ

pointファイルを識別するために使われるよ

スポンサーリンク

簡単に書くよ

ファイル記述子とは

「ファイルディスクリプタ」のこと。
つまり

ファイル(への通り道)に割り振られる番号で、ファイルを識別するための目印
です。

image piyo

詳しく書くよ

※このページの説明は「ファイルディスクリプタ」の説明と、ほとんど同じです。既に「ファイルディスクリプタ」の説明をご覧になった方は、読んでもあまり意味は無いと思います。

ファイルは、コンピュータさんの世界における「書類」ね。

ファイル記述子

ファイル記述子の勉強をするときには、このイメージを捨ててください。
ファイルは、書類ではありません。
紙パック入りのジュースです。

ファイル記述子2

「いきなり何言ってんだ?こいつ」と思うでしょうが、我慢して、お付き合いください。
ここでポイントとなるのは、紙パック入りのジュースに付いているストローです。

ファイル記述子3

例えば、ピヨ太君がファイルを開いたとしましょう。
いわゆる「file open」ってやつですね。
これは、紙パック入りのジュースにストローを指す行為に相当します。

ファイル記述子4

次に、ピヨ太君はファイルの中身を読み込みました。
「read」ってやつです。
これは、ストローに口を付けて、ジュースを「ちゅ~っ」と吸う行為に相当します。

ファイル記述子5

次に、ピヨ太君はファイルに書き込みました。
「write」ってやつです。
これは、ストローに口を付けて、空気を「ぶくぶくぶく~」と送り込む行為に相当します。

ファイル記述子6

最後に、ピヨ太君はファイルを閉じました。
これは、紙パックからストローを抜き取る行為に相当します。

ファイル記述子7

それを踏まえて、次に行きましょう。

ピヨ太君は、リンゴジュースとミカンジュースとイチゴジュースを一緒に飲んでいます。

もちろん、同時に飲んでいるわけではないですよ。
そんなことをしたら、口の中で味が混ざって美味しくありません。
リンゴジュースを「ちゅ~っ」と吸ったら、一息入れてミカンジュースを「ちゅ~っ」、さらに一息入れてイチゴジュースを「ちゅ~っ」です。

ファイル記述子8

おっと、1つ言うのを忘れていました。
ピヨ太君からは、紙パックが見えていません。

横着者のピヨ太君は、台所までジュースを取りに行くのが面倒くさかったのです。
そこで、すんごい長いストローを作って、居間から台所まで届くようにしました。
実際にジュースにストローを指すのは、ピヨ太ママにお任せです。

ファイル記述子9

これでピヨ太君は、居間にいながらにして、台所にあるジュースを味わえるわけです。
「素直にピヨ太ママに持ってきてもらえよ!」と突っ込んではいけませんよ。
ピヨ太君は、賢いけどアホなのです。

さて、すんごい長いストローでジュースを「ちゅーちゅー」しようと思ったピヨ太君ですが、ここで問題に気付きました。
どのストローを吸えば、どのジュースが出てくるのか、分かりません。

ファイル記述子10

これでは困ります。

そこでピヨ太君は、ストローに目印を付けておくことにしました。
ジュースの種類を書いておくことにしたのです。
「これはリンゴ」「こっちはミカン」「残りがイチゴ」みたいな感じですね。

ファイル記述子11

ふぃ~、これで問題は解決です。

リンゴジュースを飲みたければ、リンゴの目印が付いているストローを吸えば良いのです。
同様に、ミカンジュースを飲みたければ、ミカンの目印が付いているストローを吸います。
イチゴジュースを飲みたければ、イチゴの目印の付いているストローです。

ファイル記述子12

この話における、ピヨ太君がOSパソコンさんの人格に相当するソフト)とかプログラム、ジュースがファイルです。

ファイル記述子13

ストローは、ファイルに対するデータの通り道です。
ファイルの中身が行ったり来たりします。

ファイル記述子14

最後に、ストローに付けた目印が「ファイル記述子」です。
ファイルディスクリプタ」とも呼ばれます。
ファイルに対するデータの通り道を識別するために使われます。

ファイル記述子15

「ファイルに対するデータの通り道を識別するための目印」というのも、なんか長ったらしいですね。
要するに「どのファイルにつながっているよ!」を示す目印です。
ファイル記述子は「ファイルを識別するための目印」と言えるでしょう。

これがファイル記述子です。
紙パックのストローに付ける目印です。
具体的な仕組みとかは、専門的に説明しているところで情報を補完してください。

なお、留意事項としてUNIX系(Linuxとか)では、ファイル以外もファイルとして扱われます……と言われても、分からないですよね。

細かい説明は端折りますが

標準入力キーボードからの入力
標準出力:画面への出力
標準エラー出力:画面への出力


に対する操作も、ファイルにあれこれするのと同じようなやり方で行うのです。

よって、標準入力、標準出力、標準エラー出力、それぞれに対して、ファイル記述子が割り当てられています。

よく分からない方は、パソコンさんが起動すると、いきなりジュースを3つ飲む準備をすると思ってください。

1.「標準入力」ジュースを飲む準備OK!あっ、目印は「0」ね
2.「標準出力」ジュースを飲む準備OK!あっ、目印は「1」ね
3.「標準エラー出力」ジュースを飲む準備OK!あっ、目印は「2」ね


です。

ファイル記述子16

つまり「0」から「2」までのファイル記述子は

0:標準入力
1:標準出力
2:標準エラー出力


と決まっています。
パソコンさんが動き出した時点で、割り当てられるのです。

よって、自分で開いたファイルには「3」以降の数字が割り当てられます。
また、標準入力や標準出力、標準エラー出力に何かしたいときは「0」から「2」のいずれかを指定することになります。

image piyo2

一言でまとめるよ

まぁ「ファイル記述子」って単語が出てきたら「ファイル識別用の目印となる番号なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク