문자 장치는 차단 I/O만 처리할 수 있나요?

문자 장치는 차단 I/O만 처리할 수 있나요?

다음(가설) 장치를 고려해 보겠습니다. 쿼리하는 데 1초가 걸리고 현재 시간을 반환하는 시계입니다. 우리는 읽기 작업만 지원하는 문자 장치 드라이버를 작성할 것입니다.

  • 나는 읽기 결과를 캐시할 수 없기 때문에 이와 같은 장치에서는 비차단 읽기가 의미가 없다고 생각합니다. 동의하시나요?
  • 차단 읽기만 처리되도록 허용됩니까? 그렇다면 비차단 읽기는 어떤 오류 코드를 반환해야 합니까? 아니면 다른 방법으로 비차단 작업을 지원하지 않는다고 지정해야 합니까?

실제 장치에 대한 문자 장치 드라이버를 구현하기 전에 이 점을 더 잘 이해하고 싶습니다. 저는 Linux에 관심이 있지만 Linux에만 국한된 답변은 아닐 것 같습니다.

관련 정보