디바이스 드라이버 제어 방식


  • 응용 프로그램이 하드웨어를 제어할 때는 디바이스 파일 이용

  • 저수준 파일 입출력 함수를 사용해 디바이스 파일에 접근 -> 최종적으로 하드웨어 제어


응용 프로그램

■ 시스템에 준비된 함수나 프로그램 자체적으로 선언된 함수를 이용해 특정 기능을 수행하도록 구현한 프로그램
■ 사용자 공간에서 동작
■ 시스템에 의해 할당된 메모리와 파일만 제어 가능
■ 하드웨어 직접접근 불가
■ 디바이스 파일이라는 특수파일 사용하여 하드웨어 제어


디바이스파일

■ 커널 내의 파일 시스템 구조에 의해 하드웨어를 제어하는 디바이스 드라이버 함수와 연결됨
■ 응용 프로그램은 저수준 파일 입출력 함수를 사용해 디바이스 파일에 데이터를 쓰거나 읽고, 그 결과로 하드웨어를 제어하는 디바이스 드라이버 함수가 호출됨


디바이스 드라이버

■ 하드웨어를 제어하기 위해서는 해당 디바이스를 제어하는 함수 집합인 디바이스 드라이버가 커널 내부에 있어야함
■ 모듈형태로 커널에 적재 가능하며, 처음부터 커널 내부에 구현되어 있을 수도 있음
■ 문자디바이스 드라이버의 경우에는 응용 프로그램에서 해당 디바이스 드라이버와 연결된 디바이스 파일을 통해 호출해야 하지만, 블록 디바이스 드라이버나 네트워크 디바이스 드라이버는 커널에서 직접 호출해서 사용


디바이스 드라이버 종류

Leave a Reply