본문 바로가기
실습/리눅스 커널

디바이스 드라이버의 동작

by 써드아이 2021. 2. 8.

[블로그 통합으로 이전해 온 자료] - 2008. 4. 29. 21:45

 

 

* 초기화

- 드라이버의 등록
- 드라이버의 동작에 필요한 내부 구조체 메모리 할당
- 여러 프로세스가 하나의 디바이스에 접근하는 경우에 필요한 사전 처리
- 주 번호에 종속된 부 번호를 관리하기 위한 사전 처리
- 하드웨어 검출 처리 및 에러 처리
- 하드웨어 초기화
- 사용 자원 등록
- 인터럽트 핸들러 등록


* 종료

- 드라이버의 해제
- 드라이버의 동작에 필요한 내부 구조체 메모리 해제
- 여러 프로세스가 하나의 디바이스에 접근하는 경우에 종료 처리
- 제거 가능한 하드웨어의 경우 제거 처리
- 사용 자원 해제
- 인터럽트 핸들러 해제


* 열기

- 여러 프로세스가 하나의 디바이스에 접근하는 경우에 필요한 사전 처리
- 하드웨어 검출 처리 및 에러 처리
- 하드웨어 초기화
- 응용 프로그램에서 드라이버를 사용하는 경우 초기 처리
- 부 번호에 관련된 프로세스별 처리
- 프로세스별 메모리 할당
- 사용 자원 등록
- 인터럽트 핸들러 등록


* 닫기

- 여러 프로세스가 하나의 디바이스에 접근하는 경우에 종료 처리
- 제거 가능한 하드웨어의 경우 제거 처리
- 응용 프로그램에서 드라이버를 사용하지 않는 경우 종료 처리
- 프로세스별 메모리 해제
- 사용 자원 해제
- 인터럽트 핸들러 해제


[서적] 리눅스 디바이스 드라이버 - 유영창 에서 발췌

'실습 > 리눅스 커널' 카테고리의 다른 글

platform driver, device  (0) 2021.02.08
Major, Minor #  (0) 2021.02.08
DMA 처리  (0) 2021.02.08
Memory Mapping  (0) 2021.02.08
인터럽트 (Interrupt) 처리  (0) 2021.02.08