000 | 00000nam c2200205 c 4500 | |
001 | 000045976952 | |
005 | 20230720153653 | |
007 | ta | |
008 | 190321s2018 ulka 001c kor | |
020 | ▼a 9791161750941 ▼g 94000 | |
020 | 1 | ▼a 9788960770850 (Set) |
040 | ▼a 211009 ▼c 211009 ▼d 211009 | |
041 | 1 | ▼a kor ▼h eng |
082 | 0 0 | ▼a 005.4/46 ▼2 23 |
085 | ▼a 005.446 ▼2 DDCK | |
090 | ▼a 005.446 ▼b 2018z2 ▼c 1 | |
245 | 0 0 | ▼a Windows internals : ▼b 마이크로소프트 윈도우 커널 공식 가이드. ▼n 1 / ▼d 파벨 요시포비치 [외]지음 ; ▼e 김점갑 옮김 |
246 | 1 9 | ▼a System architecture, processes, threads, memory managment, and more ▼g (7th ed.) |
260 | ▼a 서울 : ▼b 에이콘, ▼c 2018 | |
300 | ▼a 1230 p. : ▼b 삽화 ; ▼c 24 cm | |
440 | 0 0 | ▼a 에이콘 윈도우 시스템 프로그래밍 시리즈 |
500 | ▼a 공저자: 알렉스 이오네스쿠, 마크 러시노비치, 데이비드 솔로몬 | |
500 | ▼a 색인수록 | |
500 | ▼a 원서총서표제: Windows internals ; Part 1 | |
630 | 0 0 | ▼a Microsoft Windows (Computer file) |
650 | 0 | ▼a Windows (Computer programs) |
650 | 0 | ▼a Operating systems (Computers) |
700 | 1 | ▼a Yosifovich, Pavel, ▼e 저 |
700 | 1 | ▼a Ionescu, Alex, ▼e 저 |
700 | 1 | ▼a Russinovich, Mark E., ▼e 저 ▼0 AUTH(211009)89670 |
700 | 1 | ▼a Solomon, David A., ▼e 저 ▼0 AUTH(211009)4535 |
700 | 1 | ▼a 김점갑, ▼e 역 |
740 | 2 | ▼a Windows internals. ▼n 1 |
900 | 1 0 | ▼a 요시포비치, 파벨, ▼e 저 |
900 | 1 0 | ▼a 이오네스쿠, 알렉스, ▼e 저 |
900 | 1 0 | ▼a 러시노비치, 마크, ▼e 저 |
900 | 1 0 | ▼a 솔로몬, 데이비드, ▼e 저 |
945 | ▼a KLPA |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 005.446 2018z2 1 | Accession No. 121248361 | Availability Available | Due Date | Make a Reservation | Service |
Contents information
Book Introduction
모바일 플랫폼을 포괄하는 마이크로소프트 윈도우 10과 윈도우 서버 2016 운영체제를 완벽하게 반영한 필수 가이드로, 핵심 구성 요소인 프로세스와 스레드, 메모리 관리를 다룬다. 그리고 더욱 관심이 높아지고 있는 보안 분야를 다루는 시스템 아키텍처의 내부 동작 방법을 이해할 수 있다. 고급 컴퓨터 개발자와 보안 연구가, 시스템 관리자를 위한 윈도우 운영체제의 설계 철학을 엿볼 수 있는 바이블이다.
프로세스와 스레드 같이 가장 중요한 개체와 윈도우 아키텍처의 이해, 프로세스의 자원 관리 방법과 프로세스 내에서 스레드가 스케줄되는 방법, 윈도우가 가상 메모리와 물리 메모리를 관리하는 방법, 윈도우 I/O 시스템, 디바이스 드라이버가 동작하는 방식, 디바이스 드라이버가 시스템과 연동하는 방법, 윈도우 보안 모델의 접근과 감사, 권한 부여 등을 관리하는 방법, 윈도우 10과 윈도우 서버 2016에서의 새로운 메커니즘 등에 대한 정보가 담겨있다.
모바일 플랫폼을 포괄하는 마이크로소프트 윈도우 10과 윈도우 서버 2016 운영체제를 완벽하게 반영한 필수 가이드다. 핵심 구성 요소인 프로세스와 스레드, 메모리 관리를 다룬다. 그리고 더욱 관심이 높아지고 있는 보안 분야를 다루는 시스템 아키텍처의 내부 동작 방법을 이해할 수 있다. 고급 컴퓨터 개발자와 보안 연구가, 시스템 관리자를 위한 윈도우 운영체제의 설계 철학을 엿볼 수 있는 바이블이다.
★ 이 책에서 다루는 내용 ★
■ 프로세스와 스레드 같이 가장 중요한 개체와 윈도우 아키텍처의 이해
■ 프로세스의 자원 관리 방법과 프로세스 내에서 스레드가 스케줄되는 방법
■ 윈도우가 가상 메모리와 물리 메모리를 관리하는 방법
■ 윈도우 I/O 시스템, 디바이스 드라이버가 동작하는 방식, 디바이스 드라이버가 시스템과 연동하는 방법
■ 윈도우 보안 모델의 접근과 감사, 권한 부여 등을 관리하는 방법
■ 윈도우 10과 윈도우 서버 2016에서의 새로운 메커니즘
★ 이 책의 대상 독자 ★
이 책은 독자가 파워유저 수준의 윈도우 작업에 익숙하며, CPU 레지스터와 메모리, 프로세스, 스레드와 같은 운영체제 및 하드웨어 개념을 기본적으로 이해하고 있다고 가정한다. 함수와 포인터, C 프로그래밍 언어 구문에 대한 이해는 일부 절에서 유용하다.
★ 이 책의 구성 ★
제6판과 동일하게 2권으로 나뉘어 있으며, 이 책이 첫 번째 권이다.
1장, '개념과 툴'에서는 윈도우 내부 개념에 대한 일반적인 소개를 하고, 책 전반에 걸쳐 사용되는 주요 툴을 소개한다. 책의 나머지 부분에 필요한 배경 지식을 제공하기 때문에 1장을 먼저 읽는 것이 중요하다.
2,장, '시스템 아키텍처'에서는 윈도우를 구성하는 아키텍처와 주요 구성 요소를 보여주고, 이들을 심도 있게 알아본다. 이들 개념 중 일부는 후속 장에서 좀 더 세부적으로 다룬다.
3장, '프로세스와 잡'에서는 윈도우에서 프로세스가 구현되는 방법과 이를 처리하는 다양한 방법을 자세히 설명한다. 또한 잡은 프로세스 집합을 제어하고 윈도우 컨테이너 지원을 활성화하는 수단임을 설명한다.
4장, '스레드'에서는 윈도우에서 스레드를 관리하고 스케줄하며 조작하는 방법을 세부적으로 설명한다.
5장, '메모리 관리'에서는 메모리 관리자가 물리적 메모리와 가상 메모리를 사용하는 방법과 프로세스와 드라이버가 비슷하게 메모리를 조작하고 사용할 수 있는 다양한 방법을 보여준다.
6장, 'I/O 시스템'에서는 윈도우의 I/O 시스템이 어떻게 작동하고 I/O 주변 장치와 작업하기 위한 메커니즘을 제공하는 디바이스 드라이버와 어떻게 통합되는지 살펴본다.
7장, '보안'에서는 익스플로잇에 대처하기 위해 시스템의 일부가 된 완화책을 비롯해 윈도우에 내장된 다양한 보안 메커니즘을 상세히 설명한다.
Information Provided By: :

