[블로그 통합으로 이전해 온 자료] - 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 |