[네트웍] 리눅스 디바이스 드라이버와 LED 디바이스 드라이버 만들기
- 최초 등록일
- 2009.04.06
- 최종 저작일
- 2009.03
- 21페이지/ MS 워드
- 가격 3,000원
소개글
리눅스 디바이스 드라이버 와 LED 디바이스 드라이버 만들기
1. 디바이스 드라이버의 개요
(1) 디바이스 드라이버의 정의
(2) 디바이스 드라이버의 동작
(3) 디바이스 드라이버의 종류
2. 문자 디바이스 드라이버
(1) 주번호와 부번호
(2) File Operation 구조체
(3) 디바이스 드라이버의 등록 및 제거
(4) Usage Count
(5) mknod 명령을 이용한 디바이스 드라이버 생성
3. read/write를 이용한 디바이스 드라이버
4. LED 디바이스 드라이버
(1) EMPOSII보드의 디바이스 가상 메모리 맵
(2) I/O port 영역 할당과 해제
(3) LED 디바이스 드라이버
목차
리눅스 디바이스 드라이버 와 LED 디바이스 드라이버 만들기
1. 디바이스 드라이버의 개요
(1) 디바이스 드라이버의 정의
(2) 디바이스 드라이버의 동작
(3) 디바이스 드라이버의 종류
2. 문자 디바이스 드라이버
(1) 주번호와 부번호
(2) File Operation 구조체
(3) 디바이스 드라이버의 등록 및 제거
(4) Usage Count
(5) mknod 명령을 이용한 디바이스 드라이버 생성
3. read/write를 이용한 디바이스 드라이버
4. LED 디바이스 드라이버
(1) EMPOSII보드의 디바이스 가상 메모리 맵
(2) I/O port 영역 할당과 해제
(3) LED 디바이스 드라이버
본문내용
1. 디바이스 드라이버의 개요
(1) 디바이스 드라이버의 정의
디바이스(Device)란 네트워크 어댑터, 디스플레이, LCD, PCMCIA, Audio, 터미널 등과 같은 주변 장치를 말하며 디바이스 드라이버(Device Driver)는 이러한 물리적인 하드웨어 장치를 다루고 관리하는 프로그램이라고 할 수 있다. 즉 실제 장치를 추상화 시켜 사용자 프로그램이 정형화된 인터페이스를 통해 디바이스를 접근할 수 있도록 해주는 프로그램이다. 디바이스 드라이버는 함수와 자료구조의 집합으로 이루어 졌으며 커널과 제어를 필요로 하는 하드웨어 사이의 계층이다. 사용자 관점에서의 디바이스 드라이버는 디바이스 자체에 대한 정보는 알 필요가 없으며 장치는 하나의 파일로 인식되어 파일에 대한 접근을 통해 실제 디바이스에 접근이 가능하다. 응용프로그램에서 하드웨어장치를 이용해서 데이터를 직접 읽고 쓰거나 제어해야 하는 경우에는 디바이스 드라이버를 이용하여야 한다.
(2) 디바이스 드라이버의 동작
디바이스 드라이버는 커널의 일부분이라고 할 수 있다. 따라서 커널에 정적으로 링크 되어서 사용되기도 하며, 때로는 동적으로 운영체제가 가동 중인 상태에서 커널과 링크 되거나 제거 될 수 있다. 이를 위해 리눅스에서는 모듈기능을 제공하여 디바이스의 동적 적재, 제거를 가능하게 하며 주번호(major number)와 부번호(minor number)를 이용하여 각각의 디바이스들을 구분하여 사용한다. 사용자 프로그램에서는 시스템 콜을 통하여 Virtual File System 안의 장치 디바이스를 읽어 디바이스 드라이버에게 명령을 내리면 디바이스 드라이버는 명령에 맞는 함수를 호출하여 하드웨어를 제어 한다.
(3) 디바이스 드라이버의 종류
리눅스에는 수많은 하드웨어를 사용할 수 있도록 많은 디바이스 드라이버가 있다. 이들 디바이스 드라이버가 하드웨어들을 처리하는 방식은 하드웨어 방식에 따라 다양하다고 할 수 있다.
참고 자료
없음