Author Introduction
마크 러시노비치(지은이)
현재 마이크로소프트의 애저 최고 기술 책임자 겸 기술 선임 연구원이다. 운영 체제 및 보안 분야에서 널리 알려진 전문가이다.
데이비드 솔로몬(지은이)
지난 20년간, 전 세계에 걸쳐 수많은 개발자와 IT 전문가, 마이크로소프트 직원에게 윈도우 커널 인터널에 대한 강의를 진행했으며 현재 은퇴했다. 첫 번째 책은 『Windows NT for OpenVMS Professionals』다. 그리고 『Inside Windows NT, 2nd Edition 』(Microsoft Press, 1997)을 저술했으며, 그 후에 마크 러시노비치와 함께 『Windows Internals』 시리즈의 4, 5, 6판을 공동으로 집필했다. 수많은 마이크로소프트 강연을 했으며, 1993년과 2005년 두 번에 걸쳐 마이크로소프트 지원 MVP 상을 받았다.
알렉스 이오네스쿠(지은이)
크라우드스트라이크(CrowdStrike)에서 EDR Strategy의 부회장을 역임하고 있으며, 로우레벨 시스템 소프트웨어와 운영체제 연구, 커널 개발, 보안 교육, 리버스 엔지니어링 분야에서 국제적으로 인정받는 전문가다. 전 세계적으로 윈도우 내부 구조 강연을 하기도 하며, 콘퍼런스 연사나 버그 현상금 프로그램을 통해 보안 연구 커뮤니티에서도 활동 중이다.
파벨 요시포비치(지은이)
마이크로소프트 기술과 툴에 전통한 개발자이고 교육자, 저자이며, 마이크로소프트 MVP이고, Pluralsight 저자로서 소프트웨어에 대한 무한한 사랑이 있다. 8비트 머신 시절부터 이 분야에 계속 종사하고 있으며, 코모도64(Commodore64)에서 프로그래밍하던 시절을 애정 어린 시선으로 회상하곤 한다.
김점갑(옮긴이)
삼성전자에서 GNU 컴파일러를 기반으로 ARM CORE 컴파일러 포팅/개발 프로젝트를 수행했다. 이후 보안 분야와 디바이스 드라이버에 관심을 두고서 데브그루를 공동으로 창업해 다양한 장치/보안 드라이버를 개발했고, 다수의 드라이버 강의와 세미나, 교육을 진행했다. (주)안랩의 기반 기술 팀에서 보안 관련 시스템 프로그램 개발 업무를 수행했다. 주요 번역서로는『Windows Internals 7/e Vol.1』(에이콘, 2018), 『THE GARBAGE COLLECTION HANDBOOK』(에이콘, 2016), 『실전 윈도우 디버깅』(에이콘, 2008), 『WDF』(에이콘, 2008), 『C++ 멀티스레딩 정복하기』(에이콘, 2018) 등이 있다. 지금은 제주에 살면서 여행과 사진에 흥미를 느끼고 있다.

