Windows , IIS

익스큐티브 객체

SungWookKang 2015. 7. 16. 19:07
반응형

익스큐티브 객체

  • Windows Server 2008

 

익스큐티브 객체는 일반적으로 사용자 애플리케이션을 위해 환경 서브시스템에 의해 생성되거나 다양한 운영체제 구성 요소의 통상적인 동작으로 인해 생성 된다. 예를 들어 파일을 생성하기 위해 윈도우 애플리케이션은 윈도우 서브시스템 DLL인 Kernel32.dll 에 구현된 윈도우 CreateFile 함수를 호출한다. CreateFile은 일부 유효성 검사와 초기화 이후에 익스큐티브 파일 객체를 생성하기 위해 네이티브 윈도우 서비스 NtCraeteFile을 호출 한다.

 

윈도우 서브시스템은 자신의 객체 집합(이 중의 많은 객체가 익스큐티브 객체와 직접적으로 대응된다.)을 익스포트 하기 위해 익스큐티브 객체를 사용한다. 예를 들어 윈도우 뮤텍스와 세마포어는 익스큐티브 객체에서 직접 기반을 둔다. 윈도우 서브시스템은 또한 네임드 파이프(named pipe)와 메일 슬롯, 익스큐티브 파일 객체를 기반으로 하는 자원을 제공한다.

 

POSIX 같은 서브시스템은 객체를 객체로 전혀 지원하지 않는다. POSIX 서브시스템은 POSIX 스타일의 프로세스와 파이프, 자신의 애플리케이션에 대한 그 밖의 자원을 제공하기 위한 기본으로 익스큐티브 객체와 서비스를 사용한다.

 

다음 표는 익스큐티브가 제공하는 주 객체의 목록이다.

객체 유형

의미

Process

스레드 객체들의 실행을 위해 필요한 가상 주소 공간과 제어 정보

Thread

프로세스 내의 실행가능 주체(entity)

Job

잡(job)을 통한 단일 주체로서 관리 가능한 프로세스의 모임

Section

공유 메모리 영역(파일 메모리 매핑)

File

오픈 파일이나 I/O 디바이스 인스턴스

Token

프로세스 또는 스레드의 보안 프로파일(보안ID와 사용자 권한 등)

Event

동기화나 통지에 사용될 수 있는 지속적인 상태를 갖는 객체

Semaphore

정해진 최대 수만큼의 스레드가 세마포어에 의해 보호되는 자원을 접근하게 허용함으로써 자원 게이트(gate)를 제공하는 카운터

Mutex

자원 접근을 직렬화하는 데 사용되는 동기화 메커니즘

Timer

정해진 기간이 경과했을 때 스레드에 통지하는 메커니즘

IOCompletion

스레드가 I/O 동작 완료에 대한 통지를 대기열에 넣거나 제거하기 위한 방법(윈도우 API에서는 I/O 완료 포트로 불림)

Key

레지스트리의 데이터를 참조하는 메커니즘, 키가 객체 관리자의 이름 공간에 보일지라도 파일 객체가 파일 시스템 드라이버에 의해 관리되는 것과 유사한 방식으로 구성(configureation) 관리자에 의해 관리 된다. 0 또는 그이상의 키 값이 하나의 키 객체와 관련되어 있다. 키 값은 키에 관한 데이터를 포함한다.

Directory

객체 관리자의 이름 공간에 있는 가상 디렉터리는 또 다른 객체나 객체 디렉터리를 포함하는 책임을 진다.

TpWorkerFactory

특정 작업 모임을 수행하기 위해 할당된 스레드의 모임. 커널은 큐에서 수행될 워크 아이템의 수와 작업을 책임지는 스레드의 수, 작업자 스레드의 동적 생성과 종료, 호출자가 설정할 수 있는 한계를 관리할 수 있다. 윈도우 비스비부터 스레드 풀을 통해 작업자 팩토리 객체를 노출 한다.

Tmrm(자원관리자), TmTx(트랜잭션), TmTm(트랜잭션 관리자), TmEn(등록)

자원 관리자나 트랜잭션 관리자의 일부 작업인 다양한 트랜잭션과 등록을 위한 용도로 커널 트랜잭션 관리자(KTM)가 사용하는 객체.

Windowstation

클립보드와 전역 아톰 집합, 데스크톱 객체 그룹을 포함하는 객체

Desktop

윈도우 스테이션 내에 포함된 객체. 데스크톱은 논리 디스플레이 화면을 가지며 윈도우와 메뉴, 훅을 포함한다.

 

 

 

[참고자료]

Windows Internals

 

반응형