[완료] 리눅스 디바이스 파일 관련 질문 드립니다.

박영만의 이미지

리눅스에서는 디바이스 또한 파일처럼 관리되는데...

이런 디바이스 파일을 두 프로세스가 동시에 엑세스가 가능한건가요??

예를 들어 /dev/tty0 디바이스가 있다고 하면

A 라는 프로그램이 먼저 Open 해서 작업하고 있는데, B 라는 프로그램이 또다시 Open 해서 작업이 가능하는 지 궁금합니다. (두 A, B tty 속성은 같다고 가정합니다.)

생각해보면 충돌이 일어나는 특별한 경우를 제외하면 다중 접근이 가능할 것 같기도 한데...

만약 그렇다면 디바이스의 다중 엑세스와 관련된 스케쥴링 처리는 커널 단에서 처리를 해주는 건가요?

아니면 Specific 한 드라이버 단에서 처리가 되는건가요?

혹시 아시는 분 답변 부탁드립니다! (--)(__)

drinkme의 이미지

kernel을 포함한 모든 단계에서
device 파일은 multiple open()을 허용합니다.

device의 특성 상, 이를 지원하면 안되는 경우는,
(가령, serial port처럼)
해당 device driver에서의 open()에서 이를 막는 겁니다.

박영만의 이미지

^^