리눅스에서 할당된 디바이스에 대하여 살펴 보도록 하겠습니다.


이 내용은 커널의 Document/devices.txt 파일에 있는 내용을 살펴 보는 것 입니다.


리눅스에는 디바이스의 메이저, 마이너 번호를 미리 할당 하여 가지고 있습니다.


리눅스 디바이스 드라이버를 개발 할 경우에는 미리 할당 되어 있지 않은 번호를 사용하여 드라이버를 제작 하여야 합니다.


그래야 번호 충돌이 일어 나지 않겠죠. ^^


0 - Unnamed devices (  null device )

1 char - Memory devices

1 block  - RAM disk

2 char   - Pseudo-TTY masters

2 block  - Floppy disks

3 char   - Pseudo-TTY slaves

3 block  - First MFM, RLL and IDE hard disk/CD-ROM interface


등등과 같이 미리 선언 되어 있는것을 확인 할 수 있습니다.


내용중 다음과 같이 234-239 까지는 할당이 되어 있지 않다고 되어 있습니다.

234-239          UNASSIGNED


그리고, 내부/실험적으로 사용을 위해 할당되어 있습니다. 

공식적으로 번호가 할당되지 않은 장치의 경우 240-254 범위의 번호를 사용 할 수 있습니다.


240-254 char    LOCAL/EXPERIMENTAL USE

240-254 block   LOCAL/EXPERIMENTAL USE


그럼 디바이스 드라이버 개발을 위해서는 메이저 번호를 234-254 까지 사용을 하면 되고, 그 사이에 마이너 번호는 0-255 까지 사용을 하면 됩니다.


대부분 디바이스 드라이버 개발 서적에서 이상의 번호 234-254 까지의 메이저 번호를 이용하여 디바이스 드라이버를 작성 하는 것이 바로 위와 같이 커널에 미리 정의가 되어 있기 때문입니다.