私は受験する試験の過去問を見直しているのですが、大学は答えを提供していないので確認できません。私の理解が正しいかどうか教えてください。間違っていたら訂正していただけますか。
質問:Linux システムで実行されているプログラム P は、テキストを含むディスク上のファイルの名前とパスを引数として受け取り、ファイルを開いて最初の文字を読み取ります。プログラムがすでに実行されており、ファイルが存在すると仮定して、発生する可能性のあるディスク読み取り要求をリストします。
• 各ディスクアクセスの目的。
• ディスク読み取り要求が必ずしも発生しない理由。
試み:ディスク読み取り要求は常に発生するとは限りません。キャッシュ ヒットが発生し、ディスク読み取り要求なしでファイルをキャッシュから読み取ることができるためです。これが発生しない場合は、ディスク アクセスが発生します。1 つはファイル名を取得するため、もう 1 つはファイルのパスを取得するため、最後の 1 つはファイルから最初の文字を読み取るためです。
答え1
少なくとも 1 つのディスク アクセスを忘れています。ファイルのディレクトリ エントリには があるaccess time
ため、ファイル自体はキャッシュ内にあるにもかかわらず、読み取りごとにディレクトリを更新する必要があります。
しかし、正直に言うと、多くの前提条件を知らなければ、この質問に簡単に答えることはできません。ディスク アクセスの「可能性」は多くの要因に依存しますが、おそらく最も重要なのはファイルのサイズです。