분류 전체보기 1386

객체구조 – 객체 유지

객체구조 – 객체 유지 Windows Server 2008 객체 유형에는 임시 객체와 영구 객체가 있다. 임시객체는 사용중인 동안만 존재하며 더 이상 필요가 없을 때 해제 된다. 영구 객체는 명시적으로 해제 될 때까지 존재한다. 대부분의 객체는 임시 객체이다. 객체에 접근하는 모든 유저 모드 프로세스는 먼저 객체에 대한 핸들을 오픈 해야 하므로 객체 관리자는 얼마나 많은 유저모드 프로세스가 객체를 사용하고 있는지 쉽게 추적할 수 있다. 추적에는 2단계가 있다. 첫 단계는 존재하는 객체에 대한 오픈 핸들 수로 제어한다. 오픈 할 때 카운터를 증가하고 닫을 때 카운터를 감소하여 0이되면 객체관리자는 자신의 전역 이름공간에서 해당 객체의 이름을 삭제한다. 두 번째 단계는 객체가 더 이상 사용되지 않을 대 객체..

Windows , IIS 2015.07.16

객체구조 – 객체 보안

객체구조 – 객체 보안 Windows Server 2008 파일을 오픈 할 때 읽기 용도인지 쓰기 용도인지 지정해야 한다. 읽기 접근 권한으로 오픈 된 파일에 쓰려고 하면 오류가 발생한다. 유사하게 익스큐티브에서 프로세스가 객체를 생성하거나 기존 객체에 대한 핸들을 오픈 할 때 프로세스는 요구 접근 권한의 집합을 지정해야 한다. 이 접근 권한은 모든 객체 유형에 적용되는 표준 접근 권한(읽기와 쓰기, 실행)이나 객체 유형마다 다른 특정 접근 권한을 요청한다. 프로세스가 객체에 대한 핸들을 오픈 할 때 객체 관리자는 프로세스의 요구 접근 권한을 전달하면서 보안 시스템의 커널 모드 부분인 보안 참조 모니터를 호출 한다. 보안 참조 모니터는 프로세스가 요청하는 접근 유형을 허용하는지 객체 보안 디스크립터가 검..

Windows , IIS 2015.07.16

객체구조 – 객체 핸들과 프로세스 핸들 테이블

객체구조 – 객체 핸들과 프로세스 핸들 테이블 Windows Server 2008 프로세스는 이름을 사용하여 객체를 생성하거나 오픈 할 때 객체에 대한 자신의 접근을 나타내는 핸들을 받는다. 객체 관리자는 이름 찾기 과정을 생략하고 객체를 직접 찾을 수 있기 때문에 객체 이름보다 객체의 핸들로써 객체를 참조하는 것이 좀더 빠르다. 프로세스는 프로세스 생성 시점에서 핸들을 상속받거나 또는 다른 프로세스로부터 복사된 핸들을 받음으로써 객체에 대한 핸들을 구할 수 있다. 익스큐티브 구성 요소와 디바이스 드라이버는 커널모드에서 실행해 시스템 메모리에 있는 객체 구조체에 접근할 수 있기 때문에 직접 객체에 접근한다. 객체 핸들은 추가적인 이점이 있다. 객체 핸들은 자신들이 참조하는 대상을 제외하면 파일 핸들과 이..

Windows , IIS 2015.07.16

객체구조 – 객체 메소드

객체구조 – 객체 메소드 Windows Server 2008 객체 유형이 사용되는 방법에 따라 어떤 객체 유형은 메소드를 명시하는 반면 메소드를 명시하지 않는 객체 유형도 있다. 익스큐티브 구성 요소가 새로운 객체 유형을 생성할 때 하나 이상의 메소드를 객체 관리자에 등록할 수 있다. 이후부터 객체 관리자는 메소드가 등록된 유형의 객체 수명 동안에 잘 정의된 시점(일반적으로 객체가 생성될 때나 어떤 식으로든지 변경될 때)에 메소드를 호출 한다. 다음 표는 객체 메소드와 호출 시점에 대한 내용이다. 메소드메소드가 호출되는 시점Open객체 핸들이 오픈 될 때Close객체 핸들이 닫힐 때Delete객체 관리자가 객체를 삭제하기 전Query Name스레드가 보조(secondary)객체 이름 공간에 존재하는 객체..

Windows , IIS 2015.07.16

객체구조 – 형식 객체

