You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
문자 디바이스 드라이버의 등록과 해제 및 구성<br />
227<br />
문자 디바이스 드라이버의 구성<br />
<br />
<br />
<br />
<br />
<br />
<br />
커널 소스 헤더 파일<br />
문자 디바이스 드라이버 구현을 위해 저수준 파일 입출력에 대응<br />
하는 file_operations 구조체에 등록할 함수<br />
인터럽트를 사용하는 하드웨어 장치라면 인터럽트 함수 서비스<br />
함수<br />
file_operations 변수<br />
문자 디바이스 드라이버를 등록하는 모듈 초기화 함수<br />
문자 디바이스 드라이버를 제거하는 모듈 종료 함수<br />
http://eoslab.ssu.ac.kr<br />
Linux Device Driver<br />
문자 디바이스 드라이버의 등록과 해제 및 구성<br />
228<br />
디바이스 드라이버와 커널간의 통신<br />
<br />
<br />
<br />
문자 드라이버 : chrdevs[] 테이블 이용<br />
블록 드라이버 : blkdevs[], blk_dev[] 테이블 이용<br />
네트웍 드라이버 : <strong>device</strong> 구조 이용<br />
Major number<br />
0<br />
MAX_CHRDEV - 1<br />
http://eoslab.ssu.ac.kr<br />
chrdevs[]<br />
/* fs/<strong>device</strong>s.c */<br />
1<br />
struct <strong>device</strong>_struct { file_operations<br />
name;<br />
2<br />
lseek<br />
fops;<br />
read,<br />
} chrdevs[]; write,<br />
readdir<br />
poll,<br />
ioctl,<br />
mmap,<br />
open,<br />
flush,<br />
release<br />
fsync,<br />
…..<br />
…<br />
Linux Device Driver