[시스템 프로그래밍] 리눅스 디바이스 드라이버
- 최초 등록일
- 2005.09.01
- 최종 저작일
- 2005.05
- 16페이지/ 한컴오피스
- 가격 2,000원
소개글
리눅스 device driver에 대해 조사한 자료입니다.
세부적인 항목을 많이 조사하였고, H/W에 관한 내용이 많습니다. 참고하세요..
목차
1. Device Driver 정의
2. 폴링(Polling)과 인터럽트(Interrupt)
3. 직접 메모리 접근 (Direct Memory Access, DMA)
4. 메모리
5. 커널과 디바이스 드라이버와의 인터페이스
6. Device Drive 종류
7. 문자 장치(Character Device)
8. 블럭 장치(Block Device)
9. 하드 디스크(Hard Disk)
10. IDE 디스크
11. SCSI 디스크
12. SCSI 서브시스템의 초기화
13. 블럭 장치 요청을 전달하기
14. 네트웍 장치(Network Device)
15. 네트웍 장치 초기화
본문내용
Device Driver 정의
디바이스(Device)란 LCD, USB, Ethernet, PCMCIA, CF, AUDIO 등과 같이 컴퓨터 시스템(Flash, Memory, SDRAM 등의) 이외의 주변 장치를 말하고, 드라이버(Driver)란 이러한 하드웨어 장치를 제어하고 관리하는 방법을 컴퓨터 시스템 (즉 운영체제)에게 알려주는 조그만 크기의 응용 프로그램을 말한다, 우리는 보통 이 드라이버를 디바이스 드라이버라고 부르는데, 디바이스를 구동시키기 위해서는 반드시 필요한 프로그램을 말한다, 우리는 보통 이 드라이버를 디바이스드라이버라고 부르는데, 디바이스를 구동시키기 위해서는 반드시 필요한 프로그램이라고 생각하면 된다. 리눅스 커널에서 지원하는 드라이버도 있지만 (예를 들면, 마우스, 키보드, Floppy 등)그렇지 않은 경우에는 해당 드라이버를 찾아 설치하거나, 만들어 주어야 한다.
이런 디바이스 드라이버의 기능은 물리적인 하드웨어 장치를 다루고 관리하는 소프트웨어로 커널의 일부분이며, Major number(주 번호)와 Minor number(부 번호)를 이용하여 각 디바이스를 구분하여 사용한다. 응용 프로그램이 하드웨어 (즉 디바이스)를 제어할 수 있도록 인터페이스를 제공해주는 코드로 프로그래머로 하여금 하드웨어에 독립적인 프로그램을 작성하도록 도와준다.
폴링(Polling)과 인터럽트(Interrupt)
장치에 명령을 할 때 디바이스 드라이버는 그 명령이 언제 끝났는지 아는 방법을 선택할 수 있다. 디바이스 드라이버는 장치를 폴링할 수도 인터럽트를 사용할 수도 있다.
장치를 폴링한다는 것은 일반적으로 요청한 작업이 끝났는지를 알기 위해 장치의 상태가 변할 때까지 장치의 상태 레지스터를 계속해서 자주 읽는 것을 말한다. 디바이스 드라이버는 커널의 한 부분이기 때문에, 만약 드라이버가 폴링만 하려고 한다면 장치가 작업을 끝마칠 때까지 커널의 다른 부분이 수행될 수 없다.
참고 자료
없음