哲学的ですかね(汗)
そもそもいきなり何だろうと。
30年以上もコンピュータとかシステムとかソフトウェアとか、そういう所で生きていると時々思うことです。
「仮想と実体」
私は学者ではないので、この言葉自体は感覚的に選んでいて学術的ではないので適当に聞いて貰えば良いのですが、似た状況で「論理(的)と物理(的)」という言い方をする時もあります。
コンピュータやソフトウェアの仕事をしていると必ずこの問題が出てきます。気にした事ないという人もいるかもしれませんが、実際には必ず関わっている。
何と言うか・・・「使っている」と言ってもいい。
例えば今どきのパソコンを使っていると、ファイルを扱う時に自分が意図しているファイルがどのフォルダ(ディレクトリ)にあるかが問題になります。ファイルシステムというのがあって、ファイルはどこかのフォルダにある。
フォルダは箱みたいなものでファイルをたくさん入れておける。それでファイルにも色々種類があっていろんなファイルを一つの箱に放り込んでおくと、何だか収集がつかなくなってしまうから、フォルダを種類ごとに用意するんだよと。
誰かにそう教わったはずです。教科書で勉強したかもしれない。それでフォルダは階層構造にすることができるんだよと。つまり、フォルダの中にはファイルの他に別のフォルダを入れておける。
フォルダの中のフォルダにもファイルやフォルダを入れておけるから、フォルダの中のフォルダにもまた別のフォルダを入れておけば、そこにもファイルやフォルダを入れておける。
こんなふうになっている。これを「階層構造」というんだよと教えられたはずです。それぞれのフォルダに種類を決めてファイルを分類しておけば分かりやすいですね。
上手いやり方ですね。これは1970年頃にUnix(ユニックス)というOSを造った人たちが、Unixのファイルシステムとして取り入れたものです。それが今のコンピュータの多く、特にパソコンに使われている。
それで結論を言うと、これは「仮想(的)」「論理(的)」なもので実際のファイルのデータはこのような構造の中で仕舞われている訳ではない。ユーザーから見た時にこういうもので、この状態を元に色々なファイル操作ができるという事だということです。
実際にはファイルの実体としてのデータはある単位の塊に分割されて、記憶装置(ストレージ)の「何処か」に保存されています。この塊は記憶装置の空きのどこに配置されるかはOSが決めてくれます。連続的に続けて保存されるかもしれないし、どこかに”飛び”があるかもしれない。いずれにせよ、ユーザーはそのことを気にする必要はなくて「階層構造」を意識していれば、ファイルを扱うことができます。
コンピュータの世界は、知ってか知らずか、そういう「仮想」の世界を元に扱っているのだということに気づくと、何処かで役に立つこともあるかもしれませんね。
コメント