オペレーティングシステムは、コンピューターやモバイル端末上で動作する主要なソフトウェアのことです。オペレーティングシステムはハードウェアを管理し、ほかのプログラムが動作するための基盤を提供します。例として、コンピューターでは Windows や Unix、モバイル端末では Android や iOS があります。
オペレーティングシステムは、端末の電源を入れたときに最初に読み込まれるプログラムです。ほかのプログラムは、画面への表示、入力の読み取り、ファイルの開閉や保存のためにオペレーティングシステムを利用します。
ファイルのメタデータでは、Operating System は一部のアーカイブファイルやネットワークキャプチャファイルに含まれるフィールドです。アーカイブ内では、そのアーカイブを作成したシステムの種類や、使用されたファイルシステムの種類を示します。
どのファイルがそれを持っているか
GZIP と RAR のアーカイブにはこのフィールドが保存されます。GZIP ファイルの拡張子は通常 .gz で、RAR ファイルは .rar です。それぞれのMIME タイプは application/gzip と application/vnd.rar です。
GZIP ファイルには通常、圧縮された 1 つのファイルが格納されます。GZIP は TAR というアーカイブ形式と組み合わせて使われることが多く、その場合の拡張子は通常 .tar.gz になります。
このフィールドを含むヘッダーには、圧縮方式や、アーカイブされたファイル名を含めることもできます。RAR ファイルにはさらに、非圧縮サイズも含まれます。
ZIP アーカイブには、同様のコードが「version made by」という名前のフィールドに保存されています。このコードは、各エントリのファイル属性がどのシステム向けに作られたかを示します。
PCAPNG 形式のネットワークキャプチャファイルにも、同じ名前のフィールドがあります。ここではコードではなく、Windows XP SP2 のような自由形式のテキストです。
値の由来
この値を人が手入力することはありません。アーカイブを作成するプログラムが、この値をファイルに書き込みます。
GZIP ファイルでは、この値は固定 10 バイトヘッダーの最後の 1 バイトです。GZIP 仕様では、このバイトは圧縮が行われたファイルシステムの種類を示すと説明されています。
zlib 圧縮ライブラリは、デフォルトで現在のオペレーティングシステムのコードを書き込みます。プログラムによっては、未知を意味する 255 を書き込む場合もあります。
RAR 5 形式では、このフィールドはアーカイブを作成したオペレーティングシステムの種類として定義されています。RAR 5 アーカイブ内の各ファイルは、この値を含む独自のヘッダーを持ちます。
値の見え方
アーカイブには数値として保存され、メタデータレポートでは通常、その数値に対応する名前が表示されます。GZIP 仕様では 15 種類の値が定義されています。そのうち 5 つを示します。
0: FAT ファイルシステム (MS-DOS, OS/2, NT/Win32)3: Unix7: Macintosh11: NTFS ファイルシステム (NT)255: unknown
これらの値の一部は、オペレーティングシステムではなく FAT や NTFS といったファイルシステム名を表します。かっこ内の名前は、そのファイルシステムを使用するシステムを示します。
RAR アーカイブでは、より短い一覧が使われます。
- 古い RAR 形式 (RAR 5.0 以前) のアーカイブ: 例として、
0MS-DOS、1OS/2、2Win32、3Unix などの値があります - RAR 5.0 形式のアーカイブ:
0Windows、1Unix
同じ数値でも、形式によって別のシステムを意味する場合があります。例えば、Unix は GZIP ファイルでは 3 ですが、RAR 5 ファイルでは 1 です。
それが重要な理由
この値は、別のシステム上でファイルを正しく扱うためにプログラムの助けになります。GZIP 仕様では、この値がテキストファイルの改行コードを決める際に役立つ場合があるとされています。
RAR 5 アーカイブでは、この値によってプログラムはファイル名や属性の読み取り方法も判断します。Unix ではバックスラッシュはファイル名で使用できる通常の文字ですが、Windows のファイル名では使用できません。
この値によって圧縮された内容そのものが変わることはありません。プログラムは GZIP ファイルを展開するときにこの値を無視してもよいので、255 であってもエラーではありません。
このフィールドをSoftware フィールドと混同しないでください。Software は、ファイルを作成したプログラムについての自由形式のテキストです。アーカイブ内の Operating System は、決められた一覧から選ばれるコードです。