서브메뉴
검색
본문
Powered by NAVER OpenAPI
-
Windows Internals 제5판
저자 : 마크 러시노비치|데이비드 솔로몬|알렉스 이오네스쿠
출판사 : 에이콘출판
출판년 : 2010
정가 : 50000, ISBN : 9788960771437
책소개
세계적으로 유명한 윈도우 내부 전문가들이 윈도우 운영체제 핵심 컴포넌트들의 내부 동작 방식을 설명한다. 제 5 개정판에서는 윈도우 서버 2008과 윈도우 비스타 관련 전체 내용이 업데이트됐고, 실제 윈도우 내부 동작을 확인할 수 있는 실습 등 시스템 디자인 아키텍처의 핵심과 디버깅, 성능과 관련된 내용들이 수록돼 있다.
1장과 2장('개념과 도구'와 '시스템 아키텍처')은 각종 정의와 용어 설명, 그리고 이 책의 전반에 걸쳐 사용되는 개념의 기반을 제시한다. 3장과 4장('시스템 메커니즘'과 '관리 메커니즘')은 시스템의 핵심 메커니즘을 설명한다. 5장에서부터 12장까지는 운영체제의 핵심 컴포넌트(프로세스와 스레드, 잡, 보안, I/O 시스템, 스토리지 관리, 메모리 관리, 캐시 관리자, 파일 시스템, 네트워킹)를 설명한다. 마지막 13장과 14장은 시작과 종료 절차와, 크래시 덤프 분석을 다룬다.
목차
1장 개념과 도구
윈도우 운영체제 버전
기본 개념과 용어
윈도우 API
서비스와 함수, 루틴
프로세스, 스레드, 잡
가상 메모리
커널모드와 유저모드
터미널 서비스와 멀티 세션
객체와 핸들
보안
레지스트리
유니코드
윈도우 내부 들여다보기
안정성 및 성능 모니터
커널 디버깅
윈도우 소프트웨어 개발 킷
윈도우 드라이버 킷
Sysinternals 툴
정리
2장 시스템 아키텍처
요구 사항과 디자인 목표
운영체제 모델
아키텍처 개요
이식성
대칭형 멀티프로세싱
확장성
클라이언트와 서버 버전의 차이
체크드 빌드
핵심 시스템 컴포넌트
환경 서브시스템과 서브시스템 DLL
Ntdll.dll
커널
하드웨어 추상 계층
디바이스 드라이버
시스템 프로세스
정리
3장 시스템 메커니즘
트랩 디스패칭
인터럽트 디스패칭
예외 디스패칭
시스템 서비스 디스패칭
객체 관리자
익스큐티브 객체
객체 구조
동기화
High-IRQL 동기화
LowIRQL 동기화
시스템 작업자 스레드
윈도우 전역 플래그
고급 로컬 프로시저 호출
커널 이벤트 트레이싱
Wow64
Wow64 프로세스 주소 공간 배치
시스템 호출
예외 전달
사용자 콜백
파일 시스템 리디렉션
레지스트리 리디렉션과 리플렉션
I/O 제어 요청
16비트 인스톨러 애플리케이션
프린팅
제약
유저모드 디버깅
커널 지원
네이티브 지원
윈도우 서브시스템 지원
이미지 로더
이른 시점의 프로세스 초기화
로드된 모듈의 데이터베이스
임포트 파싱
포스트 임포트 프로세스 초기화
하이퍼바이저(Hyper-V)
파티션
루트 파티션
자식 파티션
하드웨어 에뮬레이션과 지원
커널 트랜잭션 관리자
핫패치 지원
커널 패치 보호
코드 무결성
정리
4장 관리 메커니즘
레지스트리
레지스트리를 살펴보고 변경하기
레지스트리 사용
레지스트리 데이터 유형
레지스트리의 논리적 구조
트랜잭션 레지스트리(TxR)
레지스트리 행위 감시
레지스트리 내부
서비스
서비스 애플리케이션
서비스 제어 관리자
서비스 시작
시작 오류
마지막으로 성공한 구성으로 부팅하기
서비스 실패
서비스 셧다운
공유 서비스 프로세스
서비스 태그
서비스 제어 프로그램
윈도우 관리 도구
WMI 아키텍처
공급자
CIM과 MOF 언어
클래스 연관화
WMI 구현
WMI 보안
윈도우 진단 인프라
WDI 조율
진단 정책 서비스
진단 기능
정리
5장 프로세스, 스레드, 잡
프로세스 내부 구조
데이터 구조체
커널 변수
성능 카운터
관련된 함수
보호 프로세스
CreateProcess 흐름
단계 1: 매개 변수와 플래그의 유효성 검사와 변환
단계 2: 실행할 이미지 열기
단계 3: 윈도우 익스큐티브 프로세스 객체 생성
단계 4: 초기 스레드와 스택이나 컨텍스트 생성
단계 5: 윈도우 서브시스템 특정적인 후반부 초기화
단계 6: 초기 스레드의 실행 시작
단계 7: 새 프로세스의 컨텍스트에서 프로세스 초기화 수행
스레드 내부 구조
데이터 구조체
커널 변수
성능 카운터
관련 함수
스레드의 탄생
스레드 활동성 검사
보호 프로세스 스레드의 제약
워커 팩토리(스레드 풀)
스레드 스케줄링
윈도우에서의 스케줄링 개요
우선순위 수준
윈도우 스케줄링 API
관련 도구
실시간 우선순위
스레드 상태
디스패처 데이터베이스
퀀텀
스케줄링 시나리오
컨텍스트 전환
유휴 스레드
우선순위 상승
멀티프로세서 시스템
멀티프로세서 스레드 스케줄링 알고리즘
CPU 속도 제한
잡 객체
정리
6장 보안
보안 등급
신뢰성 있는 컴퓨터 시스템 평가 지침(TCSEC)
공용 평가 기준(CC)
보안 시스템 구성 요소
객체 보호
접근 검사
보안 디스크립터와 접근 제어
계정 권한과 특권
계정 권한
특권
슈퍼 특권
보안 감사
로그온
Winlogon 초기화
사용자 로그온 과정
사용자 계정 컨트롤
가상화
상승
소프트웨어 제한 정책
정리
7장 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) 관리자
플러그앤플레이 지원 레벨
플러그앤플레이를 위한 드라이버 지원
드라이버 로딩, 초기화, 설치
드라이버 설치
전원 관리자
전원 관리자의 동작
드라이버의 전원 동작
드라이버와 애플리케이션의 장치 전원 제어
정리
8장 스토리지 관리
스토리지 ?어
디스크 드라이버
Winload
디스크 클래스와 포트, 미니포트 드라이버
디스크 디바이스 객체
파티션 관리자
볼륨 관리
기본 디스크
동적 디스크
멀티파티션 볼륨 관리
볼륨 이름 공간
볼륨 I/O 동작
가상 디스크 서비스
비트락커 드라이브 암호화
비트락커 아키텍처
암호화 키
신뢰된 플랫폼 모델(TPM)
비트락커 부트 과정
비트락커 키 복구
전체 볼륨 암호화 드라이버
비트락커 관리
볼륨 쉐도우 복사본 서비스
쉐도우 복사본
VSS 아키텍처
VSS 동작
윈도우에서의 활용
정리
9장 메모리 관리
메모리 관리자 소개
메모리 관리자 컴포넌트
내부 동기화
메모리 사용량 측정
메모리 관리자가 제공하는 서비스
큰 페이지와 작은 페이지
페이지 예약과 커밋
메모리 락킹
할당 단위
공유 메모리와 맵 파일
메모리 보호
실행 방지 페이지 보호
Copy-on-Write
주소 윈도우 확장
커널모드 힙(시스템 메모리 풀)
풀 크기
풀 사용량 모니터링
룩 어사이드 리스트
힙 관리자
힙의 종류
힙 관리자 구조
힙 동기화
저단편화 힙(LFH)
힙 보안 특징
힙 디버깅 특징
페이지힙
가상 주소 공간 배치
x86 주소 공간 배치
x86 시스템 주소 공간 배치
x86 세션 공간
시스템 페이지 테이블 엔트리
64비트 주소 공간 배치
64비트 가상 주소 제약
동적인 시스템 가상 주소 공간 관리
시스템 가상 주소 공간 할당량
사용자 주소 공간 배치
주소 변환
x86 가상 주소 변환
변환 룩 어사이드 버퍼(TLB)
물리 주소 확장(PAE)
IA64 가상 주소 변환
x64 가상 주소 변환
페이지 폴트 핸들링
유효하지 않은 PTE
프로토타입 PTE
인 페이징 IO
페이지 폴트 충돌
클러스터 페이지 폴트
페이지 파일
스택
유저 스택
커널 스택
DPC 스택
가상 주소 디스크립터(VAD)
프로세스 VAD
VAD 교체
NUMA
섹션 객체
드라이버 베리파이어
페이지 프레임 번호 데이터베이스
페이지 리스트 다이나믹스
페이지 우선순위
변경 페이지 라이터
PFN 데이터 구조
물리 메모리 제한
윈도우 클라이언트 메모리 제한
워킹셋
요구 페이징
논리적 프리패처
배치 정책
워킹셋 관리
밸런스 셋 관리자와 스와퍼
시스템 워킹셋
메모리 통지 이벤트
선행적인 메모리 관리(슈퍼패치)
컴포넌트
트레이싱과 로깅
시나리오
페이지 우선순위와 리밸런싱
견고한 성능
레디부스트
레디드라이브(ReadDrive)
정리
10장 캐시 관리자
캐시 관리자의 주요 특징
단일, 중앙 집중형 시스템 캐시
메모리 관리자
캐시 일관성
가상 블록 캐싱
스트림 기반 캐싱
복구 가능 파일 시스템 지원
캐시의 가상 메모리 관리
캐시 크기
캐시 가상 크기
캐시 워킹셋 크기
물리적인 캐시 크기
캐시 데이터 구조
시스템 전역 캐시 데이터 구조
파일 단위 캐시 데이터 구조체
파일 시스템 인터페이스
캐시로 복사/캐시로부터의 복사
매핑 및 고정 인터페이스를 통한 캐싱
직접 메모리 액세스 인터페이스를 이용한 캐싱
패스트 I/O
미리 읽기와 이면 쓰기
지능형 미리 읽기
재기록 캐싱과 지연 쓰기
쓰기 조절
시스템 스레드
정리
11장 파일 시스템
윈도우 파일 시스템 포맷
CDFS
UDF
FAT12와 FAT16, FAT32
exFAT
NTFS
시스템 드라이버 아키텍처
로컬 FSD
원격 FSD
파일 시스템 동작
파일 시스템 필터 드라이버
파일 시스템 문제 해결
프로세스 모니터의 기본 모드와 고급 모드
프로세스 모니터를 이용한 문제 해결 기법
공통 로그 파일 시스템
마샬링
로그 유형
로그 배치
로그 순서 번호
로그 블록
소유자 페이지
가상 LSN을 물리적인 LSN으로 변환하기
관리 정책
NTFS 설계 목표와 기능
하이엔드 파일 시스템 요구 사항
NTFS 고급 기능
NTFS 파일 시스템 드라이버
디스크상의 NTFS 구조
볼륨
클러스터
마스터 파일 테이블
파일 참조 번호
파일 레코드
파일명
상주 속성과 비상주 속성
데이터 압축과 희소 파일
변경 저널 파일
인덱싱
객체 ID
쿼터 추적
통합 보안
리파스 포인트
트랜잭션 지원
NTFS 복구 지원
설계
메타데이터 로깅
복구
NTFS 손상 클러스터 복구
자체 복구
암호화 파일 시스템 보안
파일을 최초로 암호화하기
해독 프로세스
암호화된 파일 백업하기
정리
12장 네트워킹
윈도우 네트워킹 아키텍처
OSI 참조 모델
윈도우 네트워크 구성 요소
네트워킹 API
윈도우 소켓
윈속 커널(WSK)
원격 프로시저 호출
웹 액세스 API
네임드 파이프와 메일 슬롯
NetBIOS
기타 네트워킹 API
다중 리디렉터 지원
다중 공급자 라우터
다중 UNC 공급자
이름 해석
도메인 이름 시스템
윈도우 인터넷 이름 서비스
피어 이름 해석 프로토콜
위치와 토폴로지
네트워크 위치 인식
링크 계층 토폴로지 검색(LLTD)
프로토콜 드라이버
윈도우 필터링 플랫폼
NDIS 드라이버
NDIS 미니포트의 변형
연결 지향형 NDIS
원격 NDIS
QoS
바인딩
계층화된 네트워크 서비스
원격 액세스
액티브 디렉터리
네트워크 로드 밸런싱
분산 파일 시스템과 DFS 복제
정리
13장 시작과 종료
부트 과정
BIOS 사전 부트
BIOS 부트 섹터와 Bootmgr
EFI 부트 프로세스
커널 초기화와 익스큐티브 서브시스템
Smss와 Csrss, Wininit
레디부트(ReadyBoot)
자동 시작하는 이미지
부팅 문제나 시작 문제 해결
마지막으로 성공한 구성
안전 모드
윈도우 복구 환경(WinRE)
일반적인 부트 문제 해결
셧다운
정리
14장 크래시 덤프 분석
윈도우가 크래시되는 이유
블루 스크린
크래시 문제 해결하기
크래시 덤프 파일
크래시 덤프 생성
윈도우 오류 보고
온라인 크래시 분석
기본 크래시 덤프 분석
Notmyfault
기본 크래시 덤프 분석
심층 분석
크래시 문제 해결 도구 사용
버퍼 오버런과 메모리 손상, 특수 풀
코드 덮어쓰기와 시스템 코드 쓰기 방지
고급 크래시 덤프 분석
스택 파괴
행이나 응답 없는 시스템
크래시 덤프가 없을 때
정리