리눅스가 모든 장치들을 파일로 간주한다는게 무슨말이에요

dbsthqkf의 이미지

파일이라고 하면 문서파일이라고 밖에 떠오르지가 않는데
파일로 간주한다는게 도대체 무슨말인가요 ,..

아무것도 모르는 초등학생에게 설명하듯이 해주세요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

마잇의 이미지

장치에 대한 접근을 보통 파일을 다루 듯이 합니다. 예를 들어,

/dev/input/by-path/platform-i8042-serio-1-event-mouse

이건 마우스에 접근할 수 있는 파일 입니다. 이런 장치 파일들은 /dev 디렉토리 아래 모여 있습니다. 다른 파일들과 마찬가지로 이런 파일들에 읽거나 쓰면 바로 그게 장치를 이용하는 것입니다.

엑셀 파일을 메모장으로 열거나 수정하는 것이 무의미한 것과 마찬가지로 각 장치에 대한 읽기 쓰기는 정해진 방식으로 이루어져야 겠죠.


--
마잇

sshtel의 이미지

유닉스 계열 OS의 철학입니다.
유닉스에서 모든 I/O는 오브젝트(객체) 개념으로 접근합니다.
그냥 쓰고 싶은 객체를 열어서 읽고/쓰고 닫습니다.
네트워크든 블럭 디바이스든 문자 디바이스든 그 대상이 뭐가 되었든 간에
그냥 내가 쓰고 싶은 도구(대상, 객체)일 뿐이며 사용하는 인터페이스는 변함이 없지요.
그것을 구체화 한 것이 파일입니다. 모든 I/O를 파일을 열어서 읽고 쓰고 닫습니다.