Table of Contents
목차 1장. 개념과 툴 __윈도우 운영체제 버전 ____윈도우 10과 향후 윈도우 버전 ____윈도우 10과 원코어 __기본 개념과 용어 ____윈도우 API ____서비스와 함수, 루틴 ____프로세스 ____스레드 ____잡 ____가상 메모리 ____커널 모드와 유저 모드 ____하이퍼바이저 ____펌웨어 ____터미널 서비스와 다중 세션 ____객체와 핸들 ____보안 ____레지스트리 ____유니코드 __윈도우 내부 들여다보기 ____성능 모니터와 자원 모니터 ____커널 디버깅 ____윈도우 소프트웨어 개발 킷 ____윈도우 드라이버 킷 ____Sysinternals 툴 __결론 2장. 시스템 아키텍처 __요구 사항과 설계 목표 __운영체제 모델 __아키텍처 개요 ____이식성 ____대칭형 멀티프로세싱 ____확장성 ____클라이언트와 서버 버전의 차이 ____체크드 빌드 __가상화 기반의 보안 아키텍처 개요 __핵심 시스템 컴포넌트 ____환경 서브시스템과 서브시스템 DLL ____기타 서브시스템 ____익스큐티브 ____커널 ____하드웨어 추상화 계층 ____디바이스 드라이버 ____시스템 프로세스 __결론 3장. 프로세스와 잡 __프로세스 생성 ____CreateProcess* 함수 인자 ____윈도우 최신 프로세스 생성 ____다른 종류의 프로세스 생성 __프로세스 내부 구조 __보호 프로세스 ____보호 프로세스 라이트(PPL) ____서드파티 PPL 지원 __최소 프로세스와 피코 프로세스 ____최소 프로세스 ____피코 프로세스 __트러스트릿(안전한 프로세스) ____트러스트릿 구조체 ____트러스트릿 정책 메타데이터 ____트러스트릿 속성 ____시스템 내장 트러스트릿 ____트러스트릿 신분 ____격리된 유저 모드 서비스 ____트러스트릿 접근 가능 시스템 호출 __CreateProcess 흐름 ____1단계: 매개변수와 플래그의 유효성 검사 및 변환 ____2단계: 실행할 이미지 열기 ____3단계: 윈도우 익스큐티브 프로세스 객체 생성 ____4단계: 초기 스레드와 그 스택 및 컨텍스트 생성 ____5단계: 윈도우 서브시스템 특정적인 초기화 수행 ____6단계: 초기 스레드의 실행 시작 ____7단계: 새 프로세스의 컨텍스트에서 프로세스 초기화 수행 __프로세스 종료 __이미지 로더 ____이른 시점의 프로세스 초기화 ____DLL 이름 결정과 리디렉션 ____로드된 모듈의 데이터베이스 ____임포트 파싱 ____포스트 임포트 프로세스 초기화 ____스위치백 ____API 세트 __잡 ____잡 제약 ____잡과 작업 ____중첩 잡 ____윈도우 컨테이너(서버 실로) __결론 4장. 스레드 __스레드 생성 __스레드 내부 구조 ____데이터 구조체 ____스레드의 탄생 __스레드 활동성 검사 ____보호 프로세스 스레드의 제약 __스레드 스케줄링 ____윈도우 스케줄링의 개요 ____우선순위 수준 ____스레드 상태 ____디스패처 데이터베이스 ____퀀텀 ____우선순위 상승 ____컨텍스트 전환 ____스케줄링 시나리오 ____유휴 스레드 ____스레드 일시 중지 ____(딥) 프리즈 ____스레드 선정 ____멀티프로세서 시스템 ____멀티프로세서 시스템에서의 스레드 선정 ____프로세서 선정 ____이기종 스케줄링(big.LITTLE) __그룹 기반의 스케줄링 ____동적으로 공정한 공유 스케줄링 ____CPU 비율 제한 ____동적 프로세서 추가와 교체 __작업자 팩토리(스레드 풀) ____작업자 팩토리 생성 __결론 5장. 메모리 관리 __메모리 관리자 소개 ____메모리 관리자 컴포넌트 ____큰 페이지와 작은 페이지 ____메모리 사용량 살펴보기 ____내부 동기화 __메모리 관리자가 제공하는 서비스 ____페이지 상태와 메모리 할당 ____커밋양과 커밋 제한 ____메모리 락킹 ____할당 단위 ____공유 메모리와 맵 파일 ____메모리 보호 ____데이터 실행 방지 ____Copy-on-Write ____주소 윈도우 확장 __커널 모드 힙(시스템 메모리 풀) ____풀 크기 ____풀 사용량 모니터링 ____룩 어사이드 리스트 __힙 관리자 ____프로세스 힙 ____힙 유형 ____NT 힙 ____힙 동기화 ____저단편화 힙 ____세그먼트 힙 ____힙 보안 특징 ____힙 디버깅 특징 ____페이지힙 ____폴트 톨러런트 힙 __가상 주소 공간 배치 ____x86 주소 공간 배치 ____x86 시스템 주소 공간 배치 ____x86 세션 공간 ____시스템 페이지 테이블 엔트리 ____ARM 주소 공간 배치 ____64비트 주소 공간 배치 ____x64 가상 주소 제약 ____동적 시스템의 가상 주소 관리 ____시스템 가상 주소 공간 할당량 ____사용자 주소 공간 배치 __주소 변환 ____x86 가상 주소 변환 ____변환 룩 어사이드 버퍼(TLB) ____x64 가상 주소 변환 ____ARM 가상 주소 변환 __페이지 폴트 핸들링 ____유효하지 않은 PTE ____프로토타입 PTE ____인 페이징 I/O ____페이지 폴트 충돌 ____클러스터 페이지 폴트 ____페이지 파일 ____커밋양과 시스템 커밋 제한 ____커밋양과 페이지 파일 크기 __스택 ____유저 스택 ____커널 스택 ____DPC 스택 __가상 주소 디스크립터(VAD) ____프로세스 VAD ____VAD 교체 __NUMA __섹션 객체 __워킹셋 ____요구 페이징 ____논리적 프리패처와 레디부트 ____배치 정책 ____워킹셋 관리 ____밸런스 셋 관리자와 스와퍼 ____시스템 워킹셋 ____메모리 통지 이벤트 __페이지 프레임 번호 데이터베이스 ____페이지 리스트 다이내믹스 ____페이지 우선순위 ____변경 페이지 기록자와 맵 페이지 기록자 ____PFN 데이터 구조 ____페이지 파일 예약 __물리 메모리 제한 ____윈도우 클라이언트 메모리 제한 __메모리 압축 ____압축 예제 ____압축 아키텍처 __메모리 파티션 __메모리 결합 ____탐색 단계 ____분류 단계 ____페이지 결합 단계 ____전용에서 공유 PTE로 ____결합 페이지 해제 __메모리 엔클레이브 ____프로그램 인터페이스 ____메모리 엔클레이브 초기화 ____엔클레이브 구축 ____엔클레이브로 데이터 로드 ____엔클레이브 초기화 __선행적 메모리 관리(슈퍼패치) ____컴포넌트 ____트레이싱과 로깅 ____시나리오 ____페이지 우선순위와 균형 조절 ____견고한 성능 ____레디부스트 ____레디드라이브 ____프로세스 리플렉션 __결론 6장. I/O 시스템 __I/O 시스템 컴포넌트 ____I/O 관리자 ____전형적인 I/O 처리 __인터럽트 요청 레벨과 지연된 프로시저 호출 ____인터럽트 요청 레벨 ____지연된 프로시저 호출 __디바이스 드라이버 ____디바이스 드라이버의 유형 ____드라이버의 구조 ____드라이버 객체와 디바이스 객체 ____장치 열기 __I/O 처리 ____I/O의 유형 ____I/O 요청 패킷 ____단일 계층 하드웨어 기반 드라이버로의 I/O 요청 ____계층적 드라이버에 대한 I/O 요청 ____스레드 비종속적 I/O ____I/O 취소 ____I/O 완료 포트 ____I/O 우선순위화 __컨테이너 통지 ____드라이버 베리파이어 ____I/O 관련 검증 옵션 __메모리 관련 검증 옵션 ____플러그앤플레이 관리자 ____플러그앤플레이 지원 수준 ____장치 열거 ____디바이스 스택 ____플러그앤플레이를 위한 드라이버 지원 __플러그앤 플레이 드라이버 설치 ____일반적인 드라이버 로드와 설치 ____드라이버 로딩 __드라이버 설치 ____윈도우 드라이버 파운데이션 ____커널 모드 드라이버 프레임워크 __유저 모드 드라이버 프레임워크 ____전원 관리자 ____연결 스탠바이와 모던 스탠바이 ____전원 관리자 동작 ____드라이버의 전원 동작 ____드라이버와 애플리케이션의 장치 전원 제어 ____전원 관리 프레임워크 __전원 가용성 요청 결론 7장. 보안 __보안 등급 ____신뢰성 있는 컴퓨터 시스템 평가 지침 ____공통 평가 기준 __보안 시스템 구성 요소 __가상화 기반의 보안 ____자격증명 가드 ____장치 가드 __객체 보호 ____접근 검사 ____보안 식별자 ____가상 서비스 계정 ____보안 디스크립터와 접근 제어 ____동적 접근 제어 __AuthZ API ____조건부 ACE __계정 권한과 특권 ____계정 권한 ____특권 ____슈퍼 특권 __프로세스와 스레드의 접근 토큰 __보안 감사 ____객체 접근 감사 ____전역 감사 정책 ____고급 감사 정책 설정 __앱컨테이너 ____UWP 앱의 개요 ____앱컨테이너 __로그온 ____Winlogon 초기화 ____사용자 로그온 과정 ____보장된 인증 ____윈도우 생체 인식 프레임워크 ____윈도우 헬로 __사용자 계정 제어와 가상화 ____파일 시스템과 레지스트리 가상화 ____상승 __취약점 완화 ____프로세스 완화 정책 ____제어 흐름 무결성 ____보안 보장 __애플리케이션 식별 __앱락커 __소프트웨어 제한 정책 __커널 패치 보호 __패치가드 __하이퍼가드 __결론