목차
저자 서문 = xi
역자 서문 = xxi
Chapter 0 독자와 교수자를 위한 안내
0.1 이 책의 개요 = 2
0.2 예제 시스템 = 2
0.3 독자와 강사를 위한 로드맵 = 3
0.4 인터넷과 웹 자원 = 4
PART 1 배경
Chapter 1 컴퓨터 시스템 개요
1.1 기본 구성요소 = 10
1.2 마이크로프로세서의 발전 = 11
1.3 명령어 수행 = 12
1.4 인터럽트 = 15
1.5 메모리 계층구조 = 25
1.6 캐시 메모리 = 28
1.7 직접 메모리 접근 = 32
1.8 멀티프로세서와 멀티코어 구조 = 34
1.9 추천 문헌 및 웹 사이트 = 37
1.10 주요 용어, 복습문제, 연습문제 = 37
부록 1A 2-단계 메모리의 성능 특성 = 41
Chapter 2 운영체제 개요
2.1 운영체제의 목적 및 기능 = 50
2.2 운영체제의 발전 = 55
2.3 주요 성과 = 65
2.4 최근 운영체제로의 발전 = 74
2.5 결함 허용 = 77
2.6 티프로세서와 멀티코어를 위한 운영체제 설계 사항 = 81
2.7 Microsoft Windows 개요 = 84
2.8 전통적인 UNIX 시스템 = 93
2.9 최근의 UNIX 시스템 = 96
2.10 Linux = 97
2.11 ANDROID = 103
2.12 추천 문헌 및 애니메이션 = 109
2.13 주요 용어, 복습문제, 연습문제 = 110
PART 2 프로세스
Chapter 3 프로세스 기술과 제어
3.1 프로세스란? = 117
3.2 프로세스 상태 = 119
3.3 프로세스 기술(description) = 135
3.4 프로세스 제어 = 144
3.5 운영체제의 수행 = 149
3.6 UNIX SVR4의 프로세스 관리 = 152
3.7 요약 = 158
3.8 추천 문헌 및 애니메이션 = 159
3.9 주요 용어, 복습문제, 연습문제 = 159
Chapter 4 쓰레드
4.1 프로세스와 쓰레드 = 166
4.2 쓰레드의 유형 = 172
4.3 멀티코어와 멀티쓰레딩 = 179
4.4 Windows 8의 프로세스와 쓰레드 관리 = 183
4.5 Solaris의 쓰레드와 SMP 관리 = 191
4.6 Linux의 프로세스와 쓰레드 관리 = 196
4.7 ANDROID의 프로세스와 쓰레드 관리 = 200
4.8 Mac OS X의 Grand Central Dispatch = 204
4.9 요약 = 207
4.10 추천 문헌 = 207
4.11 주요 용어, 복습문제, 연습문제 = 208
Chapter 5 병행성: 상호 배제와 동기화
5.1 병행성의 원리 = 218
5.2 상호 배제: 하드웨어 지원 = 228
5.3 세마포어 = 232
5.4 모니터 = 245
5.5 메시지 전달 = 252
5.6 판독자/기록자 문제 = 259
5.7 요약 = 264
5.8 주요 용어, 복습문제, 연습문제 = 265
Chapter 6 병행성: 교착상태와 기아상태
6.1 교착상태 원리 = 280
6.2 교착상태 예방 = 290
6.3 교착상태 회피 = 291
6.4 교착상태 발견 = 297
6.5 교착상태에 대한 통합적인 전략 = 300
6.6 식사하는 철학자 문제 = 301
6.7 UNIX의 병행성 기법 = 305
6.8 LINUX 커널의 병행성 기법 = 308
6.9 Solaris 쓰레드의 프리미티브 = 315
6.10 Windows 7의 병행성 기법 = 318
6.11 Android의 프로세스 간 통신 = 321
6.12 요약 = 323
6.13 참고 문헌 = 323
6.14 주요 용어, 복습문제, 연습문제 = 325
PART 3 메모리
Chapter 7 메모리 관리
7.1 메모리 관리 요구조건 = 336
7.2 메모리 분할(memory partitioning) = 340
7.3 페이징 = 351
7.4 세그먼테이션 = 355
7.5 요약 = 356
7.6 추천 문헌 및 애니메이션 = 356
7.7 주요 용어, 복습문제, 연습문제 = 357
부록 7A 로딩과 링킹(Loading and Linking) = 360
Chapter 8 가상 메모리
8.1 하드웨어와 제어구조 = 368
8.2 운영체제 소프트웨어 = 386
8.3 Unix와 Solaris의 메모리 관리 = 404
8.4 Linux의 메모리 관리 = 409
8.5 Windows의 메모리 관리 = 413
8.6 Android의 메모리 관리 = 415
8.7 요약 = 416
8.8 추천 문헌 및 애니메이션 = 417
8.9 주요 용어, 복습문제, 연습문제 = 418
PART 4 스케줄링
Chapter 9 단일처리기 스케줄링
9.1 처리기 스케줄링의 유형 = 426
9.2 스케줄링 알고리즘 = 431
9.3 전통적인 UNIX 시스템에서의 스케줄링 = 458
9.4 요약 = 460
9.5 추천 문헌 및 애니메이션 = 461
9.6 주요 용어, 복습문제, 연습문제 = 462
Chapter 10 멀티프로세서, 멀티코어 및 실시간 스케줄링
10.1 멀티프로세서와 멀티코어 스케줄링 = 468
10.2 실시간 스케줄링 = 484
10.3 Linux의 스케줄링 = 502
10.4 UNIX SVR4의 스케줄링 = 507
10.5 UNIX FREEBSD 스케줄링 = 509
10.6 Windows 스케줄링(Windows Scheduling) = 512
10.7 요약 = 515
10.8 추천 문헌 = 516
10.9 주요 용어, 복습문제, 연습문제 = 517
PART 5 입출력과 파일
Chapter 11 입출력 관리와 디스크 스케줄링
11.1 입출력장치 = 524
11.2 입출력 기능 구성 = 526
11.3 운영체제 설계 이슈 = 529
11.4 입출력 버퍼링 = 532
11.5 디스크 스케줄링 = 535
11.6 RAID = 543
11.7 디스크 캐시 = 552
11.8 UNIX SVR4의 입출력 = 556
11.9 Linux의 입출력 = 559
11.10 Windows의 입출력 = 562
11.11 요약 = 565
11.12 추천 문헌 = 566
11.13 주요 용어, 복습문제, 연습문제 = 568
Chapter 12 파일관리
12.1 개요 = 572
12.2 파일 구성과 접근 = 578
12.3 B-트리 = 583
12.4 파일 디렉터리 = 585
12.5 파일 공유 = 590
12.6 레코드 블로킹 = 592
12.7 보조 저장공간 관리 = 594
12.8 UNIX의 파일 관리 = 602
12.9 Linux의 가상파일시스템 = 607
12.10 Windows 파일 시스템 = 611
12.11 Android 파일 관리 = 616
12.12 요약 = 618
12.13 추천 문헌 = 618
12.14 주요 용어, 복습문제, 연습문제 = 619
PART 6 임베디드 시스템
Chapter 13 임베디드 운영체제
13.1 임베디드 시스템 = 626
13.2 임베디드 운영체제의 특성 = 627
13.3 임베디드 리눅스 = 630
13.4 TinyOS = 632
13.5 추천 문헌 및 웹 사이트 = 641
13.6 주요 용어, 복습문제, 연습문제 = 641
Chapter 14 가상머신
14.1 가상화 방식 = 648
14.2 프로세서 이슈 = 651
14.3 메모리 관리 = 653
14.4 입출력 관리 = 655
14.5 VMware ESXi = 656
14.6 마이크로소프트 Hyper-V와 Xen 변종 = 659
14.7 Java 가상머신 = 660
14.8 Linux VServer 가상머신 구조 = 661
14.9 Android 가상머신 = 664
14.10 요약 = 666
14.11 추천 문헌 = 666
14.12 주요 용어, 복습문제, 연습문제 = 667
Chapter 15 운영 체제 보안
15.1 침입자와 악성 소프트웨어 = 670
15.2 버퍼 오버플로우 = 674
15.3 접근 제어 = 682
15.4 유닉스의 접근 제어 = 691
15.5 운영체제 강화 = 694
15.6 보안 유지 = 698
15.7 Windows 보안 = 699
15.8 요약 = 705
15.9 추천 문헌 = 705
15.10 주요 용어, 복습문제, 연습문제 = 705
Chapter 16 분산처리, 클라이언트/서버, 클러스터
16.1 클라이언트/서버 컴퓨팅 = 710
16.2 분산 메시지 전달 = 721
16.3 원격 프로시저 호출 = 724
16.4 클러스터 = 727
16.5 Windows 클러스터 서버 = 733
16.6 Beowulf와 Linux 클러스터 = 735
16.7 요약 = 737
16.8 추천 문헌 = 737
16.9 주요 용어, 복습문제, 연습문제 = 738
Appendix A 병행성 관련 주제
A.1 상호 배제: 소프트웨어 접근법 = 742
A.2 경쟁 조건과 세마포어 = 748
A.3 이발소 문제 = 755
A.4 연습문제 = 761
Appendix B 프로그래밍과 운영체제 프로젝트
B.1 OS/161 = 764
B.2 시뮬레이션 = 765
B.3 프로그래밍 프로젝트 = 766
B.4 연구 프로젝트 = 768
B.5 읽기/보고서 과제 = 768
B.6 쓰기 과제 = 768
B.7 토론 주제 = 769
B.8 BACI = 769
참고문헌 = 771
출처 = 785
찾아보기 = 789