ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • device driver
    linux system 2018. 11. 9. 15:19

    리눅스에서 insmod 명령어를 사용하여 device driver를 커널에 등록할 수 있다. 

    insmod명령어는 module_init() 매크로를 실행하는 일을 한다. rmmod명령어는 cleanup_module함수를 실행한다. 


    linux용 device driver는 init_module함수와 cleanup_module함수를 작성해주어야 한다. init_module은 보통 디바이스 드라이버를 주/부 번호를 사용해 등록하는 register_chrdev(장치 주번호, 장치이름, file_operations)함수를 수행한다. 예를 들어, 터미널 드라이버 경우에는 register_chrdev(4, "tty", &tty_fops); 주번호 : 4,  디바이스 이름 : "tty” , 파일 연산 : tty_fops구조체이다.


    windows에서는 IoCreateDevice함수는 디바이스 드라이버를 커널에 할당하고, 디바이스 오브젝트를 반환한다. 언로드시 IoDeleteDevice 함수를 호출하여, 할당된 메모리 및 오브젝트를 반환해주어야 한다. IoCreateSymbolicLink함수를 사용하여 오브젝트 접근을 string 으로 할 수 있다.

    'linux system' 카테고리의 다른 글

    X11  (0) 2017.03.28
    gdb명령어  (0) 2013.11.09
Designed by Tistory.