メモリの名前は、歴史的な背景があり、習慣があって、話が噛み合わないことがしばしばある。
OSの動作で、どこかに何かのデータが残っていて、悪さをすることがしばしばある。
悪さをする可能性のある事項
-
ファイルキャッシュ
アプリケーションが読み書きするファイル処理を高速化するため、一度読んだファイルは、メモリ上に展開した場所を編集し、一定時間はファイルを保存せずに、メモリとの間の読み書きだけにすることがある。
ここでは、ブラウザの読み込み対象ファイルは、ファイルキャッシュとして考える。 -
アプリキャッシュ
アプリケーションの設定など、アプリケーションの処理対象のファイルではなく、設定などの管理データをメモリ上に展開し、終了時などに保存するようにすることがある。 -
ディスクバッファ
ファイル単位ではなく、ディスクの特定の場所の読み書きを、メモリ上に展開し、読み書きする。
ディスクの索引などの場合もある。 -
通信バッファ
ファイル単位ではなく、通信のまとまりごとにメモリ上に短径し、読み書きする。 -
ユーザバッファ
ユーザの設定で、ファイル単位であるかどうかに関わらず、メモリ上に展開して読み書きしている。 -
OSバッファ
ディスクバッファ、通信バッファ以外のOSの機能について、ファイル単位であるかどうかに関わらず、メモリ上に展開して読み書きする。
解消方法
-
ファイルを保存する。保存したファイルを開く
ファイルキャッシュが悪さをしているかもしれないときは、ファイルを保存する。
保村したファイルを開いたら、おかしな挙動が消えた時は、ファイルキャッシュが悪さをしていた可能性がある。 -
アプリケーションソフトウェアを立ち上げ直す。
アプリキャッシュが悪さをしているかもしれないときは、アプリを終了する。
サイドアプリを立ち上げ直すと、整合性のない設定を切り捨て、アプリの初期値で開始するなど、動作が安定することがある。
場合によっては、アプリケーション起動エラーになるかもしれない。 -
ログインし直す。
ユーザバッファが悪さをしているかもしれないときは、ログアウトしてログインし直す。 -
OSを再起動する。
ディスクキャッシュ、OSバッファが悪さをしている場合には、OSを再起動する。 -
OSを再導入する。
OSの設定の整合性が取れなくなっている場合は、OSを再導入すると解消することがある。 -
ディスクをフォーマットし直して、OSを新規導入する
再導入で整合が取れない場合は、OSを決して、ディスクをフォーマットしなおして、OSを新規導入する。
ディスクの一部がハードウェア的に故障していても、ソフトウェアがあたかも問題ないかのように処理している場合がある。
ディスクをフォーマットし直すと、ハードウェア的に故障している部分は利用しないようにするかもしれない。
種類
stack:山積み。後入れ先出し
queue:待ち行列。先入れ先出し。
buffer:緩衝記憶。ある大きさになるまで、まとめている場合がある。通信ハードウェアが持っている場合とソフトウェアで設定する場合もある。
cache: 緩衝記憶。ハードウェアの緩衝記憶をソフトウェアで利用できる場合がある。CPUの緩衝記憶はcacheと呼ぶことが多い。一次キャッシュ、二次キャッシュ。
勘違い。cash(現金)
現金(cash)も預金に比べれば、取引の高速化ができるかもしれない。
現金を運ぶことにくられべば、預金の方が取引の高速化ができるかもしれない。
文字では違うが、発音は同じ。経理システム、金融系のシステム設計、運用の口頭の会話だけだと勘違いしたことがある。
メモリの種類
メモリの分類は大きくはROMとRAMである。
しかし、RomはRead Only Memoryで、RAM はRadom Access Memoryである。
決死て対立する概念ではない。
当初
Sequencial Access | Random Access | |
---|---|---|
Read Only | ROM | - |
Read Write | - | RAM |
Flash メモリが登場し、不揮発性メモリの利用方法が変わってきた。
不揮発性メモリであるが、ReadとWriteができる。
Sequential Access | Random Access | Non Volatile | Volatile | |
---|---|---|---|---|
Read Only | ROM | - | ROM | |
Read Write | - | RAM | flash | RAM |
Flashを不揮発性メモリというのではなく、ROMという呼び方をする人たちがいるためにわけわかめになる。
Read OnlyでないものをROMというのは辞めて欲しい。
Flashは、ReadはRamdomにできるが、Writeのうち、消去と書き込みに別れる。消去は一度にまとめてある大きさを消去する。Random AccessよりはSequential Accessに近いかもしれない。書き込みはあるまとまりごとに書き込んだ方が管理がしやすいかもしれない。