드라이버는 운영 체제의 일부입니까?


14

OS에 포함 된 것과 포함되지 않은 것을 이해하는 데 어려움이 있습니다. 프린터 드라이버 또는 그래픽 드라이버와 같은 장치 드라이버가 OS의 일부입니까? OS의 정의에 대해 생각하면서 드라이버는 OS의 일부라고 생각합니다.


6
예, 아니오 이들은 낮은 수준에서 작동하고 내부 인터페이스에 액세스 할 수 있다는 점에서 OS의 일부입니다. 그리고 많은 사람들이 OS 운영에 중요합니다. 그러나 이들은 일반적으로 분리 된 "플러그 교체 가능"부품이며 종종 OS와 다른 회사에서 제작합니다. "OS"에 대한 정의에 따라 하나의 회사가 없습니다.
Daniel R은

"포함됨"을 정의하십시오. 새 드라이브에 설치하기 위해 Windows DVD에 있어야합니까? 아니면 개념적으로 OS의 일부입니까?
톱밥

답변:


12

예, 드라이버는 OS의 일부입니다. OS 커널과 동일한 권한 수준으로 실행되며 드라이버를 작성하려면 OS 내부에 대해 잘 알고 있어야합니다. 드라이버의 역할은 하드웨어의 추상화를 제공하여 응용 프로그램이 특정 세부 사항을 알 필요없이 OS API (응용 프로그램 프로그래밍 인터페이스)를 통해 하드웨어를 사용할 수 있도록하는 것입니다. 많은 경우 여러 응용 프로그램간에 동일한 하드웨어를 동시에 공유 할 수도 있습니다.

사용자가 생각하는 드라이버로 오인하는 것은 OS의 일부가 아닐 수 있습니다. 많은 공급 업체가 OS와 별도로 만든 하드웨어 용 드라이버를 제공한다는 것입니다. 실제로 많은 드라이버가로드 가능한 모듈로 제공되며로드 가능한 모듈은 OS에 동적으로 참여할 수 있습니다. 더 이상 사용하지 않으면 OS에서 "연결 해제"될 수 있으며 계속 정상적으로 실행됩니다.

로드 가능 여부에 관계없이 드라이버는 항상 시스템에서 사용 가능하게해야하는 장치에 따라 다르므로 OS의 "선택적"부분 인 경우에도 작동 할 때 드라이버에 참여합니다.


1
나는 당신이 어떻게 말했는지에 따라 드라이버가 항상 포함되거나 사용되는 것은 아닙니다. 운영 체제는 커널입니다. 기간. Windows 탐색기는 운영 체제 와 함께 제공 되지만 운영 체제 에는 포함되어 있지 않습니다. 커널은 실제 처리 부분이므로 OS를 고려할 것입니다. 포함되는 다른 항목은 OS의 일부가 아닙니다
Canadian Luke

또한 사용자 수준에서 드라이버를 실행할 수 있으므로 대부분의 경우 커널 수준에서 드라이버를 실행할 필요는 없습니다.
Matt

당신의 요점 루크를 볼 수 있습니다. 시스템 작동에 필요하지 않은 옵션 장치가 많이 있으므로 이러한 의미 에서 드라이버가 OS의 일부가 아니라는 데 동의 할 수 있습니다 . @Matt가 말했듯이 일부 드라이버는 사용자 모드 드라이버 일 수 있지만 (많은 프린터 드라이버) 내 요점은 대부분의 드라이버이며 특히 구조적 드라이버 (비디오, 디스크 컨트롤러 등)는 커널 모드 드라이버입니다. 로드 될 때 실행중인 커널의 실제 부분이됩니다. 커널은 단독으로 유용한 기능을 수행 할 수 없기 때문에 드라이버가 운영 체제의 일부라고 말할 수있을 것입니다.
Claudio

1
정말 그렇습니다 / 아니오 질문입니다. 기술적으로 드라이버는 OS에 포함되어 있지 않지만 다른 장치와 통신하려면 드라이버가 필요합니다. 예를 들어 비디오입니다. 커널에 요청을 한 다음, 커널은 요청을 디스플레이 드라이버에 전달한 다음 정보를 다시 돌려서 실제로 무언가를 볼 수있게합니다.
Matt

