본문 바로가기
반응형

57

Struct Size struct SizeTest { char ch; int Data; } void main() { sizeof (SizeTest); } #pragma pack(1); 전치리기 처리를 하지않으면 8이 나옴 2009. 10. 12.
04. 프로세스 - CreateProcess BOOL CreateProcess함수를 이용하면 새로운 프로세스를 생성할 수 있다. BOOL CreateProcess( PCTSTR pszApplicationName, PSECURITY_ATTRIBUTES psaProcess, PSECURITY_ATTRIBUTES psaThread, BOOL bInheritHandles, DWORD fdwCreate, PVOID pvEnvironment, PCTSTR pszCurDir, PSTARTUPINFO psiStartInfo, PROCESS_INFORMATION ppiProcInfo); 스레드가 CreateProcess를 호출하면 시스템은 사용 카운트가 1인 프로세스 커널 오브젝트를 생성한다. 프로세스 커널 오브젝트는 프로세스 자체를 의미하는 것은 아니며, 운영체.. 2009. 8. 21.
03. 프로세스 프로세스란 일반적으로 수행 중인 프로그램의 인스턴스 라고 정의한다. 프로세스의 구성요소 ① 프로세스 커널 오브젝트 : 프로세스를 관리하기 위한 목적으로 운영체제가 사용하는 커널 오브젝트, 시스템은 프로세스에 대한 각종 통계 정보를 프로세스 커널 오브젝트에 저장하기도 한다. ② 주소 공간 : 실행 모듈이나 DLL(Dynamic-Link Library)의 코드와 데이터를 수용하는 주소 공간, 이러한 주소 공간은 스레드 스택이나 힙 할당과 같은 동적 메모리 할당에 사용되는 공간도 포함된다. - 스레드 프로세스는 자력으로 수행될 수 없다. 프로세스가 무언가를 수행하기 위해서는 반드시 프로세스의 컨텍스트(Context) 내에서 수행되는 스레드(Thread)가 있어야 한다. 스레드는 프로세스의 주소 공간 상에 위치.. 2009. 8. 21.
02. 커널 오브젝트 下 4. 프로세스간 커널 오브젝트의 공유 (1) 오브젝트 핸들의 상속을 이용하는 방법 오브젝트를 공유하고자 하는 프로세스들이 부모-자식(Parent-Child) 관계를 가질 때에만 사용될 수 있다. 하나 혹은 다수의 커널 오브젝트 핸들이 부모 프로세스에 의해 사용되고 있고, 부모 프로세스가 자식 프로세스가 사용하고 있는 커널 오브젝트에 접근할 수 있도록 해주는 방법이다. - 오브젝트 핸들의 상속이 정상 동작하기 위해서 수행해 주어야 할것 ① 부모 프로세스는 커널 오브젝트를 생성할 때 이를 가리키,는 핸들이 상속될 수 있음을 시스템에게 알려주어야 한다. ※ 윈도우에서는 "오브젝트 상속"이라는 개념은 존재 하지 않는다. 윈도우는 "오브젝트 핸들의 상속"을 지원하지 오브젝트 자체를 상속하지 않는다. ② 상속 가능.. 2009. 8. 18.
반응형