文字デバイスはブロックI / Oのみを処理できますか?

文字デバイスはブロックI / Oのみを処理できますか?

次の(仮説)デバイスを考えてみましょう。クエリに1秒かかり、現在の時刻を返す時計。読み込み操作のみをサポートする文字デバイスドライバを作成します。

  • 私は読み取り結果をキャッシュできないので、このようなデバイスでは非ブロック読み取りは意味がないと思います。同意しますか?
  • ブロック読み取りのみを処理することは許可されていますか?それでは、非ブロック読み取りはどのエラーコードを返すべきですか?それとも別の方法で非ブロック操作をサポートしていないと指定する必要がありますか?

実際のデバイス用の文字デバイスドライバを実装する前に、この点をよりよく理解したいと思います。私はLinuxに興味がありますが、Linuxに限定された答えではないようです。

関連情報