差分

移動先: 案内検索

オペレーティングシステムとは何か

152 バイト追加, 2009年6月11日 (木) 11:07
/* さらなる仮想化の例 */
==== さらなる仮想化の例 ====
例えば、UNIXのMMAPと呼ぶ機能です。最近のUNIXは、mmapという機能を使って
プログラムは、ファイルを記憶空間に張り付ける (マップする) ことができま
す。主記憶、補助記憶装置のリソース区別が更に抽象化されプログラムの中で
使える記憶空間としてのリソースとなります。もちろん通常のプログラムに割
り当てられた記憶領域として、読み込み、書き込みすると、その内容がファイ
ルに反映されます。さらに、ファイルという形で、複数のプロセスから、共有
することができます。別のプログラムが、また、そのファイルをmmapを使って、
そのプログラムの記憶空間に張り付けることができます。
===== mmapとファイル =====
例えば、UNIXのMMAPと呼ぶ機能です。最近のUNIXは、mmapという機能を使ってプログラムは、
ファイルを記憶空間に張り付ける (マップする) ことができます。
主記憶、補助記憶装置のリソース区別が更に抽象化されプログラムの中で使える記憶空間としてのリソースとなります。
もちろん通常のプログラムに割り当てられた記憶領域として、読み込み、書き込みすると、その内容がファイルに反映されます。
さらに、ファイルという形で、複数のプロセスから、共有することができます。
ファイルシステムをさらに抽象化するLinuxのファイルシステムを紹介しましょう。Linuxの、ファイルシステムは、その下に、またMinix、MS===== VFSからデバイスドライバまで =====ファイルシステムをさらに抽象化するLinuxのファイルシステムを紹介しましょう。Linuxのファイルシステムは、上位にVFS (Virtual File System)が存在し、その下に、またMinix、MS-DOS、その他のファイルシステムをもち、さらにその下にバッファキャッシュをおき、その下ファイルシステムをもち、さらにその下にバッファキャッシュをおき、さらに下にデバイスドライバをおくという、何重もの層をにデバイスドライバをおくという、何重もの層を持ちます。プログラムは、持っている形になっています。Linuxのファイルを扱っているだけで、その下がMSプログラムは、Linuxのファイルを扱っているだけで、その下がMS-DOSのファイルシステムやMinixのファイルシステムであるかを知る必要はありません。しかも、その下Minix のファイルシステムであるかを知る必要はありません。には、ハードディスクやフロッピーディスクといった補助記憶装置とのやりとしかも、その下には、ハードディスクやフラッシュメモリ (例えばUSBメモリやSDカードなど)といったりをさらに改善するために、バッファキャッシュというクッションをおいてあ補助記憶装置との入出力効率を改善するために、バッファキャッシュというクッションをおいてあります。ります。その下に、装置をコントロールするためのデバイスドライバが用意さその下に、装置をコントロールするためのデバイスドライバが用意されている形になります。れています。このように重層的な構造にすることによって、抽象化を図っています。
<PRE>
匿名利用者