도 6 은 본 발명 의 실시 예 에 따라 서브 - C 도메인 들 을 확립 하 는 것 을 예시 하 는 흐름 도 ( 600 ) 이 다 . 블록 602 에서 , AV 애플리케이션 ( 300 ) 은 트랩 할 커널 레지스터 들 ( 512 ) , 및 이 들 레지스터 들 을 수정 시키 도록 허용 된 커널 내 의 코드 로케이션 들 - 예 를 들 면 게스트 OS ( 200 ) 컨텍스트 에 대한 CR 3 의 값 을 변경 하 도록 허용 되 는 스케줄링 소프트웨어 - 을 식별 한다 . 블록 604 에서 , AV 애플리케이션 은 오류 핸들러 ( 304 ) 에게 , 선택 된 레지스터 들 상 에 트랩 을 설정 하 라는 메시지 , 및 레지스터 들 에 수정 들 을 수행 하 도록 허용 된 코드 로케이션 들 을 전송 한다 . 블록 606 에서 , 오류 핸들러 는 레지스터 들 및 코드 로케이션 들 을 도메인 C - 1 ( 502 ) 에 배치 하 고 , 레지스터 들 및 인가 된 코드 로케이션 들 상 에 기록 트랩 들 을 설정 한다 . 이 포인트 에서 , 레지스터 들 로 의 모든 비 인가 된 액세스 들 은 보호 된 실행 환경 시스템 내 에 트랩 을 생성 할 것 이 고 , 이 는 도메인 D ( 306 ) 로부터 도메인 C - 1 ( 502 ) 로 의 기록 일 것 이 라는 점 에서 비바 위반 을 생성 할 것 이 다 . 블록 608 에서 , AV 애플리케이션 은 도메인 C - 1 의 레지스터 들 의 값 들 을 이용 하 여 , 도메인 C - 2 ( 504 ) 내 에서 보호 를 필요 로 하 는 시스템 의 페이지 테이블 들 ( 514 ) 을 식별 한다 . 블록 610 에서 , AV 애플리케이션 은 오류 핸들러 에게 , 선택 된 페이지 테이블 엔트리 들 상 에 트랩 을 설정 하 라는 메시지 를 전송 하 고 , 이 들 로케이션 들 ( 예 를 들 면 , 페이지 오류 핸들러 ) 에 대한 수정 들 을 수행 하 도록 허용 된 로케이션 들 의 리스트 를 포함 한다 . 블록 612 에서 , 오류 핸들러 는 선택 된 페이지 테이블 엔트리 들 상 에 , 페이지 테이블 을 수정 시키 도록 인가 된 이 들 코드 로케이션 들 상 에 트랩 들 을 설정 하 고 , 메모리 및 코드 로케이션 들 을 도메인 C - 2 ( 504 ) 에 배치 한다 . 이러 한 포인트 에서 , 페이지 테이블 로 의 모든 비 인가 된 액세스 들 은 보호 된 실행 환경 시스템 내 에 트랩 을 생성 할 것 이 고 , 이 는 도메인 D ( 306 ) 로부터 도메인 C - 2 ( 504 ) 로 의 기록 일 것 이 라는 점 에서 비바 위반 을 생성 할 것 이 다 . 모든 인가 된 오퍼레이션 들 은 도메인 C - 2 ( 504 ) 로부터 도메인 C - 2 로 , 또는 도메인 C - 2 로부터 도메인 D ( 306 ) 로 의 기록 일 것 이 다 . 이 포인트 에서 , 코어 시스템 ( 커널 ) 레지스터 들 및 페이지 테이블 들 이 보호 되 었 다 . 이것 은 시스템 이 이 들 코어 요소 들 상 에 더 복잡 한 트랩 들 을 구축 할 수 있 도록 허용 한다 .