윈도우 프로세스 핵심 데이터 구조체에 대해서 알아보자.
익스큐티브 프로세스 (EPROCESS)
- 모든 윈도우 프로세는 EPROCESS로 표현됨.
- 프로세스의 여러 속성 뿐만아니라 연관된 다른 구조체를 가리키는 포인터도 존재함.
- 시스템 주소 공간에 위치함
KPROCESS
- EPROCESS 구조체의 첫 필드인 PCB의 타입.
- 커널 프로세스를 위한 구조체 타입이다.
- 익스큐티브 루틴은 EPROCESS에 정보 저장, 그러나 운영체제 커널은 KPROCESS에 정보를 저장
- 커널의 일부로서 디스패처, 스케줄러, 인터럽트, 시간관리코드 등이 존재
--> 익스큐티브 상위 레벨 기능과.. 해당 기능의 구현을 위한 하위 레벨 함수의 구현 간에 추상화 계층을 제공
--> 계층 간 원치 않는 종속성이 생기지 않도록 함.
※ KPROCESS는 EPROCESS의 첫번째 필드. EPROCESS 주소를 KPROCESS로 이용하여 dt _kprocess 명령 이용 가능
PEB
CSR_PROCESS
- 윈도우 서브시스템 프로세스(Csrss.exe)가 관리하는 프로세스마다 대응되는 구조체.
- 윈도우 애플리케이션만이 자신과 연관된 CSR_PROCESS 구조체 가짐
- CSR_PROCESS 구조체는 각 세션 내의 Csrss프로세스에 의해 관리됨
W32PROCESS
- 커널모드 쪽의 윈도우 서브시스템(Win32k.sys)가 관리하는 프로세스별 데이터 구조체.
- 커널 내에서 윈도우 그래픽이나 윈도우 관리 코드가 GUI 프로세스의 상태 정보를 관리하기 위해 필요한 모든 정보를 가짐
- Win32k 구조체 타입 (공개 심볼로는 이용 불가능)
DXGPROCESS
- 커널모드 윈도우 서브시스템은 DirectX 기반의 하드웨어 가속 그래픽을 과중하게 사용하기 때문에..
- 그래픽 다비이스 인터페이스(GDI) 컴포넌트 인프라가 DirectX 그래픽 커널(Dxgkrnl.sys)로 하여금 DXGPROCESS 구조체를 초기화하게 함.
'System > windows' 카테고리의 다른 글
ch3. #2 CreateProcess (0) | 2022.07.01 |
---|---|
ch3. #1 프로세스 핵심 구조체 (0) | 2022.07.01 |
Windows 이벤트 뷰어 (0) | 2022.06.17 |
윈도우 인증 과정과 LSA Protection 레지스트리 (0) | 2022.06.17 |
윈도우 보안 시스템 구성 요소 (0) | 2022.05.09 |