ファイルシステムとは?身近な便利機能をわかりやすく解説

更新日:2020年03月19日 発注カテゴリ: Webシステム開発
ファイルシステムとは?身近な便利機能をわかりやすく解説

WindowsやMAC、iOS、Andoroidと、いろいろなOSが身近な存在となっています。これらのOSを使っていく上で、切っても切ることができないシステムが「ファイルシステム」です。利用する人のファイル操作を簡単にしてくれる便利機能です。普段、何かしらのにファイルを開いたり保存したりしていると思いますが、これはファイルシステムあってこそできることです。このように私達がパソコンなどを使うとき、人間が使いやすいように多くのシステムが動作しています。さて、そんな意識せずとも使っているファイルシステムですが、アプリ開発などIT業界に携わるのであれば、知っておかないといけないことです。

関連する記事

ファイルシステムとは

ファイルシステムとは「ファイルの管理を容易にしてくれるシステムのこと」で、OSに搭載されている機能の1つです。このファイルシステムを身近なところでガンガン利用しているといえば、スマホで撮影した画像ファイル管理になります。

何気に使っているカメラですが、裏ではAndoroidやiOS上で動作しているファイルシステムを駆使しているのです。イメージとしては、OSさんの上で動いている撮影アプリが取得した画像データをファイルシステムさんが分かりやすくアルバムに並べてくれているといったところでしょう。

正直なところ「当たり前のことすぎてイメージができない」という人もいらっしゃるかと思います。スマホを扱っていれば、当たり前のように画像が保存され、当たり前のように画像を好きなときに見ることができて、不要になれば簡単に削除することができるわけですから。そんな当たり前のことを、さも凄いことのように言っているのでイメージがしにくくて当然です。

ファイルシステムとは、まさにこれが狙いで構築されたシステムなのです。このように、誰でも簡単にファイル操作できるようにすることが目的と理解してもらえれば問題ありません。つまり、ファイルシステムとはOSさんが人間さんに扱い易いようにと気遣って搭載している機能だというわけです。

ファイルシステムの役割とは

ファイルシステムの大まかな役割は、先ほど説明した通り「誰でも簡単にファイル操作できるようにすること」となります。とはいえ、具体的にどのようなことをしているのか?と気になるところですよね。以下よりは、もう少し深くお話をしていきたいと思います。

ファイルを指定の場所へ保存することができる

ファイルシステムの基本中の基本といえる機能になります。WordやExcelを始め、メモ帳など、ファイルを保存するとき、何処の場所に、どのような名前で保存をするのか?と決める場合があります。これは、ファイルシステムが「何処に保存をするの?」「なんていう名前で保存するの?」と聞いてくれて、分かりやすく保存をしてくれているのです。

ファイルに対して暗号化することができる

基本的にファイルは誰でもアクセスすることができます。これでは、大切なファイルを保管している場合、セキュリティ上、大きな問題になってしまうことになります。これを防ぐために、ファイル単位で暗号化して守ることができる機能も持っているのです。アプリ開発をする場合、保存するファイルの重要性をチェックして、この機能を使うのか?を決めていくといいでしょう。

ちなみに、Excelを始め、ファイルを開くときに「パスワード」を設定することができます。よく勘違いしている人がいますが、これは、あくまでも、そのアプリケーションが持っている機能であって、ファイルシステムの機能ではありません。

ファイルのメモリ領域の圧迫を避ける

保存したファイルが大容量のものとなると、いくらハードディスク領域が大きくなった昨今でも直ぐに圧迫をしてしまいます。そのため、この圧迫を避けるために「ファイルを圧縮する」という機能を持っています。また、1つのファイルをさまざまな場所に細切れにして保存していく機能ももっています。

後者の「細切れ機能」は少し難しい話になるため、深く説明はしませんが…イメージとしては、ハードディスク上に隙間となっている場所を見つけて、大きなデータを分割して、ちょっとずつ入れていくといったところです。

ファイルシステムが不要な場合ってあるの?

これまでの説明で、ファイルシステムが重要な機能だということは少なからず伝わったかと思います。逆に「ファイルシステムのような便利機能が不要な場合ってあるの?」と感じた人もいるかもしれません。もし、このような質問があれば「いい質問ですね!」と返したいところです。というのも、不要な場合は、実際のところあるからです

具体的には、組込系ソフトの世界になります。先ほど、ファイルシステムは「対人間さんに分かりやすくしている機能のこと」と説明をしました。組込系ソフトは、対機械となるため、別に人間さんに分かりやすくする必要はないのです。単純な話ですよね。

そもそも、ファイルシステムを利用するためには多くのメモリ領域を使用することになります。メモリ領域の使い方にシビアな世界になる組込系は、余分な機能を少しでも削ぎ落として、必要最低限の動きをさせることが重要になります。その結果、ファイルシステムは搭載しないわけなのです(もちろん、状況によっては組込系ソフトでも、状況によってはファイルシステムが必要な場合もありますが…)。

ファイルシステムの種類

ここでは、どのようなファイルシステムがあるのか?について触れていきます。「こういう種類があるのか」と理解ができればいいので、サラッと簡単に説明だけをしていきます。

FAT

昔ながらのファイルシステムで、OSはWindowsがベースとなります(厳密にはMS-DOS上でも可能)。今もなお現役で使われています。過去、FAT12、FAT16、FAT32と機能が拡張されています。2020年現在では、FAT32が利用されます。拡張されたFATによって、対応しているWindowsOSバージョンが異なるため注意が必要です。

NTFS

