책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 윈도우 프로그래밍
· ISBN : 9788960775541
· 쪽수 : 1804쪽
· 출판일 : 2014-05-09
책 소개
목차
『Windows Internals 제6판 Vol. 1』
1장 개념과 도구
___윈도우 운영체제 버전
___기본 개념과 용어
______윈도우 API
______서비스, 함수, 루틴
______프로세스, 스레드, 잡
______가상 메모리
______커널 모드와 유저 모드
______터미널 서비스와 다중 세션
______객체와 핸들
______보안
______레지스트리
______유니코드
___윈도우 내부 들여다보기
______성능 모니터
______커널 디버깅
______윈도우 소프트웨어 개발 킷
______윈도우 드라이버 킷
______Sysinternals 툴
___정리
2장 시스템 아키텍처
___요구 사항과 설계 목표
___운영체제 모델
___아키텍처 개요
______이식성
______대칭형 멀티프로세싱
______확장성
______클라이언트와 서버 버전의 차이
______체크드 빌드
___핵심 시스템 컴포넌트
______환경 서브시스템과 서브시스템 DLL
______Ntdll.dll
______익스큐티브
______커널
______하드웨어 추상화 계층
______디바이스 드라이버
______시스템 프로세스
___정리
3장 시스템 메커니즘
___트랩 디스패칭
______인터럽트 디스패칭
______타이머 프로세싱
______예외 디스패칭
______시스템 서비스 디스패칭
___객체 관리자
______익스큐티브 객체
______객체 구조
___동기화
______High-IRQL 동기화
______Low_IRQL 동기화
___시스템 작업자 스레드
___윈도우 전역 플래그
___고급 로컬 프로시저 호출
______접속 모델
______메시지 모델
______비동기 동작
______뷰와 영역, 섹션
______속성
______블랍, 핸들, 자원
______보안
______성능
______디버깅과 추적
___커널 이벤트 트레이싱
___Wow64
______Wow64 프로세스 주소 공간 배치
______시스템 호출
______예외 전달
______유저 APC 디스패칭
______콘솔 지원
______사용자 콜백
______파일 시스템 리다이렉션
______레지스트리 리다이렉션
______I/O 제어 요청
______16비트 인스톨러 애플리케이션
______프린팅
______제약 사항
___유저 모드 디버깅
______커널 지원
______네이티브 지원
______윈도우 서브시스템 지원
___이미지 로더
______이른 시점의 프로세스 초기화
______DLL 이름 변환과 리다이렉션
______로드된 모듈의 데이터베이스
______임포트 파싱
______포스트 임포트 프로세스 초기화
______스위치백
______API 셋
___하이퍼바이저(Hyper-V)
______파티션
______부모 파티션
______자식 파티션
______하드웨어 에뮬레이션과 지원
___커널 트랜잭션 관리자
___핫패치 지원
___커널 패치 보호
___코드 무결성
___정리
4장 관리 메커니즘
___레지스트리
______레지스트리 보기와 변경
______레지스트리 사용
______레지스트리 데이터 유형
______레지스트리의 논리적 구조
______트랜잭션 레지스트리(TxR)
______레지스트리 행위 감시
______프로세스 모니터의 내부 구조
______레지스트리 내부
___서비스
______서비스 애플리케이션
______서비스 제어 관리자
______서비스 시작
______시작 에러
______마지막으로 성공한 구성으로 부팅
______서비스 실패
______서비스 셧다운
______공유 서비스 프로세스
______서비스 태그
___통합 백그라운드 프로세스 관리자
______초기화
______UBPM API
______공급자 등록
______소비자 등록
______작업 호스트
______서비스 제어 프로그램
___윈도우 관리 도구
______WMI 아키텍처
______공급자
______CIM과 MOF 언어
______클래스 연관화
______WMI 구현
______WMI 보안
___윈도우 진단 인프라
______WDI 조율
______진단 정책 서비스
______진단 기능
___정리
5장 프로세스, 스레드, 잡
___프로세스 내부 구조
______데이터 구조체
___보호 프로세스
___CreateProcess 흐름
______1단계: 매개 변수와 플래그의 유효성 검사와 변환
______2단계: 실행할 이미지 열기
______3단계: 윈도우 익스큐티브 프로세스 객체(PspAllocateProcess) 생성
______4단계: 초기 스레드와 스택 및 컨텍스트 생성
______5단계: 윈도우 서브시스템에 특화된 후반부 초기화
______6단계: 초기 스레드의 실행 시작
______7단계: 새 프로세스의 컨텍스트에서 프로세스 초기화 수행
___스레드 내부 구조
______데이터 구조체
______스레드의 탄생
___스레드 활동성 검사
______보호 프로세스 스레드의 제약
___작업자 팩토리(스레드 풀)
___스레드 스케줄링
______윈도우 스케줄링의 개요
______우선순위 수준
______스레드 상태
______디스패처 데이터베이스
______퀀텀
______우선순위 상승
______컨텍스트 전환
______스케줄링 시나리오
______유휴 스레드
______스레드 선택
______멀티프로세서 시스템
______멀티프로세서 시스템에서의 스레드 선정
______프로세서 선택
___프로세서 공유 기반 스케줄링
______분산된 공정한 공유 스케줄링
______CPU 속도 제한
___동적 프로세서 추가와 교체
___잡 객체
______잡 제약
______잡 셋
___정리
6장 보안
___보안 등급
______신뢰성 있는 컴퓨터 시스템 평가 지침(TCSEC)
______공용 평가 기준
___보안 시스템 구성 요소
___객체 보호
______접근 검사
______보안 식별자
______가상 서비스 계정
______보안 디스크립터와 접근 제어
___AuthZ API
______조건부 ACE
___계정 권한과 특권
______계정 권한
______특권
______슈퍼 특권
___프로세스와 스레드의 접근 토큰
___보안 감사
______객체 접근 감사
______전역 감사 정책
______고급 감사 정책 설정
___로그온
______Winlogon 초기화
______사용자 로그온 과정
______보장된 인증
______사용자 인증을 위한 생체 인식 프레임워크
___사용자 계정 컨트롤과 가상화
______파일 시스템과 레지스트리 가상화
______상승
___애플리케이션 인증(AppID)
___AppLocker
___소프트웨어 제한 정책
___정리
7장 네트워킹
___윈도우 네트워킹 아키텍처
______OSI 참조 모델
______윈도우 네트워크 구성 요소
___네트워킹 API
______윈도우 소켓
______윈속 커널(WSK)
______프로시저 호출
______웹 액세스 API
______네임드 파이프와 메일슬롯
______NetBIOS
______기타 네트워킹 API
___다중 리다이렉터 지원
______다중 공급자 라우터
______다중 UNC 공급자
______대리 공급자
______리다이렉터
______미니 리다이렉터
______서버 메시지 블록과 서브 리다이렉터
___분산 파일 시스템 네임스페이스
___분산 파일 시스템 복제
___오프라인 파일
______캐싱 모드
______고스트
______데이터 보안
______캐시 구조
___브랜치캐시
______캐싱 모드
______애플리케이션 탐색 최적화된 브랜치캐시: SMB 시퀀스
______애플리케이션 탐색 최적화된 브랜치캐시 : HTTP 시퀀스
___이름 변환
______도메인 이름 시스템
______피어 이름 변환 프로토콜
___위치와 토폴로지
______네트워크 위치 인식
______네트워크 연결 상태 표시기
______링크 계층 토폴로지 검색
___프로토콜 드라이버
______윈도우 필터링 플랫폼
___NDIS 드라이버
______NDIS 미니포트의 변형
______연결 지향형 NDIS
______원격 NDIS
______QoS
___바인딩
___계층화된 네트워크 서비스
______원격 액세스
______액티브 디렉터리
______네트워크 로드 밸런싱
______네트워크 액세스 프로텍션
______다이렉트 액세스
___정리
『Windows Internals 제6판 Vol. 2』
8장 I/O 시스템
I/O 시스템 컴포넌트
____I/O 관리자
____전형적인 I/O 처리
디바이스 드라이버
____디바이스 드라이버의 유형
____드라이버의 구조
____드라이버 객체와 디바이스 객체
____장치 열기
I/O 처리
____I/O의 유형
____단일 계층 드라이버의 I/O 요청
____계층 드라이버에 대한 I/O 요청
____I/O 취소
____I/O 완료 포트
____I/O 우선순위화
____컨테이너 통지
____드라이버 베리파이어
커널 모드 드라이버 프레임워크(KMDF)
____KMDF 드라이버의 구조와 동작
____KMDF 데이터 모델
____KMDF I/O 모델
유저 모드 드라이버 프레임워크(UMDF)
플러그앤플레이(PnP) 관리자
____플러그앤플레이 지원 레벨
____플러그앤플레이를 위한 드라이버 지원
____드라이버 로딩, 초기화, 설치
____드라이버 설치
전원 관리자
____전원 관리자의 동작
____드라이버의 전원 동작
____드라이버와 애플리케이션의 장치 전원 제어
____전원 가용성 요청
____프로세서 전원 관리(PPM)
정리
9장 스토리지 관리
스토리지 용어
디스크 디바이스
____회전식 자기 디스크
____SSD
디스크 드라이버
____WinLoad
____디스크 클래스와 포트, 미니포트 드라이버
____디스크 디바이스 객체
____파티션 관리자
볼륨 관리
____기본 디스크
____동적 디스크
____멀티파티션 볼륨 관리
____볼륨 네임스페이스
____볼륨 I/O 동작
____가상 디스크 서비스
가상 하드 디스크 지원
____VHD 연결
____중첩된 파일 시스템
비트락커 드라이브 암호화
____암호화 키
____신뢰된 플랫폼 모듈
____비트락커 부트 과정
____비트락커 키 복구
____전체 볼륨 암호화 드라이버
____비트락커 관리
____휴대용 비트락커
볼륨 셰도우 복사본 서비스
____셰도우 복사본
____VSS 아키텍처
____VSS 동작
____윈도우에서의 활용
정리
10장 메모리 관리
메모리 관리자 소개
____메모리 관리자 컴포넌트
____내부 동기화
____메모리 사용량 측정
메모리 관리자가 제공하는 서비스
____큰 페이지와 작은 페이지
____페이지 예약과 커밋
____커밋 제한
____메모리 락킹
____할당 단위
____공유 메모리와 맵 파일
____메모리 보호
____실행 방지 페이지 보호
____Copy-on-Write
____주소 윈도우 확장
커널 모드 힙(시스템 메모리 풀)
____풀 크기
____풀 사용량 모니터링
____룩 어사이드 리스트
힙 관리자
____힙의 종류
____힙 관리자 구조
____힙 동기화
____저단편화 힙(LFH)
____힙 보안 특징
____힙 디버깅 특징
____페이지힙
____폴트 톨러런트 힙
가상 주소 공간 배치
____x86 주소 공간 배치
____x86 시스템 주소 공간 배치
____x86 세션 공간
____시스템 페이지 테이블 엔트리
____64비트 주소 공간 배치
____64비트 가상 주소 제약
____동적인 시스템 가상 주소 관리
____시스템 가상 주소 공간 할당량
____사용자 주소 공간 배치
주소 변환
____x86 가상 주소 변환
____변환 룩 어사이드 버퍼
____물리 주소 확장(PAE)
____x64 가상 주소 변환
____IA64 가상 주소 변환
페이지 폴트 핸들링
____유효하지 않은 PTE
____프로토타입 PTE
____인 페이징 IO
____페이지 폴트 충돌
____클러스터 페이지 폴트
____페이지 파일
____커밋의 양과 시스템 커밋 제한
____커밋의 양과 페이지 파일 크기
스택
____유저 스택
____커널 스택
____DPC 스택
가상 주소 디스크립터
____프로세스 VAD
____VAD 회전
NUMA
섹션 객체
드라이버 베리파이어
페이지 프레임 번호 데이터베이스
____페이지 리스트 다이내믹스
____페이지 우선순위
____변경 페이지 기록자
____PFN 데이터 구조
물리 메모리 제한
____윈도우 클라이언트 메모리 제한
워킹셋
____요구 페이징
____논리적 프리패처
____배치 정책
____워킹셋 관리
____밸런스 셋 관리자와 스와퍼
____시스템 워킹셋
____메모리 통지 이벤트
선행적인 메모리 관리(슈퍼패치)
____컴포넌트
____트레이싱과 로깅
____시나리오
____페이지 우선순위와 리밸런싱
____견고한 성능
____레디부스트
____레디드라이브
____통합된 캐싱
____프로세스 리플렉션
정리
11장 캐시 관리자
캐시 관리자의 주요 특징
____단일, 중앙 집중형 시스템 캐시
____메모리 관리자
____캐시 일관성
____가상 블록 캐싱
____스트림 기반 캐싱
____복구 가능 파일 시스템 지원
캐시의 가상 메모리 관리
캐시 크기
____캐시 가상 크기
____캐시 워킹셋 크기
____물리적인 캐시 크기
캐시 데이터 구조
____시스템 전역 캐시 데이터 구조
____파일 단위 캐시 데이터 구조체
파일 시스템 인터페이스
____캐시로 복사/캐시로부터의 복사
____매핑과 고정 인터페이스를 통한 캐싱
____직접 메모리 액세스 인터페이스를 이용한 캐싱
패스트 I/O
미리 읽기와 이면 쓰기
____지능형 미리 읽기
____재기록 캐싱과 지연 쓰기
____쓰기 조절
____시스템 스레드
정리
12장 파일 시스템
윈도우 파일 시스템 포맷
____CDFS
____UDF
____FAT12와 FAT16, FAT32
____exFAT
____NTFS
파일 시스템 드라이버 아키텍처
____로컬 FSD
____원격 FSD
____파일 시스템 동작
____파일 시스템 필터 드라이버
파일 시스템 문제 해결
____프로세스 모니터의 기본 모드와 고급 모드
____프로세스 모니터를 이용한 문제 해결 기법
공통 로그 파일 시스템
NTFS 설계 목표와 기능
____하이엔드 파일 시스템 요구 사항
____NTFS 고급 기능
NTFS 파일 시스템 드라이버
디스크상의 NTFS 구조
____볼륨
____클러스터
____마스터 파일 테이블
____파일 레코드 번호
____파일 레코드
____파일명
____상주 속성과 비상주 속성
____데이터 압축과 희소 파일
____변경 저널 파일
____인덱싱
____객체 ID
____쿼터 추적
____통합 보안
____리파스 포인트
____트랜잭션 지원
NTFS 복구 지원
____설계
____메타데이터 로깅
____복구
____NTFS 손상 클러스터 복구
____자체 복구
암호화 파일 시스템 보안
____파일 최초 암호화
____복호화 프로세스
____암호화된 파일 백업
____암호화된 파일 복사
정리
13장 시작과 종료
부트 과정
____BIOS 사전 부트
____BIOS 부트 섹터와 Bootmgr
____UEFI 부트 프로세스
____iSCSI 부팅
____커널 초기화와 익스큐티브 서브시스템
____Smss, Csrss, Wininit
____레디부트
____자동 시작하는 이미지
부팅 문제나 시작 문제 해결
____마지막으로 성공한 구성
____안전 모드
____윈도우 복구 환경(WinRE)
____일반적인 부트 문제 해결
셧다운
정리
14장 크래시 덤프 분석
윈도우 크래시의 이유
블루 스크린
____윈도우 크래시의 원인
크래시 문제 해결
크래시 덤프 파일
____크래시 덤프 생성
윈도우 에러 보고
온라인 크래시 분석
기본 크래시 덤프 분석
____Notmyfault
____기본 크래시 덤프 분석
____심층 분석
크래시 문제 해결 도구 사용
____버퍼 오버런과 메모리 손상, 특수 풀
____코드 덮어쓰기와 시스템 코드 쓰기 방지
고급 크래시 덤프 분석
____스택 파괴
____행이나 응답 없는 시스템
____크래시 덤프가 없을 때
일반적인 스톱 코드 분석
____0xD1: DRIVER_IRQL_NOT_LESS_OR_EQUAL
____0x8E: KERNEL_MODE_EXCEPTION_NOT_HANDLED
____0x7F: UNEXPECTED_KERNEL_MODE_TRAP
____0xC5: DRIVER_CORRUPTED_EXPOOL
____하드웨어 장애
정리