목차
머리말 = ⅲ
역자 머리말 = xv
제1장 서론 = 1
1.1 컴퓨터와 소프트웨어 = 2
1.2 운영체제 전략 = 18
1.3 요약 = 39
제2장 운영체제 활용 = 41
2.1 프로그래머의 추상 기계 = 41
2.2 자원 = 46
2.3 프로세스 및 스레드 = 52
2.4 병행 프로그램의 작성 = 58
2.5 객체 = 72
2.6 요약 = 73
2.7 연습문제 = 74
실습문제 1 : 간단한 쉘 = 75
실습문제 2 : 다중 스레드 응용 = 82
제3장 운영체제 구성 = 89
3.1 기본 기능 = 89
3.2 일반적인 구현 고려 사항 = 94
3.3 현대 OS 커널 = 104
3.4 요약 = 111
3.5 연습문제 = 112
실습문제 : OS 동작의 관찰 = 112
제4장 컴퓨터 구성 = 117
4.1 폰 노이만 컴퓨터 구조 = 117
4.2 중앙 처리 장치 = 121
4.3 주(실행 가능한) 메모리 = 126
4.4 입출력 장치 = 128
4.5 인터럽트 = 133
4.6 전형적인 현대 컴퓨터 = 138
4.7 모바일 컴퓨터 = 142
4.8 다중 프로세서와 병렬 컴퓨터 = 145
4.9 요약 = 150
4.10 연습문제 = 151
제5장 장치관리 = 155
5.1 입출력(I/O) 시스템 = 155
5.2 입출력(I/O) 전략 = 161
5.3 장치 관리자 설계 = 166
5.4 버퍼링 = 172
5.5 장치 종류의 특성 = 176
5.6 요약 = 190
5.7 연습문제 = 190
실습문제 : 플로피 디스크 구동기 = 192
제6장 프로세스, 스레드, 자원 구현하기 = 201
6.1 현안 = 201
6.2 하드웨어 프로세스 = 210
6.3 추상 컴퓨터 인터페이스 = 212
6.4 프로세스 추상화 = 215
6.5 스레드 추상화 = 221
6.6 상태 다이어그램 = 223
6.7 자원 관리자 = 226
6.8 프로세스 관리 정책 일반화하기 = 230
6.9 요약 = 233
6.10 연습문제 = 234
실습문제 1 : 커널타이머 = 235
실습문제 2 : 커널 객체 조작하기 = 243
제7장 스케줄링 = 255
7.1 개요 = 255
7.2 스케줄링 메커니즘 = 257
7.3 전략 선택 = 264
7.4 비선점 전략 = 269
7.5 선점 전략 = 276
7.6 스케줄러 구현 = 280
7.7 요약 = 284
7.8 연습문제 = 285
실습문제 : 라운드 로빈 스케줄링 분석 = 287
제8장 기본적인 동기화 원리 = 295
8.1 협동 프로세스 = 295
8.2 고전적인 해결책으로부터 발전 = 309
8.3 세마포어: 현대적인 해결책의 기본 = 312
8.4 공유 메모리 다중 프로세서에서의 동기화 = 325
8.5 요약 = 326
8.6 연습문제 = 327
실습문제 : 한정된 버퍼 문제 = 330
제9장 고급 동기화 및 프로세스 간 통신 = 341
9.1 다양한 동기화 기본 연산 = 341
9.2 모니터 = 350
9.3 프로세스 간 통신 = 359
9.4 요약 = 366
9.5 연습문제 = 366
실습문제1 : 파이프 사용하기 =369
실습문제2 : 쉘 개선하기 = 377
제10장 교착 상태 = 381
10.1 배경 = 381
10.2 시스템 교착 상태 모델 = 387
10.3 방지 = 392
10.4 회피 = 397
10.5 탐지 및 복구 = 403
10.6 요약 = 418
10.7 연습문제 = 419
제11장 메모리 관리 = 423
11.1 기본사항 = 424
11.2 주소 공간 추상화 = 428
11.3 메모리 할당 = 437
11.4 동적 주소 공간 바인딩 = 444
11.5 현대 메모리 관리자 전략 = 449
11.6 요약 = 458
11.7 연습문제 = 458
실습문제 : 공유 메모리의 사용 = 460
제12장 가상 메모리 = 467
12.1 현안 = 467
12.2 주소 변환 = 469
12.3 페이징 = 473
12.4 정적 페이징 알고리즘 = 480
12.5 동적 페이징 알고리즘 = 491
12.6 세그먼테이션 = 503
12.7 메모리 맵 파일 = 511
12.8 요약 = 513
12.9 연습문제 = 514
실습문제 : 메모리 맵 파일 = 516
제13장 파일관리 = 523
13.1 처리하는 작업 = 523
13.2 파일 = 526
13.3 저수준 파일 구현 = 538
13.4 고수준 파일 추상화 지원 = 555
13.5 디렉토리 = 557
13.6 디렉토리 구현 = 562
13.7 파일 시스템 = 563
13.8 요약 = 569
13.9 연습문제 = 570
실습문제 : 간단한 파일 관리자 = 571
제14장 보호와 보안 = 579
14.1 문제 = 579
14.2 인증 = 587
14.3 인가 = 601
14.4 암호학 = 618
14.5 요약 = 626
14.6 연습문제 = 627
제15장 네트워크 = 629
15.1 컴퓨터 통신에서 네트워크로 = 630
15.2 ISO OSI 네트워크 구조 모델 = 635
15.3 매체 접근 제어(MAC) 프로토콜 = 640
15.4 네트워크 계층 = 647
15.5 전송계층 = 655
15.6 전송 계층 사용하기 = 659
15.7 네트워크 보안 = 665
15.8 요약 = 667
15.9 연습문제 = 668
실습문제 : TCP/IP = 669
제16장 원격 파일 = CD-1
16.1 네트워크를 통한 정보 공유 = CD-1
16.2 원격 디스크 시스템 = CD-11
16.3 원격 파일 시스템 = CD-20
16.4 파일 수준 캐싱 = CD-30
16.5 디렉토리 시스템과 구현 = CD-34
16.6 요약 = CD-38
16.7 연습문제 = CD-39
제17장 분산 컴퓨팅 = CD-41
17.1 분산 운영체제 메커니즘 = CD-42
17.2 분산 주 메모리 = CD-45
17.3 원격 프로시저 호출 = CD-55
17.4 원격 객체 = CD-63
17.5 분산 처리 관리 = CD-67
17.6 요약 = CD-79
17.7 연습문제 = CD-79
실습문제 : 원격 프로시저 호출 사용 = CD-81
제18장 분산 프로그래밍 런타임 시스템 = CD-91
18.1 미들웨어를 이용한 분산 소프트웨어 지원 = CD-91
18.2 고전적인 분산 응용 프로그램 = CD-93
18.3 고전적인 분산 프로그래밍을 지원하기 위한 미들웨어 = CD-96
18.4 웹 기반의 분산 프로그래밍 = CD-110
18.5 모바일 코드를 위한 미들웨어 지원 = CD-112
18.6 요약 = CD-128
18.7 연습문제 = CD-129
제19장 설계 전략 = CD-131
19.1 설계 시 고려 사항 = CD-131
19.2 모놀리식 커널 = CD-138
19.3 모듈형 구조 = CD-141
19.4 확장가능 핵심부 또는 마이크로커널 구조 = CD-145
19.5 계층적 구조 = CD-155
19.6 분산 시스템을 위한 운영체제 = CD-157
19.7 요약 = CD-164
19.8 연습문제 = CD-165
제20장 리눅스 커널 = 681
20.1 리눅스 커널 = 681
20.2 커널 구조 = 682
20.3 모듈과 장치관리 = 686
20.5 메모리 관리자 = 695
20.6 파일 관리 = 700
20.7 요약 = 703
제21장 윈도우 NT/2000/XP 커널 = 705
21.1 소개 = 705
21.2 NT 커널 = 707
21.3 NT Executive = 711
21.4 커널 지역 프로시저 호출과 IPC = 720
21.5 서브시스템 = 722
21.6 요약 = 723
용어해설 = 725
찾아보기 = 759