FATの上位互換したものになります。昨今、主流となっているシステムとなります。FATよりもセキュリティ面などで高い性能を見せてくれます

HFS+

MAC OS 8.1で導入されたシステムです。ファイル単位の暗号化も可能でセキュリティ的に堅牢なシステムとなっています。

APFS

2020年現在、MAC系のOSで主流となっているファイルシステムです。ファイルのコピー速度などが早いとレスポンスの良さが特徴となっています。

XFS

主にLinuxで活用されているファイルシステムです。セキュリティ面では強い特徴を持っていますが、一度、ファイルを削除してしまうと復元することができないデメリットも持っています。

ファイルシステムを使うための準備「変換機能」について

まず「変換機能ってなに?」という部分を簡単に説明します。ファイルを保存するためには、ハードディスクが必要になりますが、そのハードディスクに対して、ファイルシステムの変換とは「このファイルシステムを使うよ」と教えてあげるというイメージになります。

また、ファイルシステム側にも「このハードディスクを使うからね」と教えてあげる機能も持っています。先で「ファイルシステムの種類」と説明した通り、いろいろとあるので"変換"という機能を使って調整をしていくわけです。

1つ注意しておきたい点は、ファイルシステムの変換ができる場合と、できない場合があるということです。たとえば、使用しているOSがWindowsの場合、まったく異なるiOSのファイルシステムへの変換はできないということです。あくまでも「変換ができる」前提で、以下より説明をしていきます。

フォーマット機能を使って変換

ハードディスク上の情報を、すべてまっさらな状態にしてからファイルシステム変換を行う方法になります。まっさらにする方法は大きく2つあって、クイックフォーマットと通常のフォーマットです

前者は、あくまでもファイルシステムを変換して、紐付けられている情報をキレイにする方法です。したがって、内部データはそのままとなっているため、元のファイルシステムに戻すなどデータの復元することが可能です。

後者の通常フォーマットは、完全にデータを消去してファイルシステム変換をする方法になります。ハードディスクの容量が大きさに比例して掛かる時間が変わってきます。

コンバート機能を使って変換

コンバート機能は、かなり限定的な方法ということを先に断っておきますね。というのも、FATからNTFSに変換するだけの方法だからです。逆のNTFSからFATはできません。これに加えて、FATからNTFS以外の種類への変換も不可能となっています。

変換方法に関しては、少し技術力が必要になってくるため、簡単な説明だけとします。

  • 1) マイコンピュータを右クリックしてフォーマットするドライブを選択
  • 2) 表示されたポップアップ内にある「ボリュームラベル」を指定して「クイックフォーマット」をチェック
  • 3) フォーマットを実行

「ファイルを扱うシステム」を開発するなら必須のシステム

ここででは、ファイルシステムの必要性について、アプリ開発を依頼する視点でお話をします。ファイルを扱う以上、ファイルシステムを活用することは理解できたかと思います。では、具体的にどのようなアプリ開発をする場合にファイルシステムを意識しないといけないのか?と疑問が残るところです。

平たく言えば、アプリケーションを使って何かしらのファイルをメモリ上に保存する場合は、ある程度は、意識する必要が出てきます。どうして「ある程度」と表現したかと言うと…開発したいアプリケーションが動作するOSをどうするか?で決まるからです。

たとえば、Windows10のみで動作保証するアプリだった場合、特に意識する必要はありません。単純にNTFSだけを考えればいいからです。しかし、Windows95での動作保証をするのであれば、FAT16でも保存できるように作っていかないといけません。さらに、スマホのAndoroidだったり、iOSだったり、他のデバイスとも連携をしていくのであれば、さらにファイルシステムについて考えていかないといけないわけです。

繰り返しになりますが、ファイルシステムはファイルを扱うアプリケーション開発であれば必須のシステムです。ですが、何処まで対応をするのか?は、制作するアプリケーションを「何処まで動作保証をするのか?」で大きく変わってきます。当然、多くのOSで動作させるのであれば、比例して開発費は高くなっていきます

まとめ:意識しなくてもいいけど意識しないといけない

ファイルシステムとは、使う側からしたら意識をしなくてもよい機能です。ただ、アプリ開発するという視点であれば、状況によりけりで意識をしないといけません

ちなみに、アプリ開発を依頼する立場であれば、基本的なことを抑えておけば問題ありません。たとえば、ジャーナリングだったり、クラスタだったり…さらに深い知識は不要ではあります。もちろん、知っていた方が有利であることは間違いありませんが、ここまでいくと技術者レベルのお話になってきます。

ともあれ、ファイルシステムという機能があって、人間さんがファイル管理しやすくしてくれているモノと頭の片隅に入れて開発の依頼をしていくといいです。

Webシステム開発を一括見積もりで発注先を楽に探す
比較ビズへ掲載しませんか?

Webシステム開発に関連する記事

Web制作会社・システム開発会社に関連する記事

カテゴリ一覧

人気記事

Webシステム開発の最新記事

一括見積もりで発注業務がラクラク!

  • 無料一括見積もりで募集開始
  • 複数の業者・専門家から提案が入る
  • ピッタリの一社を見つけよう

不透明な見積もりを可視化できる「比較ビズ」

比較ビズは「お仕事を依頼したい人と受けたい人を繋ぐ」ビジネスマッチングサービスです。
日本最大級の掲載企業・発注会員数を誇り、今年で運営15年目となります。
比較ビズでは失敗できない発注業務を全力で支援します。

日々の営業活動で
こんなお悩みはありませんか?

営業活動でよくある悩み

そのお悩み比較ビズが解決します!

詳しくはこちら
お電話での見積もりはこちら