2017-01-05 6 views
0

私はLinuxのキャッシュについて勉強していましたが、適切な定義を知らずにI/Oという用語を使っていました。I/Oの定義とは何か、I/Oとして分類されるアクションは何ですか?

私は

「あなたがやっているときのI/O、ファイルを開けない場合、Linuxカーネルを移入(および使用)ページキャッシュの」Linuxのページキャッシュについて私に応え誰かから基本的に、私は治療引用

任意のsysコマンドとしてのI/Oという用語がファイルを開くことが判明しても、I/Oとはみなされません。

さらに、I/Oの定義については、ほとんどオンラインで議論されたり文書化されたりしていません。

これは私の質問につながります。 I/Oの定義(特にディスクへのアクセスのコンテキスト)とは何ですか?I/Oとして分類できるアクションは何ですか?

+0

https://en.wikipedia.org/wiki/Input/outputを参照してください。 – xmojmr

答えて

1

I/Oの定義とは何か、I/Oとして分類されるアクションは何ですか?

これは決定的な回答がない質問です。 (1)システムに依存し(Linuxの仕様によってここで助けられる)、(2)それは視点に依存する。それはユーザーの視点からの入出力ですか?プロセス?カーネル?

プロセスの観点からは、linuxのI/Oは、システムサービスの読み取りまたは書き込みサービスを使用する操作です。その意味では、OPENはI/Oではなく、プロセスデータの読み書きではないためです。

偶数の定義では、画面に書き込むことを考慮していません(しかし、ディスクに集中するように求めました)。

しかし、パースペクティブをカーネルのものに変更すると、I/Oの範囲が拡大されます。 FILEオープン要求では、1つ以上のディレクトリの内容を読み取り、ディスク上のヘッダーファイル情報を読み取る必要があります。したがって、ディスクとメモリ間のデータの移動はI/Oと見なすことができます。

ユーザーの観点からは、I/Oはプロセッサー内外にデータを移動するものです。それはより理論的です。上記のように、コンピュータはビデオメモリを更新することでテキストを画面に書き込むことができます。メインメモリとビデオメモリの区別はありますが、論理的な意味では実際のデータの動きはありません。

関連する問題