ㅇ 임베디드 리눅스 디바이스 드라이버 구조
- 디바이스 종류
ㅁ 케릭터 디바이스
- 임의의 길이를 갖는 문자열을 다루는 디바이스 드라이버
- 응용 프로그램에서 직접적으로 호출되는 버퍼를 갖지 않는 디바이스 드라이버
ㅁ 블록 디바이스
- 하드 디스크 드라이버와 같이 일정 크기의 버퍼를 통해 데이터를 처리하는 디바이스
- 커널 내부의 파일 시스템에서 관리하는 내부적인 버퍼가 있는 디바이스 드라이버
ㅁ 네트워크 디바이스 드라이버
- 네트워크 측과 연결된 디바이스 드라이버
- 응용 프로그램에서 직접 접근할 수 없고 네트워크 프로토콜 스택과 연동
- 기본적인 API
ㅁ open (), close (): 디바이스를 열고 닫음
ㅁ read (), write (): 디바이스와 통신
ㅁ lseek (): 디바이스의 접근 위치 변경
ㅁ ioctl (): 디바이스의 제어
ㅁ fsync (): HW와 드라이버 버퍼 내용의 동기화 처리
- 디바이스 종류
ㅁ 케릭터 디바이스
- 임의의 길이를 갖는 문자열을 다루는 디바이스 드라이버
- 응용 프로그램에서 직접적으로 호출되는 버퍼를 갖지 않는 디바이스 드라이버
ㅁ 블록 디바이스
- 하드 디스크 드라이버와 같이 일정 크기의 버퍼를 통해 데이터를 처리하는 디바이스
- 커널 내부의 파일 시스템에서 관리하는 내부적인 버퍼가 있는 디바이스 드라이버
ㅁ 네트워크 디바이스 드라이버
- 네트워크 측과 연결된 디바이스 드라이버
- 응용 프로그램에서 직접 접근할 수 없고 네트워크 프로토콜 스택과 연동
- 기본적인 API
ㅁ open (), close (): 디바이스를 열고 닫음
ㅁ read (), write (): 디바이스와 통신
ㅁ lseek (): 디바이스의 접근 위치 변경
ㅁ ioctl (): 디바이스의 제어
ㅁ fsync (): HW와 드라이버 버퍼 내용의 동기화 처리
'IT 이야기 > IT' 카테고리의 다른 글
[센서 노드 디바이스 드라이버 정리 (3/3)] RETOS (0) | 2010.03.25 |
---|---|
[센서 노드 디바이스 드라이버 정리 (2/3)] IEEE 1451 (0) | 2010.03.25 |
[센서 노드 운영 체제 정리 (5/6)] Thread model 정리 (0) | 2010.03.25 |
[센서 노드 운영 체제 정리 (4/6)] Event model 정리 (0) | 2010.03.25 |
[센서 노드 운영 체제 정리 (3/6)] 센서 노드 운영체제 설계 모델의 장단점 (0) | 2010.03.25 |