3
@Luke-분명히 전체 OS가 아니라면 커널 이 OS의 일부 라는 것을 인정합니다 . OS 또는 커널 의 소스 코드 를 본 적이 있습니까? MS에서 일하거나 NDA에 서명하지 않으면 Windows 커널 코드가 표시되지 않습니다. 그러나 Linux 커널은 오픈 소스이며 모든 (독점) Linux 드라이버는 커널 소스 코드의 일부입니다. Linux 커널 소스 코드는 커널 부분과 드라이버 부분으로 분리 되지 않습니다 . 소스 트리에는 코어 및 드라이버 모듈이 모두 포함되어 있습니다. MS가 비슷한 방식으로 Windows의 소스 코드를 처리 할 것으로 기대합니다.
톱밥

5

"OS"라는 용어는 많은 것을 의미 할 수 있습니다.

대부분의 운영 체제에서 커널은 모든 것을 관리하고 "실행"하고 하드웨어에 대한 액세스를 중재하는 코드 조각이지만 일반적으로 자체적으로 흥미로운 작업을 수행 할 수는 없습니다. "위에 있다면" OS에 대한 많은 사람들의 정의에는 친숙하고 표준화 된 환경을 구성하는 유틸리티, 셸 및 프로그램이 포함됩니다.

드라이버는 커널에 따라 다르며 플러그인과 같이 "확장"한다고 말하는 것이 가장 정확합니다. Linux는 "로드 가능한 커널 모듈"이라는 개념을 지원하며 모든 장치 드라이버는로드 가능한 커널 모듈 일 수 있습니다. 이러한 모듈 중 하나 이상이 "내장"되어 커널과 분리되지 않은 커널을 구축 할 수도 있습니다. 따라서 실제로 리눅스에서 "모듈리스"커널을 구축 할 수 있으며 내장 된 모듈 이외의 하드웨어는 지원할 수 없습니다.

Windows에 익숙하지 않지만 "미니 포트"드라이버를 거의 제외하고 모든 드라이버는 부팅시로드되는 외부 파일이라고 생각합니다. Windows에서 서비스를 만드는 데 약간의 관심을 기울이면 드라이버는 실제로 Windows에서 특수한 형태의 서비스 인 것 같습니다. 일부 프로그램은 낮은 수준의 하드웨어에 액세스하기 위해 드라이버를 설치하지만 반드시 장치를 구동 할 필요는 없습니다. 일반적으로 장치 관리자에서 "비 플러그 앤 플레이"드라이버입니다. 따라서 드라이버는 Linux에서로드 가능한 커널 모듈과 개념적으로 동일한 기능을 제공하는 것으로 보입니다.

간단하게 말하면 OS없이 사용할 수 없기 때문에 OS의 일부라고 말하고 OS가 부팅되지 않으면 유용하지 않지만 그려진 선은 임의적입니다.


1

드라이버는 OS의 일부가 아닙니다. 드라이버가 OS가 장치 또는 하드웨어와 통신하는 데 도움이된다고 말할 수 있습니다. OS에는 Windows XP 및 Vista와 같은 기본적으로 모든 드라이버가 포함되어 있지 않지만 Windows 7에서는 필요한 드라이버가 대부분 포함되어 있으므로 OS의 일부가 아니라고 혼동하지 마십시오.


드라이버가 운영 체제의 일부가 아니라는 사실은 자신이하는 일을 모른다는 것을 증명합니다. Windows XP에는 Windows Vista 및 Windows 7과 동일한 많은 드라이버가 포함되어 있습니다. Microsoft는 해당 릴리스 용 장치에 대한 일반 드라이버를 훨씬 더 포함시키기 위해 많은 노력을 기울였습니다.
Ramhound

예. 드라이버가 없으면 어떤 장치도 사용할 수 없습니다. 그래서 우리는 드라이버가 OS가 장치와 통신하는 데 도움이된다고 말할 수 있으며, 일부는 OS의 일부이고 그렇지 않은 것입니다. 그들은 OS와 함께 제공되지 않는 많은 드라이버입니다.
Deb

기술적으로, 드라이버는 OS와 함께 제공되지 않는 경우에도 그것은 이다 설치하고 사용하는 OS의 일부. 그것의 증거는 잘못 작성된 드라이버가 OS에 의해 죽일 수있는 일반 응용 프로그램이 아니라 자체의 일부이기 때문에 전체 시스템을 잠글 수 있다는 것입니다.
Claudio
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.