객체구조 – 형식 객체 Windows Server 2008 객체 헤더는 모든 객체에 공통적인 데이터를 포함하지만 객체 각 인스턴스마다 다른 값을 가질 수 있다. 예를 들어 각 객체는 고유한 이름을 가지며 고유한 보안 디스크립터를 가질 수 있다. 하지만 객체는 특정 유형의 모든 객체에 대해서는 항상 변하지 않는 값을 가지기도 한다. 어떤 유형의 객체 핸들을 오픈 할 때 접근 권한 집합에서 이 객체 유형에 고유한 권한을 선택할 수 있다. 익스큐티브는 스레드 객체의 경우 여러 접근 권한 중에 종료와 서스펜드 접근 권한을 제공하고 파일 객체의 경우에는 읽기와 쓰기, 추가, 삭제 접근 권한을 제공한다. 객체 관리자는 메모리 절약을 위해 이들 정적이며 객체 유형 특정적인 속성을 새로운 객체 유형을 생성할 때 한번만..

Windows , IIS 2015.07.16

객체구조 – 객체 헤더와 본체

객체구조 – 객체 헤더와 본체 Windows Server 2008 객체는 객체 헤더와 객체 본체를 가진다. 객체 관리자는 객체 헤더를 제어하고 객체를 소유하는 익스큐티브 구성요소는 자신들이 생성하는 객체 유형의 객체 본체를 제어한다. 각 객체 헤더는 객체의 각 인스턴스에 공통적인 정보를 포함하는 형식객체로 불리는 특별한 객체를 가리킨다. 그리고 옵션으로 4개까지의 서브헤더(이름 정보 헤더, 쿼터 정보 헤더, 핸들정보 헤더, 생성자 정보헤더)가 존재 한다. 객체 관리자는 객체의 유형에 관계 없이 객체를 관리하기 위해 객체 헤더에 저장된 데이터를 사용한다. 다음 표는 객체 헤더 필드 이다. 필드목적핸들 카운트객체에 대한 현재 오픈 되어 있는 핸들의 수를 관리한다.포인터 카운트각 핸들에 대해 하나의 참조를 포..

Windows , IIS 2015.07.16

익스큐티브 객체

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

Windows , IIS 2015.07.16

커널모드 시스템 디스패칭과 서비스 디스크립터 테이블

커널모드 시스템 디스패칭과 서비스 디스크립터 테이블 Windows Server 2008 [커널모드 시스템 디스패칭] 커널은 시스템 서비스 디스패치 테이블에서 시스템 서비스 정보를 찾기 위해 시스템 호출 번호를 사용한다. 이 테이블은 각 엔트리가 인터럽트 처리 루틴이 아닌 시스템 서비스에 대한 포인터를 갖고 있다는 점만 제외하면 인터럽트 디스패치 테이블과 유사하다. 시스템 서비스 디스패처인 KiSystemService는 스레드의 유저모드 스택에 있는 호출자의 인자를 스레드의 커널 스택에 복사하고 시스템 서비스를 실행 한다. 이전 모드는 커널이 트랩 핸들러를 실행할 때마다 스레드에 저장하는 값이며 발생할 예외나 트랩 시스템 호출에 대한 특권 레벨을 식별한다. 커널모드 코드는 시스템 호출이 가능하고 CPU는 ..

Windows , IIS 2015.07.16

32비트, 64비트 시스템 서비스 디스패칭

32비트, 64비트 시스템 서비스 디스패칭 Windows Server 2008 [32비트 시스템 서비스 디스패칭] 펜티엄2 이전의 x86 프로세서에서 윈도우는 트랩을 유발하는 int 0x2e(10진수 46)명령을 사용했다. 윈도우 IDT 엔트리 46을 시스템 서비스 디스패처를 가리키게 설정한다. X86 펜티엄2 프로세서나 상위 버전의 경우 윈도우는 sysenter 명령을 사용한다. 이 명령은 빠른 시스템 서비스 디스패처를 위해 인텔이 특별히 정의한 명령이다. 이 명령을 지원하기 위해 윈도우는 부팅 시점에 커널의 시스템 서비스 디스패처 루틴 주소를 이 명령과 연관된 머신 특정적인 레스터(MSR)에 저장한다. 이 명령을 실행하면 커널모드로 변경되어 시스템 서비스 디스패처가 실행 된다. 시스템 서비스 번호는 ..

Windows , IIS 2015.07.16

윈도우 오류 보고

윈도우 오류 보고 Windows Server 2008 윈도우 오류 보고 (Windows Error Reporting)는 유저모드 프로세스 크래시와 커널모드 시스템 크래시 모두를 자동으로 전송한다. 윈도우 오류 보고는 제어판에서 [문제 보고서 및 해결 방법 – 설정 변경]에서 또는 [시작-실행]에서 Wercon.exe 명령으로 구성 할 수 있다. Windows Error Reporting Service 서비스가 실행 중이어야 한다. 디폴트로 구성된 시스템에서는 오류 보고서(미니덤프와 프로세스 내에 로드된 DLL 버전 번호 같은 여러 세부 정보를 가진 XML 파일)가 마이크로소프트 온라인 크래시 분석 서버로 전송 된다. WER 서비스는 문제에 대한 해결책을 통지 받으면 사용자에게 문제 해결을 위해 취해야 할..

Windows , IIS 2015.07.16