버퍼동기화
디바이스 드라이버가 응용프로그램의 버퍼를 확인 했을 때 실제 버퍼를 볼 수 없는 일이 발생할 수 있다. 왜? 어플리케이션은 일단 명령을 던져두고 다시 응답이 있을때까지 기다리는 것이 아니라 다른 일을 하러 가야하기 때문에 시스템 버퍼 방식(METHOD_BUFFERED) : 시스템 버퍼에 사용자의 버퍼를 보관하고 사용자의 버퍼라고 간주하고 사용되는 방식 운영체제는 응용 프로그램이 제공하는 버퍼를 보호하기 위해서, 응용프로그램의 버퍼와 똑같은 크기의 버퍼를 새로 할당한다. 디바이스 드라이버는 이렇게 새로 할당된 시스템 버퍼를 사용한다. 이때 실제 응용프로그램버퍼와 시스템 버퍼간의 동기화 문제는 운영체제가 관여한다. MDL 방식(METHOD_IN_DIRECT, METHOD_OUT_DIRECT) : 사용자 버퍼..
청강컴정/시스템프로그래밍
2009. 4. 30. 20:06