728x90
반응형
장치는 파일로 취급 된다.
리눅스에서는 디바이스를 하나의 파일로 취급하여 파일처럼 엑세스 가능하다. 그렇기 때문에 디바이스를 컨트롤 하는 방법은 File Operation 인터페이스를 통해 컨트롤 할 수 있게 된다. 예를 들면 Open, Write, Read, Close 등..
세상에. 그런데 윈도우도 마찬가지다. 윈도우에서도 장치를 File Object를 통해 관리 하고 접근 할 수 있다. 마치 파일처럼 CreateFile, WriteFile, ReadFile, CloseHandle 로 말이다. 밑으로 내려가면 거기서 거기이다.
왜 File Object
윈도우에서 파일객체는 장치를 나타내는 커널모드 자료구조체 이다. 왜 파일 객체로 장치를 표현할까?
- 두 개 이상의 유저모드 프로세스가 공유할 수 있는 시스템 리소스이다.
- 이름을 가질 수 있다.
- 객체 기반의 보안으로 보호 된다.
- 동기화를 지원한다.
등의 이유를 들 수 있다.
장치 드라이버 구현
장치는 File Object와 매칭되고, File Operation을 가지고 컨트롤 할 수 있다. 장치 드라이버를 구현한 다는 것은 이러한 File Operation에 해당하는 작업을 구현하는 것으로 말 할 수 있을 것 이다.
ref.
- Windows Internals 8장
- 리눅스 디바이스 드라이버 개발 관련 블로그 등등
Written with StackEdit.
728x90
반응형
'개발 > Windows' 카테고리의 다른 글
커널드라이버 Buffered I/O 처리 하기 (MFC, CFile) (0) | 2020.01.03 |
---|---|
장치 드라이버와 커널 오브젝트 (Device Driver & Kernel Object) (0) | 2019.12.30 |
드라이버란 무엇일까? (3) | 2019.12.27 |
사설인증서 생성 & 실행파일 코드사이닝 하기 (0) | 2019.12.12 |
NSIS] NSIS 스크립트에서 64비트 32비트 구분하기 (0) | 2019.11.21 |
댓글