디바이스 드라이버 의 개념 및 정리
드라이버들은 자신들을 나타낼수 있는 Device_Object를 만든다.
그 Device_Object는 구조의 형식은 그 틀이 정해져 있다. 틀이 정해져 있으면 무슨 문제가 있을까?
한번 생각봐야겠다. 그럼 내가 더 필요한 정보를 삽입할수 없다는 문제점이 있네요..
그래서 그 방법을 해결하기 위해서 Device_Object 구조체를 살펴 보면 ....
Device_Extension이라는 포인터 변수가 있다 +.+
이 녀석이 무엇을 하는 녀석인가 하고 보면 위의 문제점을 해결해 줄수 있는 녀석이였다 !!!!.
그 녀석을 따라가면 메모리 공간이 있다 바로 거기가 사용자가 사용할수 있는 공간이다 !!!..
이해가 안되시죠? 저도 많이 힘들었습니다. 머리로 그릴려고 계속 해도 안그려지더라구요 ㅠㅠ
이런 그림이 그려지겠죠? ㅎㅎㅎ
그럼 좀더 큰 틀을 보면서 생각해 보겠습니다.
장치들은 자신들을 나타낼수 있는 Driver_Object를 만든다
그리고 드라이버들은 자신들만의 다비이스 스택을 가지게 된다 !! +.+
여기서 디바이스 스택이라는 개념이 나왔다 !! 야호~~~~
디바이스 스택이 무엇인지 설명하겠습니다.
디바이스 스택은 각 드라이버들이 자신들을 나타내는 Device_Object를 이 스택에 차곡차곡 쌓기 위한
공간이다 !!!.
예를 들어보자
난 군대를 다녀왔으니 군대 이야기를 해보자 군대에서 일렬로 줄을 섰다고 생각하자
그럼 그 숫자를 세기 위해서 어떤 방법을 쓰나... 처음 주자가 하나 를 외치고 다음사람을 보면서
둘을 보면서 외친다.
자 이런식으로 해서 마지막 사람들까지 전달된다. 이렇게 신호를 전달하면 그 다음 사람이 인식하고
그 다음 사람에게 또 다시 전달한다.
디바이스 스택에 쌓인 각종 드라이버들이 만들어 놓은 디바이스_오브젝트도 이렇게 전달한다.
드라이버들은 자신들을 나타낼수 있는 Device_Object를 만든다.
그 Device_Object는 구조의 형식은 그 틀이 정해져 있다. 틀이 정해져 있으면 무슨 문제가 있을까?
한번 생각봐야겠다. 그럼 내가 더 필요한 정보를 삽입할수 없다는 문제점이 있네요..
그래서 그 방법을 해결하기 위해서 Device_Object 구조체를 살펴 보면 ....
Device_Extension이라는 포인터 변수가 있다 +.+
이 녀석이 무엇을 하는 녀석인가 하고 보면 위의 문제점을 해결해 줄수 있는 녀석이였다 !!!!.
그 녀석을 따라가면 메모리 공간이 있다 바로 거기가 사용자가 사용할수 있는 공간이다 !!!..
이해가 안되시죠? 저도 많이 힘들었습니다. 머리로 그릴려고 계속 해도 안그려지더라구요 ㅠㅠ
Device_Object ->device_extension |
→→→→→→→→→ 따라가 !! | Device_Extension 공간 !! |
이런 그림이 그려지겠죠? ㅎㅎㅎ
그럼 좀더 큰 틀을 보면서 생각해 보겠습니다.
장치들은 자신들을 나타낼수 있는 Driver_Object를 만든다
그리고 드라이버들은 자신들만의 다비이스 스택을 가지게 된다 !! +.+
여기서 디바이스 스택이라는 개념이 나왔다 !! 야호~~~~
디바이스 스택이 무엇인지 설명하겠습니다.
디바이스 스택은 각 드라이버들이 자신들을 나타내는 Device_Object를 이 스택에 차곡차곡 쌓기 위한
공간이다 !!!.
예를 들어보자
난 군대를 다녀왔으니 군대 이야기를 해보자 군대에서 일렬로 줄을 섰다고 생각하자
그럼 그 숫자를 세기 위해서 어떤 방법을 쓰나... 처음 주자가 하나 를 외치고 다음사람을 보면서
둘을 보면서 외친다.
자 이런식으로 해서 마지막 사람들까지 전달된다. 이렇게 신호를 전달하면 그 다음 사람이 인식하고
그 다음 사람에게 또 다시 전달한다.
디바이스 스택에 쌓인 각종 드라이버들이 만들어 놓은 디바이스_오브젝트도 이렇게 전달한다.
'Soft Ware > Windows Driver' 카테고리의 다른 글
익큐티브 스핀 록에 대해서 ~~~ (0) | 2012.02.17 |
---|---|
스핀록에 대해서 ~~ (0) | 2012.02.17 |
윈도우 디바이스 드라이버 & Simple (0) | 2011.11.16 |
윈도우 디바이스 드라이버 & Simple (0) | 2011.11.16 |
윈도우 디바이스 드라이버 & Simple 예제 (0) | 2011.11.16 |