본문 바로가기
개발/Windows

장치 드라이버와 파일의 관계?

by lucidmaj7 2019. 12. 30.
728x90
반응형

https://docs.microsoft.com/ko-kr/windows-hardware/drivers/ddi/wdm/ns-wdm-_file_object

장치는 파일로 취급 된다.

리눅스에서는 디바이스를 하나의 파일로 취급하여 파일처럼 엑세스 가능하다. 그렇기 때문에 디바이스를 컨트롤 하는 방법은 File Operation 인터페이스를 통해 컨트롤 할 수 있게 된다. 예를 들면 Open, Write, Read, Close 등..
세상에. 그런데 윈도우도 마찬가지다. 윈도우에서도 장치를 File Object를 통해 관리 하고 접근 할 수 있다. 마치 파일처럼 CreateFile, WriteFile, ReadFile, CloseHandle 로 말이다. 밑으로 내려가면 거기서 거기이다.

왜 File Object

윈도우에서 파일객체는 장치를 나타내는 커널모드 자료구조체 이다. 왜 파일 객체로 장치를 표현할까?

  • 두 개 이상의 유저모드 프로세스가 공유할 수 있는 시스템 리소스이다.
  • 이름을 가질 수 있다.
  • 객체 기반의 보안으로 보호 된다.
  • 동기화를 지원한다.
    등의 이유를 들 수 있다.

장치 드라이버 구현

장치는 File Object와 매칭되고, File Operation을 가지고 컨트롤 할 수 있다. 장치 드라이버를 구현한 다는 것은 이러한 File Operation에 해당하는 작업을 구현하는 것으로 말 할 수 있을 것 이다.

ref.

Written with StackEdit.

728x90
반응형

댓글