글
(1) 블록 디바이스
: 하드디스크처럼 내부에 파일 시스템을 가질 수 있는 디바이스다.
- 유닉스에서는 블록으로만 접근 가능하다. (1KB)
- 리눅스에서는 바이트 단위로도 접근 가능하다. (문자디바이스와 같이)
○ 리눅스에서는 문자디바이스와 블록디바이스가 커널 내부적으로 수행되는 데이터 처리방법만 다를뿐 응용프로그래머
입장에서는 동일하게 보인다. (커널과 블록 디바이스 드라이버 사이의 소프트웨어인터페이스에서만 차이가 나는것이다.)
- 블록 디바이스는 파일 시스템을 통해 접근하고, 효율적인 처리를 위해 버퍼를 사용한다.
(2) 네트워크 디바이스
- 모든 네트워크의 동작은 네트워크 인터페이스(or 네트워크 디바이스)를 통해 이루어진다.
○ 네트워크 인터페이스는 외부호스트와 데이터를 주고 받을 수 있다.
- 네트워크 인터페이스는 보통 H/W Device이다. (예외 : Loop back과 같은 S/W Device도 있다.)
- 네트워크 인터페이스(or 디바이스)는 파일명이 없다. 리눅스 시스템에서 붙인 eth0, eth1.. 등의 이름은 네트워크 인터페이스를
구분하기 위한 것이다.
- 커널 내부에 있는 네트워크 프로토콜 스택과 연동하도록 설계되어 있기 때문에, find명령어로 찾을 수도 없다.
- 네트워크 디바이스 드라이버는 응용 프로그램에서 직접 접근할 수 없으나, ifconfig같은 특별한 명령을 통해 시스템콜을 이용해
네트워크 디바이스 드라이버 함수 부분을 부분적으로 호출하고 제어할 수 있다.
※ 출처 : http://idkkangjs.blog.me/30091117058
'L inux > Device Driver' 카테고리의 다른 글
디바이스 파일 생성 (0) | 2011.09.28 |
---|---|
디바이스 파일과 드라이버 함수 연결 (0) | 2011.09.28 |
문자 디바이스 (0) | 2011.09.28 |
디바이스 드라이버의 이해 (2) | 2011.09.28 |
인터페이스 정보 얻기 (0) | 2011.04.14 |
RECENT COMMENT