-1

그래서 저는 프로그래머가 컴퓨터의 장치와 얼마나 정확하게 대화하는지 혼동합니다. 지금 나는 큰 아이디어를 말하는 것이 아닙니다. 나는 다른 프로그램이 그 기능을 사용할 수 있도록 하드웨어 위에 앉아있는 장치 드라이버가 있다는 것을 알고있다.프로그램이 장치 드라이버와 정확히 통신하는 방법은 무엇입니까?

일반적으로 운전자와 정확히 이야기하는 사람은 누구입니까? 프로그래머가 응용 프로그램을 작성하여 드라이버에서 함수를 호출해야합니까? 또는 프로그래머가 운영 체제를 통해 함수를 호출 한 다음 드라이버에 대한 호출을 처리합니까? 보시다시피 저는 드라이버, OS 및 응용 프로그램이 어떻게 잘 어울리는 지에 대해 혼란스러워합니다.

+0

https://msdn.microsoft.com/en-us/library/jj919267.aspx 다음은 창문의 멋진 그림입니다. – JCx

답변

1

응용 프로그램이 드라이버를 직접 호출하지 않습니다. 이는 사용자 모드 및 커널 분리에 대한 전체적인 생각을 위반하는 것입니다. 대신에 OS는 해당 ABI을 사용자 모드 프로그램에 노출하여 응용 프로그램이 (문서화되어야하는 미리 정의 된 제한 사항과 관련하여) 노출 된 기능을 호출 할 수있게합니다.

관련 문제