0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「FAT ファイルシステム」について調べてみた。

Last updated at Posted at 2024-06-18

この記事について

組み込み会社で新人の私が、ファイルシステムに関して勉強がてら、
「SD」や「USB」など、記憶装置をフォーマットする際に出てくる「FAT」ってなんだろ軽く知りたいなという人向けにまとめてみたものです。

まず「ファイルシステム」とは?

記憶装置(半導体メモリや磁気ディスク、光学ディスクなど)にデータを記録・管理するための方式です。

日常生活で例えると、
書類をバインダーや棚に格納して管理するのと同じ様に記憶装置上でデータをファイル、ディレクトリの形式で管理をすることが可能なものです。

またパソコンの話で例を上げると、
Aドライブに存在するBディレクトリ下のC.TXTファイルを「A:\B\C.TXT」と言ったフルパスで特定・管理をすることができるものです。


ファイルシステムはどこで使う?

ファイルシステムは、
ハードディスクやフラッシュメモリドライブなどのストレージデバイスに保存されたファイルを扱うために使われます。

File(ファイル)」とは、
何らかのデータ以外に、ファイル名、拡張子、作成日時などの情報を持っており、コンピュータでデータを扱いやすくしたもの です。
動画や写真、テキストなどが含まれます。


「FAT(ファット)」とは何なのか?

「FAT」とは、

「File Allocation Table (訳:ファイル配置テーブル)」の略、データの配置を管理する手段であり、ディスク内のファイルの位置情報などを記録するための領域(テーブル)です。

それがそのままファイル・システムの名前になり、「FAT ファイルシステム」となっています。

FAT FileSystem(ファット ファイルシステム)」は、
Microsoft社が開発したファイルシステムであり、1977年に「FAT12」が開発されて以降、FATをベースとした「FAT16」,「FAT32」,「exFAT」といった新しい規格が開発されています。

ちなみに、このファイルシステムが事実上の標準となったのは
MS-DOS(Microsoft disk operating system)の時代(1981年~)からで、以前はMicrosoft DISK-BASICのファイルシステムであったようです。

ファイルシステムの種類について
ファイルシステムは数多くの種類が存在しており、

  • windows系」(Microsoftが開発したファイルシステム)
    • ーーーーーーーーーーーーーーーーーーーーーーー
      • FAT」(File Allocation Table)
      • NTFS」(New Technology File System)
      • exFAT」(Extended File Allocation Table)
    • ーーーーーーーーーーーーーーーーーーーーーーー
  • LinuxなどのUnix系
    • ーーーーーーーーーーーーーーーーーーーーーーー
      • Ext」(Extended File System)
    • ーーーーーーーーーーーーーーーーーーーーーーー
  • Mac OSiOS系」(Appleが開発したファイルシステム)
    • ーーーーーーーーーーーーーーーーーーーーーーー
      • HFS」(Hierarchical File System)
    • ーーーーーーーーーーーーーーーーーーーーーーー

など上記は代表的なファイルシステムの一部ですが、
製品ごとに使用をしているファイルシステムは違ってきます。

「FAT」領域について

まずメモリは、
下図のように「MBR」「FAT」「DATA」など、各管理領域が存在しており
そのうちの黄色のFAT1、FAT2の所が、FATの領域になります。
※「FSINFO」はFAT32のみ存在する。

このFAT領域では、「データ領域の割り当て表」を作成しています。

「FAT○○」の違いは?

FAT12/16/32、各それぞれの違いは下表のようになっています。

  • FAT12 」は、12bit のFATを持っております。
    現在では、ほとんど使われることはないと思いますが、主にフロッピーディスクや小容量のメモリカードに使われています。
  • FAT16 」は、16bit に拡張されたFATを持っております。
    登場した当時、対応OSが「Windows95」や「Windows3.1」などになり、主に小容量のメモリカード(SDカードなど)へ使われるようになります。
  • FAT32 」は、32bit 化されたFATであります。
    FAT16と比べて、最大容量が2TBと大きく「ディスクを効率的に使用できる」特徴があります。
    また、FAT32の登場は1996年~となりますが、現在でも「windowsとmacの両方で認識ができる点」や「USBメモリをブート可能にする点」で使われたりします。

最大容量が2TBを超える場合や、最大ファイルサイズが4GBを超えるといった、ボリュームとファイルサイズの制限、ほとんどすべてのプラットフォームで動作させたい場合は「exFAT」を使用する必要があります。

終わりの「ひとこと」

この記事を書くまでは「FAT」という言葉すら知らなかったのですが、今ではFATファイルシステムを使った組み込みの製品は日常生活でそこらへんにゴロゴロあり、縁の下の力持ち的な存在でこっそり私たちの生活に溶け込んでいたのだなと、しみじみ感じました。
皆さんも、知識を入れて縁の下の存在に気が付いたら少しだけ目を向けてみてください。
ちょっとだけ日常に深みが出てくると思います。

次回は、「セクタ・クラスタ」について調べようと思います。
もし、よろしければまた見にきてください。

関連記事

次の記事はこちらです。

組み込み開発技術ブランド「Cente」


注釈

[1] : MS-DOS(Microsoft disk operating system):米国マイクロソフト社が16bit・32bitパソコン用に開発したオペレーティングシステム

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?