시스템파일과 DLL과의 차이점
글쓴이: 이소희 / 작성시간: 화, 2006/10/17 - 7:50오후
제가 생각하고 있는 확장자가 sys인 파일과 dll인 파일의 차이점이 맞는건지 모르겠네요.
갑자기 제대로 모르고 있다는 생각이 들어 글을 올립니다.
___A.sys___
|++++++++| ---- 가)
| Func1()+++| ---- 나)
-----------
이럴경우 가)와 나)에서 A.sys에 접근하여 Func1을 접속하게 되면 하나의 프로그램에서 접속하는 것처럼
사용하는것 처럼 되고, 즉 Func1()을 동시에 사용하게 되는게 아닌가? 하는 생각을 하게 되네요.
그리고 DLL의 경우는
___A.dll___
|++++++++| ---- 가)
| Func1()+++| ---- 나)
-----------
위 그림처럼 가)와 나)가 접근 하게 되면, Func1()함수를 가)와 나)가 각자의 것처럼 사용하게 된다??
이게 맞나요?
+_+
여기저기 웹 찾아보고 책 뒤져봐도 찾질 못하고 여기에 질문 올립니다.
좋은밤 되세요.~!
Forums:
Windows에서 SYS와 DLL
Windows에서 SYS와 DLL 파일은 파일 구조로 본다면 PE 포맷을 사용하므로
동일합니다. 다만 하는 역할과 내부 함수 구조가 다릅니다.
SYS 파일은 디바이스 드라이버로 동작하며 엔트리 포인트가 DriverEntry로 시작합니다.
그리고 DeviceAttach, DeviceRemove, DeviceIoctl, Read, Write 등의 OS에서 장치를 제어하기
위한 인터페이스 함수를 구현합니다. 그리고 동작이 커널모드에서 수행되므로 모든 프로그램에
대해 동일한 인스턴스만 보입니다. DLL과는 달리 운영체제에서만 접근할 수 있으며 응용프로
그램은 직접 SYS 파일에 Call을 할 수 없습니다.
DLL 파일은 함수들을 동적 라이브러리로 불러와서 사용하기 위한 인터페이스로서 엔트리
포인트는 DllMain입니다. 나머지 함수는 임의로 만들어서 쓸 수 있고 원하는 함수만 export
하여 응용프로그램에서 사용할 수 있습니다. DLL은 유저모드에서 수행되므로 모든 프로그램
에 하나씩의 인스턴스가 생성됩니다.
감사합니다.
정말 감사합니다.
행복한 하루 되세요 ^^
내 삶속에 던져진 나.
댓글 달기