Device File   장치 화일, 장치 파일

(2022-04-27)

디바이스 파일


1. [Unix/Linux]  장치 화일물리적 디바이스를 표현하는 특수 파일
     - 하드디스크,키보드,프린터 등 장치들도 모두 파일로 취급 됨    ☞ Unix/Linux 파일 처리 참조

  ㅇ 만일, 사용자 프로그램이 하드웨어(장치)에 접근하려면,
     - 장치 파일을 사용하여, 
        . (/dev 디렉토리에 위치함. 아래 2.항 참조)
     - 커널을 통해 접근하게 됨

  ㅇ 한편, 사용자 프로그램이 장치 파일에 접근하면,
     - 커널은, 
        . 이에따른 I/O 호출 요청을 확인하고, 장치 드라이버에게 요청 내용을 전달하고, 
        . 장치 드라이버가 실제 장치로부터 자료를 읽거나 쓰는 등의 작업을 함
     - 즉, 커널은,
        . 사용자 프로그램이 장치 파일에 가해진 연산을,
        . 장치 드라이버 프로그램에 대한 호출로 바꾸어줌


2. [Unix/Linux]  장치 화일의 식별

  ㅇ 주 번호(major device number) 및 부 번호(minor device number)로 구성
     - 주 번호 : 장치 유형(Device Type)에 따라 부여 
     - 부 번호 : 장치 단위(Device Unit)에 따라 부여, 각 장치의 부가적인 정보

     * 例) 
        . 두번째 하드 디스크의 파티션 3 이면, /dev/hdb3 
        . 첫번째 SCSI 디스크의 파티션 1 이면, /dev/sda1

  ㅇ 장치 화일들은, 
     - 그 파일Inode 내에 저장되어진, 주 번호와 부 번호를 통해,
     - 실제 장치와 짝지워지게 됨


3. [Unix/Linux]  장치 화일의 생성

  ㅇ 장치 파일은, mknod 명령어를 사용하여 만들 수 있음
     - mknod  ① 파일명 ② 유형 ③ major ④ minor 
        . ① 파일명은, 
           .. 만들어질 장치 파일의 이름
        . ② 파일유형은,           ☞ Unix/Linux 파일 종류 참조
           .. 문자 장치에 대해서는 c, 블록 장치에 대해서는 b 등
        . ③ major 및 ④ minor는, 
           .. major device number와 minor device number
     - 또는, 시스템호출 mknod()를 통해서,
        . 프로그램 내에서도 가능



Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"