이미 소장하고 있다면 판매해 보세요.
|
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 기본 크래시 덤프 분석 심층 분석 크래시 문제 해결 도구 사용 버퍼 오버런과 메모리 손상, 특수 풀 코드 덮어쓰기와 시스템 코드 쓰기 방지 고급 크래시 덤프 분석 스택 파괴 행이나 응답 없는 시스템 크래시 덤프가 없을 때 정리 |
|
이 책을 읽는 모든 IT 엔지니어 독자들께,
이 책은 마이크로소프트의 테크니컬 펠로우(Technical Fellow, 마이크로소프트의 CVP(부사장급)으로서 현재 23명이 있음)로서 수많은 sysinternals tools를 개발하고 전 세계의 IT 엔지니어들에게 문제 해결에 큰 도움을 주고 있는 마크 러시노비치가 대표 저자로서 집필한 책으로 윈도우 아키텍처의 핵심을 기술하고 있습니다. 윈도우 운영체제에 대해 깊이 있는 통찰을 전해주는 고급 IT 엔지니어를 위한 책으로서, 문장 하나하나가 모두 소스코드에 기반을 둔 내용들이므로 윈도우에 경험이 있고 개발 경력이 있는 분이라면 이해 하기에 전혀 어려움이 없을 것입니다. 따라서, 윈도우를 정복하고자 하는 모든 분께 이 책은 가히 현존하는 최고의 책이라고 할 수 있습니다. 저는 이 책의 원본인 『Windows Internals 5th Edition』의 핵심 테크티컬 리뷰어(core technical reviewer)로서 근 1년간 참여한 바 있습니다. 마이크로소프트 운영체제인 윈도우 서버 2008(Windows Server 2008)과 비스타(Vista)에 대해 개발자나 IT 엔지니어들이 정확하고 깊이 있는 지식을 얻도록 영어 문장 하나 하나에 심혈을 기울여 많은 의견을 이 책의 저자들인 마크 러시노비치(Mark Russinovich)나 데이비드 솔로몬(David Solomon)에게 보냈던 기억이 엊그제 같은데 벌써 한국어판 버전이 나오게 된 데 매우 기쁘게 생각합니다. 저 또한 이 책의 열렬한 독자이면서 기술 감수자(tech reviewer)로서 그리고 지난 10년 이상 마이크로소프트 사에 근무하면서 수많은 디버깅과 덤프 분석을 통해서 깊이 있는 윈도우 지식을 얻을 수 있었습니다. 그 지식을 바탕으로 조금이나마 이 책의 원저자들에게 도움이 되지 않았을까 싶습니다. 보안과 윈도우 운영체제의 전문가들인 훌륭한 역자들이 심혈을 기울여 번역해주신 역자들께 진심으로 감사의 말씀을 전하며, 개발자 여러분과 함께 이 책의 출간을 다시 한 번 축하합니다. - 김관현, 마이크로소프트 Escalation Engineer 『Windows Internals 제5판』 서문을 작성하게 돼 기쁘고 영광으로 생각합니다. 이전판 이후에 윈도우에는 중요한 변화가 많았습니다. 데이비드, 마크, 알렉스는 변경된 사항을 언급하기 위해 책을 훌륭하게 수정했습니다. 『Windows Internals』를 처음 접하거나 커널 개발에 오랜 경험이 있더라도 이 책에서 운영체제 설계의 일반적인 원리뿐만 아니라 윈도우의 핵심 메커니즘의 이해도를 높이는 데 도움을 주는 자세한 분석과 예제를 보게 될 것입니다. 오늘날 윈도우는 컴퓨팅 세계에서 전례가 없이 넓고 깊게 퍼져있습니다. 오리지널 윈도우 NT 설계의 변종은 X박스 게임 콘솔에서부터 데스크톱과 노트북 컴퓨터, 수십 개의 프로세서와 페타바이트(petabyte) 스토리지를 가진 서버 클러스터에 이르기까지 모든 곳에서 동작합니다. 운영체제 설계에 있어 흥미롭고 혁신적인 많은 영역을 제공하기 위해 하이퍼바이저와 64비트 컴퓨팅, 멀티코어(multicore)와 다중 코어(many-core) 프로세서 디자인, 플래시 기반 스토리지, 무선과 피어투피어 네트워킹 같은 진화를 계속하고 있습니다. 이런 혁신적인 분야 중 하나는 보안입니다. 지난 10년에 걸쳐 컴퓨팅 산업 전체(그리고 부분적으로는 마이크로소프트)는 거대한 신종 위협에 직면해왔고 보안은 많은 고객에게 있어 최우선 과제였습니다. 블래스터(Blaster)와 새서(Sasser) 같은 공격은 전체 인터넷을 위협했고, 윈도우는 태풍의 눈에 해당했습니다. 더 이상 일을 평범하게 할 여유가 없음은 명확했습니다. 윈도우에 들어간 많은 편리성이나 단순화된 기능들이 사악한 목적으로 윈도우를 공격하는 데 부메랑처럼 사용됐습니다. 먼저, 악명을 높이기 위해 십대 해커들이 시스템 내로 침입하거나 단체의 웹 사이트에 낙서를 추가했습니다. 그러나 곧바로 공격은 격렬해졌고 언더그라운드로 들어갔습니다. 해커는 좀 더 교묘해졌고 조사를 피해 갔습니다. 요즘은 좀처럼 뉴스에서 바이러스나 웜에 대해 다루지 않습니다. 그러나 분명한 것은 타겟화된 공격을 통한 봇넷과 인증 도용을 식별하는 것은 오늘날 산업과 정부 첩보활동에 있어 큰 비즈니스입니다. 2002년 1월, 빌 게이츠는 지금은 유명해진 '신뢰할 수 있는 컴퓨팅' 메모를 모든 마이크로소프트 임직원에게 보냈습니다. 그 메모는 향후 어떻게 소프트웨어를 개발하고 비즈니스를 수행할 것인지에 대해 공감할 수 있는 방향을 제시하고 있었습니다. 거의 윈도우 엔지니어링 팀 전체가 윈도우 XP SP2에 집중했습니다. 이 서비스 팩은 거의 대부분이 운영체제의 보안 향상에 중점을 뒀습니다. 보안 개발 라이프사이클(Security Development Lifecycle, SDL)이 개발됐고 모든 마이크로소프트 제품, 특히 보안을 지상 최? 과제로 설계된 첫 번째 운영체제인 윈도우 비스타에 적용됐습니다. SDL은 보안 소프트웨어 개발에 대해 엄격한 가이드라인과 절차를 명확히 하고 있습니다. 소스코드에서부터 시스템 바이너리와 일반적인 취약점에 대한 네트워크 프로토콜에 이르기까지 모든 것을 검사할 수 있는 복잡한 툴이 개발됐습니다. 새로운 보안 취약점이 발견될 때마다 분석되고, 잠재적인 공격 벡터를 다룰 수 있는 해결책이 개발됐습니다. 윈도우 비스타는 출시된 지 2년이 지났고 그것은 지금까지의 윈도우 중 가장 안전한 버전입니다. 실제로 일부 산업 분석가는 오늘날 판매되고 있는 다목적 운영체제 중 가장 안전한 운영체제라고까지 언급했습니다. 윈도우 팀은 과거 수년 동안 지속적으로 혁신해 왔습니다. 윈도우 XP와 윈도우 서버 2003, 윈도우 서버 2003 R2, 윈도우 XP SP2, 윈도우 비스타, 윈도우 서버 2008, 하이퍼-V는 훌륭한 여러 윈도우 제품군과 마찬가지로 모두 주요 업적이자 커다란 성공이었습니다. 솔직히 이보다 더 흥미 있고 도전적인 주제는 생각할 수가 없습니다. 이보다 더 권위 있고 잘 써진 책을 생각할 수도 없습니다. 데이비드, 마크, 알렉스는 윈도우 아키텍처를 철저히 분석하고 체험 학습을 위한 진단 도구를 준비했습니다. 우리 모두가 윈도우에서 작업하는 것을 즐기는 것처럼 윈도우에 대해 읽고 배우는 것을 즐길 수 있기를 희망합니다. Ben Fathi 마이크로소프트 윈도우 코어 개발 부사장 격변하는 기술의 흐름 속에서 윈도우 NT가 처음 세상에 출현한 1993년 이래로 이 책의 시리즈도 함께 시작되어 벌써 5판 째를 맞이한다. 개인용 PC와 서버를 아우르는 윈도우 운영체제의 방대하고도 심도 있는 주제를 이보다 잘 다룬 출판물은 아마도 당분간은 보기가 힘들 것이다. 이번 제5개정판의 내용을 알아보기 전에 먼저 일련의 이들 시리즈에서 주요 변경 사항을 간략히 살펴보자. 윈도우 NT4.0을 토대로 David Solomon에 의해 1998년에 집필된 『인사이드 윈도우 NT』는 이 시리즈의 제2개정판으로서 NT 4.0에 추가된 여러 기능을 다뤘다. 즉, 그래픽 엔진을 위한 클라이언트/서버 모델이 구현됐으며 대부분의 USER 및 GDI 구성 요소를 커널모드로 이동해 성능향상을 꾀했다. 윈도우 2000을 대상으로 데이비드 솔로몬과 마크 러시노비치에 의해 집필된 『인사이드 윈도우 2000』은 제3판으로서 잡(Job)에 대한 개념이 소개됐고, 시스템의 시작과 셧다운에 대한 설명, 플러그앤플레이 및 전원 관리자의 기능, 윈도우 관리도구(WMI), 스토리지 관리, 네트워킹에 대한 내용이 추가됐다. 윈도우 XP와 윈도우 서버 2003을 대상으로 마크와 데이비드에 의해 작성된 『마이크로소프트 윈도우 인터널』은 제4판으로서 크래시 덤프 분석에 관한 내용이 신규로 추가됐으며 IA-64와 x64에 대한 메모리 관리 메커니즘과 Wow64에 대한 개념도 또한 소개됐다. 윈도우 비스타를 대상으로 데이비드와 마크, 알렉스가 작성한 제5판인 본 책은 '커널 패치 보호', 새로운 드라이버 모델인 KMDF와 UMDF를 소개하고 또한 보안적인 측면에서 사용자 계정 제어(UAC)를 다루며 스토리지 관리에 있어서 비트라커(BitLocker)의 기능, 멀티프로세서에서의 향상된 스레드 스케줄링 기법, 네트워크 주제로 윈도우 필터링 플랫폼(WFP) 등을 새롭게 소개한다. 앞서 기술한 이런 기술적 항목은 지난 10여 년 동안 PC 시장의 컴퓨팅 환경을 주도해온 기술이며 트렌드다. 이런 기술들을 익히고 하나씩 습득하노라면 이들 기술의 흐름을 선도하고 항상 개척하는 마이크로소프트의 경이적인 노력과 장인 정신을 엿볼 수 있는 대목이기도 하다. IT 분야에서 프로그램에 종사하는 모든 개발자라면(반드시 윈도우 운영체제가 아니어도 좋다) 관련 기술들의 개념을 숙지하는 것만으로도 어느 분야에 종사하든지 당신이 성숙된 개발자로서 나아가는 데 크나큰 밑거름이 될 것이라고 확신한다. 대표 역자 김점갑 ★ 저자 서문 ★ 『Windows Internals 제5판』은 윈도우 비스타와 윈도우 서버 2008 운영체제의 핵심 컴포넌트가 내부적으로 어떻게 동작하는지를 이해하고자 하는 고급 컴퓨터 전문가(개발자와 시스템 관리자 모두)를 위한 책이다. 이 지식을 통해 개발자는 윈도우 플랫폼에서 애플리케이션을 개발할 때 설계 옵션에 대한 근거를 더 잘 이해할 수 있다. 이런 지식은 복잡한 문제를 디버깅할 때 개발자를 도울 수 있다. 이 정보는 시스템 관리자에게도 도움이 된다. 이면에서 운영체제가 어떻게 동작하는지 이해하고 있으면 시스템의 동작 성능을 이해하기 쉽고, 뭔가 잘못됐을 때 시스템 문제에 대한 트러블슈팅을 좀 더 쉽게 할 수 있다. 이 책을 읽은 후 윈도우가 어떻게 동작하는지, 그리고 왜 그렇게 하는지 좀 더 잘 이해하게 될 것이다. ---본문중에서 |
|
윈도우의 동작 기전을 이해하는 데 필요한 자세한 내부 구조와 아키텍처 완벽 가이드. 운영체제의 핵심 컴포넌트가 내부적으로 어떻게 동작하는지를 이해하고자 하는 개발자와 시스템 관리자 등 고급 컴퓨터 전문가 모두를 위한 책.
세계적으로 유명한 윈도우 내부 전문가들이 윈도우 운영체제 핵심 컴포넌트들의 내부 동작 방식을 설명한다. 제 5 개정판에서는 윈도우 서버 2008과 윈도우 비스타 관련 전체 내용이 업데이트됐고, 실제 윈도우 내부 동작을 확인할 수 있는 실습 등 시스템 디자인 아키텍처의 핵심과 디버깅, 성능과 관련된 내용들이 수록돼 있다. 이 책에서 다루는 내용 [윈도우 구조와 커널 완벽 해부] ■ 객체 관리자에서부터 레지스트리까지 핵심 시스템과 관리 메커니즘의 동작 기전 ■ 커널 디버거 등의 툴을 이용해 내부 시스템 데이터 구조체 들여다 보기 ■ 스케줄러 우선순위와 CPU 교체 정책 알고리즘 ■ 윈도우가 물리 메모리와 가상 메모리를 어떻게 다루는지 이해한다. ■ 윈도우 네트워킹과 관련된 API, 프로토콜 드라이버, 네트워크 어댑터 드라이버 등 네트워킹 스택 ■ 파일 시스템 액세스 문제와 시스템 부팅 관련 문제 해결 ■ 크래시 분석 방법 이 책의 구성 1장과 2장('개념과 도구'와 '시스템 아키텍처')은 각종 정의와 용어 설명, 그리고 이 책의 전반에 걸쳐 사용되는 개념의 기반을 제시한다. 3장과 4장('시스템 메커니즘'과 '관리 메커니즘')은 시스템의 핵심 메커니즘을 설명한다. 5장에서부터 12장까지는 운영체제의 핵심 컴포넌트(프로세스와 스레드, 잡, 보안, I/O 시스템, 스토리지 관리, 메모리 관리, 캐시 관리자, 파일 시스템, 네트워킹)를 설명한다. 마지막 13장과 14장은 시작과 종료 절차와, 크래시 덤프 분석을 다룬다. |