アプリ版:「スタンプのみでお礼する」機能のリリースについて

コンピュータに保存したファイルを各アプリケーションで管理せずOSで管理する理由ってなんでなんですか?詳しく教えていただければ嬉しいです。

A 回答 (6件)

「保存したファイル」と「管理」の意味がよくわかりませんが、アプリケーションプログラムではなくOSが実際にファイルを読み書きしてくれるという意味であれば、たとえば次のような理由があります(挙げればきりがありません)。



・そもそも「ファイル」という概念はOSの概念である(系統的にファイルを管理できる仕組みのことを「ファイルシステム」と呼びます)
・記憶装置に情報を書いたり読んだりするのは、機械操作を伴うためアプリケーションプログラムで作成すると結構大変
・アプリケーションプログラムごとに記憶装置に勝手にデータを書き込んだりすると、部分的に他のアプリケーションプログラムが利用している領域を侵害する可能性があるため、記憶装置上の書き込まれる番地を「アプリケーションプログラムを利用する人」が確実に管理しなければならない

昔のパソコンでフロッピィディスク1枚で起動するようなアプリケーションプログラムでは、たとえばゲームだとすると、セーブデータは「ディスク裏面トラック10の第5セクタには主人公のHP、MP、装備の情報」みたいな感じで物理的な位置を指定して書き込みをしていました。当時なぜこれでうまくいっていたかというと、そのコンピュータが起動している間はそのアプリケーションプログラムだけがシングルタスクで動いていて、そのフロッピィディスクもそのアプリケーションプログラム専用のものだったためです。可変長データを扱う場合には、MSでいうところのFile Allocation Table(FAT)的なものをアプリケーションプログラムで独自に用意して、データの物理的な配置場所を管理していました(これは、現代のOSのファイルシステムに通ずるものがあります)。

つまり、シングルタスクの場合は、他の誰にも邪魔されることなくコンピュータシステム上のリソースを占有することができたことが大きいです。逆に、マルチタスクになった時点でこれらを交通整理するものが必要になり、それをOSが担っているのです。
    • good
    • 0

それは、Windows OS で特有の考え方ですね。

Unix や Linux では、アプリケーション単位で管理しています。ファイルは、単独で存在していても意味がありませんから。

Windows OS は、そういう意味では不完全な OS なのですが、ユーザーに管理を任せているので、かなり自由にファイルを扱うことができます。

フォルダを作成して、それに好きなファイルを集めたり、異なるアプリケーションのファイルを混在させたりできます。かなり自由度が高いので、便利と言えば便利なのですが、管理と言う面では殆どできていませんね(笑)。

Windows OS は、ユーザーが自由にシステムを操作できるのが利点で、それが良くも悪くも、ユーザーを増やして行った理由ではないでしょうか。まぁ、そんなことはあまり意識されていないようですが。

何んというか、中途半端な感じはあるのですが、それ程エキスパートでなくても、使いこなすことが可能のような気がします。

Unix や Linux はエキスパート用で、Mac はビギナー用に作られていますが、Windows OS はそのどちらでもない感じがします(笑)。適当と言えば、適当なんですよね!
    • good
    • 0

ファイルという概念自体がOSが用意したものだからです。

なおWindowsやLinuxなんかのOSではファイルは基本的に単純なバイトストリームとして扱いますが、メインフレームなどでは全く異なる構造になっています。
    • good
    • 0

この土地は誰の持ち物かという土地の所有権を各個人で管理せず、国の登記所で管理する理由はわかりますか?


それと同じです。
    • good
    • 0

アプリケーションとデータの独立がコンピュータの使いやすさに大きく貢献しました。


ファイル形式を同じにすれば、同じファイルをいろんなアプリケーションが作ることも使うこともできるからです。
OSが扱える範囲内ですが。
OSが管理しているように見えるかもしれませんが、OSの下でいろんなアプリケーションが同一ファイルを扱うことができているからです。
OSが無ければできないことです。
    • good
    • 0

コンピュータに保存したファイルの管理は、


ファイル管理と言うアプリケーションで行います。
OSに、直接ファイルを管理する機能は有りません。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!