검색

검색

  • Home
  • 기능목록
  • 검색

상세정보

Windows 구조와 원리 : OS를 관통하는 프로그래밍의 원리 / 개정증보판

QR코드
도서 상세정보
자료유형 : 단행본
ISBN : 8979143966 
분류기호 : 005.43 
개인저자 : 정덕영
서명/저자사항 : Windows 구조와 원리:  OS를 관통하는 프로그래밍의 원리/  정덕영 저. 
판사항 : 개정증보판. 
발행사항 : 서울:  한빛미디어,  2006. 
형태사항 : 548p.:  삽도;  24cm. 
일반주기 : 권말부록으로 'WinDBG 설치 및 간단한 사용법' 등 수록 
일반주기 : 초판은 '고급 개발자들만이 알고 있던 Windows 구조와 원리 그리고 Codes', 2003. 임 
서지주기 : 참고문헌: p.541-542, 색인수록 
언어 한국어
    • 예약
    • 인쇄
    • SSMS
    • 서가부재
    • 보존서고
    • 우선정리예약
    • 무인예약대출

    예약

    1. 1. 예약현황은 홈페이지 로그인 후 예약 페이지에 확인 가능합니다.
    2. 2. 도착 통보된 예약자료 대출을 원하지 않는 경우에는 예약 현황에서 취소할 수 있습니다.
    3. 3. 기타 문의사항은 도서관에 문의 바랍니다.
    닫기

    무인예약대출

    1. 1. 무인예약대출 현황은 홈페이지 로그인 후 무인예약대출 페이지에 확인 가능합니다.
    2. 2. 무인예약대출자료 대출을 원하지 않는 경우에는 무인예약대출 페이지에서 신청 또는 접수상태인 경우만 취소할 수 있습니다.
    3. 3. 희망대출일은 신청일로부터 최대 1주일 까지 가능합니다.
    4. 4. 희망대출일을 선택하지 않은 경우 대출대기 통보 후 1주일까지 기기에서 대출가능합니다.
    5. 5. 기타 문의사항은 도서관에 문의 바랍니다.
    닫기

    KMO200603053 권 호 :
    발행년 : 2006
    발행처 : 한빛미디어

    서 명 : Windows 구조와 원리


    목차
    Chapter 1 컴퓨터의 구조와 역사
    01 시스템 프로그래밍과 운영체제 = 21
    1. 시스템 프로그래밍이란? = 21
    2. 운영체제란? = 21
    02 프로그래머 입장에서 바라본 컴퓨터의 구조와 역사 = 22
    1. 폰 노이만 구조와 ISA = 23
    2. 인텔 8008, 8086 마이크로프로세서 = 27
    3. 8086의 레지스터들 = 29
    4. 8086 세그먼트 레지스터의 사용 = 32
    5. 80286과 80386 마이크로프로세서의 출현 = 34
    6. 80386에서의 레지스터들 = 35
    7. 컴퓨터 아키텍처(Architecture)와 컴퓨터 오가니제이션(Organization) = 42
    8. 80486 마이크로프로세서 = 43
    9. 펜티엄(Pentium) 프로세서와 슈퍼 스칼라 = 48
    Chapter 2 데이터의 표현과 메모리 구조
    01 2진법, 16진법의 표현법과 비트, 바이트 = 53
    02 정수의 표현 = 54
    03 실수의 표현 = 56
    04 문자의 표현 = 60
    05 바이트 순서(Little Endian과 Big Endian) = 61
    06 메모리의 구조 = 63
    07 CPU와 메모리간의 연결 = 65
    1. 8086에서 짝수 번지, 홀수 번지 = 65
    2. 80386, 80486, 그리고 Pentium에서의 데이터 전송 = 67
    Chapter 3 기계어의 구성
    01 기계어에 대한 이해와 필요성 = 71
    02 고급 언어, 기계어, 그리고 어셈블리 언어의 예 = 72
    03 명령의 구성과 실행 = 73
    04 기계어의 구성(명령어 형식: Instruction Format) = 74
    1. Instruction Prefixes = 75
    2. 작동 코드(Opcode: Operand code) = 79
    3. 번지 지정 방식과 MODR/M 그리고 SIB = 83
    4. 번지 지정 방식 = 86
    Chapter 4 프로시저와 스택 구조
    01 스택을 사용한 복귀 주소의 저장 = 95
    02 스택을 사용한 로컬 변수의 저장 = 98
    03 스택을 사용한 파라미터 전달 = 100
    04 파라미터 전달의 여러 가지 방법(Calling Conventions) = 103
    1. __cdecl = 103
    2. __stdcall = 104
    3. __fastcall = 105
    05 스택 프레임을 이용한 스택 백트레이싱 = 106
    06 프로시저에서 리턴 값 전달하기 = 108
    07 Windows에서의 스택 구조 = 109
    08 함수에서의 레지스터 사용 = 113
    09 Name Mangling(Name Decoration) = 115
    Chapter 5 프로세스와 스레드
    01 프로세스와 스레드의 개념 = 121
    1. 프로세스(Process) = 121
    2. 스레드(Thread) = 121
    02 프로세스의 구조 = 123
    1. WinDBG를 사용한 프로세스 구조체 살펴보기 = 123
    2. 프로그램에서 EPROCESS 포인터 얻기 = 131
    3. 프로세스를 구성하는 요소들 = 133
    03 스레드의 구조 = 154
    1. WinDBG를 사용한 스레드 구조체 살펴보기 = 154
    2. 프로그램에서 ETHREAD 포인터 얻기 = 160
    04 구조화된 예외 처리(Structured Exception Handling) = 162
    1. 운영체제에서의 예외 처리 과정 = 163
    2. 아주 간단한 SEH 처리 예 = 164
    3. Visual C++에서의 SEH 처리 예 = 172
    4. Visual C++의 SEH에서 제공하는 추가적 기능들 = 175
    05 애플리케이션에서 프로세스와 스레드 관련 정보 얻기 = 177
    Chapter 6 스레드의 스케줄링
    01 스레드의 상태 = 191
    02 우선순위 알고리즘 = 192
    1. Windows에서의 우선순위 스케줄링 구현 = 193
    2. 프로세스 우선순위와 스레드 우선순위 = 202
    03 Performance monitor 프로그램을 이용한 실험 = 207
    04 선점형 스케줄링(Preemptive Scheduling) = 208
    1. 선점되어지는 경우 = 210
    2. Windows에서의 선점형 스케줄링 구현 = 211
    3. IPQL과 커널레벨등 동기화 = 215
    Chapter 7 스레드의 동기화
    01 스레드 동기화의 필요성 = 221
    02 유저모드에서의 동기화 함수들 = 224
    1. 크리티컬 섹션(Critical Section) = 224
    2. 뮤텍스(Mutex) = 226
    3. 세마포어(Semaphore) = 230
    4. 이벤트(Event) = 230
    03 커널 동기화 객체와 그 구조 = 231
    1. 커널 동기화 객체 = 232
    2. 디스패처(Dispatcher)와 대기 블록(WaitBlock) = 239
    Chapter 8 메모리 관리
    01 가상 주소(Virtual Address) = 247
    02 가상 주소(Virtual Address)의 구현 = 247
    1. 페이징 기법 = 248
    2. 가상 주소와 페이징 시스템 = 250
    3. 세그먼트 기법 = 254
    4. 단편화(Fragmentation) = 255
    5. 세그먼트와 페이징 기법의 병합 = 257
    Chapter 9 세그먼테이션
    01 가상 메모리에서 실제 물리 메모리까지 = 261
    02 세그먼트 레지스터와 그 사용 = 262
    03 세그먼테이션(Memory Segmentation) = 263
    04 세그먼트 디스크립터 = 265
    05 세그먼트 디스크립터의 내용들 = 267
    1. 베이스(Base) 필드 = 268
    2. 리미트(Limit) 필드 = 268
    3. 액세스(Access) 비트 = 268
    4. 프레젠트(Present) 비트 = 269
    5. 디폴트(Default) 비트 = 269
    6. Granularity 비트 = 269
    7. 시스템(System) 비트와 타입(Type) 비트 = 269
    06 디스크립터 테이블과 세그먼트 셀렉터 = 276
    1. 디스크립터 테이블 = 276
    2. LDT(Local Descriptor Table) = 278
    3. 세그먼트 셀렉터 = 279
    07 Windows에서의 세그먼트 디스크립터와 레지스터 = 280
    1. 애플리케이션에서의 세그먼트 레지스터와 그 내용 = 281
    2. 커널레벨에서의 세그먼트 레지스터와 그 내용 = 285
    Chapter 10 페이징
    01 페이징(Paging) = 293
    02 선형 주소에서 물리 주소까지 = 294
    1. CR3 레지스터 = 295
    2. 페이지 디렉토리(Page Directory) = 297
    3. 페이지 테이블(Page Table) = 299
    4. 실습 = 302
    03 Windows에서의 페이지 디렉토리와 테이블 = 307
    04 공유 메모리와 공유 모듈 = 312
    05 메모리 공간의 전환 = 317
    06 3GByte의 유저 메모리를 사용하는 Windows = 319
    07 Page Address Extensions(PAE) = 320
    Chapter 11 페이지 관리
    01 요구 페이지 처리 = 325
    1. 페이지 폴트 예외 핸들러 = 326
    2. 선페이징(Prepaging) = 336
    3. Paged Memory와 NonPaged Memory = 337
    02 페이지 교체 정책(Page Replacement Policy) = 342
    1. 지역성(Locality) = 342
    2. LRU(Least Recently Used) 방식 = 343
    3. FIFO(First In, First Out) 방식 = 346
    4. Page Frame Number Database = 347
    5. 실습 = 350
    03 작업세트(Working Set) 관리 = 351
    1. 스레싱(Thrashing) 현상 = 351
    2. 작업세트 관리 = 352
    3. 작업세트를 조절하기 위한 Win32 API = 354
    04 페이지의 효과적 이용 방법 = 356
    Chapter 12 프로세서 내의 캐시 관리
    01 원리 = 361
    02 캐시 메모리의 주소 매핑 방식 = 363
    1. 직접 매핑(direct mapping) = 363
    2. 어소시에이티브 매핑(associative mapping) = 364
    3. 셋 어소시에이티브 매핑(set associative mapping) = 366
    03 캐시 교체 알고리즘 = 367
    04 캐시 쓰기 정책 = 368
    1. Write Through 정책 = 368
    2. Write Back 정책 = 368
    05 Pentium Processor에서의 캐시 구조 = 369
    06 캐시와 프로그램 최적화 = 371
    1. 데이터의 위치와 속도 = 372
    2. 지역성을 이용한 최적화(Locality) = 374
    3. 특별한 명령어를 이용한 최적화 = 375
    4. 데이터의 정렬(Alignment) = 376
    Chapter 13 윈도우즈에서의 캐시 관리
    01 Windows에서의 파일 읽기와 그 과정 = 381
    02 내부 구조 = 383
    1. Windows의 System Cache 영역과 View = 383
    2. VACB(Virtual Address Control Blocks)에 의한 View 관리 = 384
    3. 파일 열기 속성과 캐시 관리자 = 386
    03 캐시 내부 살펴보기 = 387
    1. FILE I/O 함수에 의한 접근 시의 데이터 관리 = 388
    2. 메모리 맵드 I/O에 대한 파일 관리 = 392
    Chapter 14 유저레벨과 커널레벨
    01 특권레벨(Privilege Levels) = 397
    02 커널모드(Ring O)와 유저모드(Ring 3) = 399
    03 Windows에서의 유저레벨 코드 세그먼트 = 399
    04 Windows에서의 커널레벨 코드 세그먼트 = 401
    05 커널레벨에서만 실행되는 CPU 명령어 = 401
    06 세그먼트의 갱신과 특권레벨 = 403
    1. 데이터의 세그먼트 갱신(DS, ES, FS, GS) = 403
    2. 스택 세그먼트 갱신(SS) = 404
    07 코드 세그먼트의 변경과 특권레벨의 변경 = 405
    1. 세그먼트간의 JMP 또는 CALL 명령 실행 = 406
    08 인터럽트와 특권레벨 = 427
    1. IDT(Interrupt Descriptor Table) = 427
    2. 인텔에서 정의하고 있는 인터럽트 벡터별 내용 = 429
    3. 인터럽트 발생과 스택 변화 = 431
    4. Windows API의 흐름 = 432
    09 I/O 특권레벨 변경 = 446
    1. TSS(Task State Segment) 변경을 통한 I/O 권한 변경 = 446
    2. IOPL 변경을 통한 IO 특권레벨 변환하기 = 458
    Chapter 15 실행 파일과 로더
    01 PE 파일의 레이아웃 = 463
    1. DOS 헤더와 스터브 코드 = 463
    2. PE 헤더 = 465
    3. Optional 헤더 = 468
    4. 섹션(Section) 헤더 = 473
    5. 세션(Section) = 475
    02 PE 파일의 주요 정보와 로더 = 476
    1. 로더의 내부 = 477
    2. 기준 재배치(Base Relocations) = 479
    3. 익스포트 함수(Export Functions) = 483
    4. 임포트 함수(Import Functions) = 485
    Chapter 16 16비트 에뮬레이션
    01 MS-DOS 에뮬레이션 = 491
    1. 메모리 공간의 구성 = 492
    2. 16비트 명령어의 실행 = 494
    3. Interrupt에 대한 처리 = 494
    4. Memory Mapped I/O에 대한 처리 = 498
    02 80286 환경에서 수행되는 Win16 에뮬레이션 = 499
    부록
    부록 A. WinDBG 설치 및 간단한 사용법 = 502
    부록 B. 드라이버 개발 경험이 없는 프로그래머를 위하여 = 512
    부록 C. 디스어셈블링에 대한 이해 = 523
    부록 D. 디버거의 내부 구조와 원리 = 532
    참고문헌 = 541
    찾아보기 = 543

    펼쳐보기
    서평쓰기

    서평쓰기

    서평쓰기
    닫기
    태그추가

    태그추가

    닫기

    QR코드

    닫기
    챗봇
    • 도서관 대화형 검색봇 서비스 앤디입니다.