서브메뉴
검색
본문
Powered by NAVER OpenAPI
-
Windows 구조와 원리 그리고 Codes
저자 : 정덕영
출판사 : 가남사
출판년 : 2003
정가 : 16000, ISBN : 8973543253
책소개
우리내 프로그래머들은 뿌리가 없는 교육으로 인하여 개발단계에서 많은 한계를 느끼는 것이 대부분이다. 이 책은 고급 개발자들만이 알고 있던 개발 원리를 차근차근 알기 쉽게 설명하여 경쟁력있는 프로그래머가 될 수 있는 길을 열어준다. 컴퓨터의 구조와 동작 원리, 프로그래머가 알아야할 운영체제의 구조와 원리, 보호모드(Protected Mode), undocumented funtion, Winodws NT, 2000, XP의 커널 내부구조 등을 자세히 설명한다.
목차
제1장 컴퓨터의 구조와 역사
1. 시스템 프로그래밍과 운영체제
2. 프로그래머 입장에서 바라본 컴퓨터의 구조와 역사
제2장 데이터의 표현과 메모리 구조
1. 2진법, 16진법의 표현법과 비트, 바이트
2. 정수의 표현
3. 실수의 표현
4. 문자의 표현
5. 바이트 순서(Little Endian과 Big Endian)
6. 메모리의 구조
7. CPU와 메모리간의 연결
제3장 기계어의 구성
1. 기계어에 대한 이해와 필요성
2. 고급 언어, 기계어, 그리고 어셈블리 언어의 예
3. 명령의 구성과 실행
4. 기계어의 구성(명령어 형식: Instruction Format)
제4장 프로시저와 스택 구조
1. 스택을 사용한 복귀 주소의 저장
2. 스택을 사용한 로컬 변수의 저장
3. 스택을 사용한 파라미터 전달
4. 파라미터 전달의 여러 가지 방법(Calling Conventions)
5. 스택 프레임을 이용한 스택 백트레이싱
6. 프로시저에서 리턴 값 전달하기
7. Windows에서의 스택 구조
제5장 프로세스와 쓰레드
1. 프로세스와 쓰레드의 개념
2. 프로세스의 구조
3. 쓰레드의 구조
4. 어플리케이션에서 프로세스와 쓰레드 관련 정보 얻기
제6장 쓰레드의 스케줄링
1. 쓰레드의 상태
2. 우선 순위 알고리즘
3. Performance monitor 프로그램을 이용한 실험
4. 선점형 스케줄링(Preemptive Scheduling)
제7장 쓰레드의 동기화
1. 쓰레드 동기화의 필요성
2. 유저모드에서의 동기화 함수들
3. 커널 동기화 객체와 그 구조
제8장 메모리 관리
1. 가상 주소(Virtual Address)
2. 가상 주소(Virtual Address)의 구현
제9장 세그먼테이션
1. 가상 메모리에서 실제 물리 메모리까지
2. 세그먼트 레지스터와 그 사용
3. 세그먼테이션(Memory Segmentation)
4. 세그먼트 디스크립터
5. 세그먼트 디스크립터의 내용들
6. 디스크립터 테이블과 세그먼트 셀렉터
7. Windows에서의 세그먼트 디스크립터와 레지스터
제10장 페이징
1. 페이징(Paging)
2. 선형 주소에서 물리 주소까지
3. Windows에서의 페이지 디렉토리와 테이블
4. 공유 메모리와 공유 모듈
5. 메모리 공간의 전환
6. 3GBYTE의 유저 메모리를 사용하는 Windows
제11장 페이지 관리
1. 요구 페이지 처리
2. 페이지 교체 정책(Page Replacement Policy)
3. 작업세트(Working Set) 관리
제12장 프로세서 내의 캐쉬 관리
1. 원리
2. 캐쉬 메모리의 주소 매핑 방식
3. 캐쉬 교체 알고리즘
4. 캐쉬 쓰기 정책
5. Pentium Processor에서의 캐쉬 구조
제13장 윈도우즈에서의 캐쉬 관리
1. Windows에서의 파일 읽기와 그 과정
2. 내부 구조
제14장 유저레벨과 커널레벨
1. 특권레벨(Privilege Levels)
2. 커널모드(Ring 0)와 유저모드(Ring 3)
3. Windows에서의 유저레벨 코드 세그먼트(CS)
4. Windows에서의 커널레벨 코드 세그먼트(CS)
5. 커널레벨에서만 실행되는 CPU 명령어
6. 세그먼트의 갱신과 특권레벨
7. 코드 세그먼트의 변경과 특권레벨의 변경
8. 인터럽트와 특권레벨
9. I/O 특권레벨 변경
부록
1. WinDBG 설치 및 간단한 사용법
2. 드라이버 개발 경험이 없는 프로그래머를 위하여
3. 디스어셈블링에 대한 이해