데이데이


드라이버 장치 파일

장치 드라이버는 시스템과 해당 하드웨어 사이에 벌어지는 상호 작용을 관리하는 프로그램이다. 드라이버는 장치가 이해하는 하드웨어 명령과 커널이 이용하는 양식화된 프로그래밍 인터페이스 사이의 중계를 담당한다. 드리이버 계층은 리눅스를 장치 독립적인 상태로 유지하게 한다. 

 

장치 드라이버는 커널의 한 부분이며, 사용자 프로세스가 아니다. 하지만 드라이버는 커널 영역과 사용자 영역 모두에서 접근할 수 있다. 사용자 계층에서는 주로 /dev디렉토리에 있는 특수한 장치 파일로 장치에 접근한다. 커널은 이들 파일에 대한 작업을 드라이버의 해당 코드에 대한 호출로 변환한다.

 

시스템 관리자 세상에서 PC 플랫폼은 혼돈의 원천이다. 운영체제로부터 제각기 다양한 지원을 기다리는 엄청나게 많은 하드웨어와 '표준'이 있다. 예를 들어 다음과 같다.

 

현재 SCSI 칩셋이 30개 이상 있으며, 각기 적어도 2배는 많은 업체들에서 이런 다양한 칩셋을 패키징해 판매한다.

 

네트워크 인터페이스 200개 이상 나와 있으며, 여러 업체에서 다양한 이름으로 시장에 내놓는다.

 

새롭고 개량되고 값도 덜 비싼 유형의 하드웨어는 계속 개발 중이다. 이런 하드웨어는 여러분이 선호하는 리눅스에서 동작하기 위해 드라이버가 필요하다.

 

새로운 하드웨어가 개발되는 놀랄 만한 속도로 인해 주류 운영체제 배포판이 항상 최신 하드웨어를 지원하기란 실질적으로 불가능하다. 경우에 따라서는 새 하드웨어를 지원하기 위해ㅑ 현재 운영 중인 커널에 장치 드라이버를 추가해야 할 수도 있다.

 

리눅스(보통은 특정 버전의 리눅스 커널)에서 이용할 수 있게 설계된 장치 드라이버만이 리눅스 스스템에 성공적으로 설치될 수 있다.(윈도우 같은) 다른 운영체제용 드라이버는 동작하지 않을 것이므로 새 하드웨어를 구매할 때 이를 기억해야 한다.

 

게다가 리눅스에서 이용할 때 호환성과 기능성의 수준은 장치마다 다르므로 고려 대상인 하드웨어를 채택한 다른 사이트에서 제공하는 결과에 주의를 기울이는 편이 현명하다. 업체들은 점차 유닉스와 리눅스 시장에 더 관심을 기울이고 있으며, 자신들의 제품에 리눅스 드라이버를 함께 제공하는 경우도 흔하다. 최상의 경우에는 업체가 드라이버와 설치 방법 모두를 제공한다.

 

가끔은 필요한 드라이버를 그리 알려지지 않은 웹페이지에서 겨우 찾기도 한다. 이 두 가지 경우에 대해 장치 드라이버를 추가할 때 어떤 일이 벌어지는지를 설명한다.


 

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band