목차
Chapter 00 독자 안내 = 25
0.1 이 책의 개요 = 26
0.2 독자와 강사를 위한 로드 맵 = 27
0.3 인터넷과 웹 자원 = 28
PART 1 배경
Chapter 01 컴퓨터 시스템 개요 = 33
1.1 기본 구성요소 = 34
1.2 처리기 레지스터 = 35
1.3 명령어 수행 = 38
1.4 인터럽트 = 42
1.5 메모리 계층구조 = 53
1.6 캐시 메모리 = 57
1.7 입출력 통신 기술 = 61
1.8 추천 문헌 및 웹 사이트 = 65
1.9 주요 용어, 복습문제, 연습문제 = 66
부록 1A 2단계 메모리의 성능 특성 = 69
부록 1B 프로시저 제어 = 77
Chapter 02 운영체제 개요 = 83
2.1 운영체제의 목적 및 기능 = 84
2.2 운영체제의 발전 = 89
2.3 주요 성과 = 100
2.4 최근 운영체제로의 발전 = 115
2.5 Microsoft Windows 개요 = 118
2.6 전통적인 UNIX 시스템 = 130
2.7 최근의 UNIX 시스템 = 133
2.8 Linux = 135
2.9 추천 문헌 및 웹 사이트 = 143
2.10 주요 용어, 복습문제, 연습문제 = 145
PART 2 프로세스
Chapter 03 프로세스 기술과 제어 = 151
3.1 프로세스란? = 153
3.2 프로세스 상태 = 156
3.3 프로세스 기술(Process Description) = 173
3.4 프로세스 제어 = 183
3.5 운영체제의 수행 = 190
3.6 보안 이슈 = 193
3.7 UNIX SVR4의 프로세스 관리 = 198
3.8 요약 = 204
3.9 추천 문헌 = 205
3.10 주요 용어, 복습문제, 연습문제 = 206
프로그래밍 프로젝트 01 : 쉘의 작성 = 211
Chapter 4 쓰레드, SMP, 그리고 마이크로커널 = 215
4.1 프로세스와 쓰레드 = 216
4.2 대칭적 다중처리 = 232
4.3 마이크로커널 = 237
4.4 Windows쓰레드와 SMP관리 = 244
4.5 Solaris 쓰레드와 SMP관리 = 251
4.6 Linux 프로세스와 쓰레드 관리 = 256
4.7 요약 = 261
4.8 추천 문헌 = 261
4.9 주요 용어, 복습문제, 연습문제 = 262
Chapter 05 병행성: 상호 배제와 동기화 = 269
5.1 병행성의 원리 = 272
5.2 상호 배제: 하드웨어 지원 = 283
5.3 세마포어 = 288
5.4 모니터 = 303
5.5 메시지 전달 = 311
5.6 판독자/기록자 문제 = 319
5.7 요약 = 324
5.8 추천 문헌 = 325
5.9 주요 용어, 복습문제, 연습문제 = 326
Chapter 06 병행성: 교착상태와 기아상태 = 341
6.1 교착상태 원리 = 342
6.2 교착상태 예방 = 353
6.3 교착상태 회피 = 355
6.4 교착상태 발견 = 362
6.5 교착상태에 대한 통합적인 전략 = 364
6.6 식사하는 철학자 문제 = 365
6.7 UNIX의 병행성 기법 = 370
6.8 LINUX커널의 병행성 기법 = 373
6.9 Solaris쓰레드 동기화 프리미티브 = 382
6.10 Windows 병행성 기법 = 385
6.11 요약 = 389
6.12 추천 문헌 = 390
6.13 주요 용어, 복습문제, 연습문제 = 391
PART 3 메모리
Chapter 07 메모리 관리 = 401
7.1 메모리 관리 요구조건 = 402
7.2 메모리 분할 = 406
7.3 페이징(Paging) = 419
7.4 세그먼테이션 = 423
7.5 보안 이슈 = 424
7.6 요약 = 429
7.7 추천 문헌 = 429
7.8 주요 용어, 복습문제, 연습문제 = 430
부록 7A 로딩과 링킹 = 434
Chapter 08 가상 메모리 = 443
8.1 하드웨어와 제어 구조 = 444
8.2 운영체제 소프트웨어 = 465
8.3 Unix와 Solaris의 메모리 관리 = 487
8.4 Linux의 메모리 관리 = 493
8.5 Windows의 메모리 관리 = 496
8.6 요약 = 500
8.7 추천 문헌 및 웹 사이트 = 501
8.8 주요 용어, 복습문제, 연습문제 = 502
부록 8A 해시 테이블 = 507
PART 4 스케줄링
Chapter 09 단일처리기 스케줄링 = 515
9.1 처리기 스케줄링의 유형 = 516
9.2 스케줄링 알고리즘 = 521
9.3 전통적인 UNIX 시스템에서의 스케줄링 = 551
9.4 요약 = 554
9.5 추천 문헌 = 555
9.6 주요 용어, 복습문제, 연습문제 = 556
부록 9A 응답시간 = 561
부록 9B 큐잉 시스템 = 565
프로그래밍 프로젝트 02 : Host 디스패처 쉘 구현하기 = 573
Chapter 10 다중처리기와 실시간 스케줄링 = 581
10.1 다중처리기 스케줄링 = 582
10.2 실시간 스케줄링 = 601
10.3 Linux의 스케줄링 = 622
10.4 UNIX SVR4의 스케줄링 = 628
10.5 Windows 스케줄링 = 631
10.6 요약 = 634
10.7 추천 문헌 = 635
10.8 주요 용어, 복습문제, 연습문제 = 636
PART 5 입출력과 파일
Chapter 11 입출력 관리와 디스크 스케줄링 = 643
11.1 입출력장치 = 644
11.2 입출력 기능의 구성 = 646
11.3 운영체제 설계 이슈 = 650
11.4 입출력 버퍼링 = 653
11.5 디스크 스케줄링 = 657
11.6 RAID = 666
11.7 디스크 캐시 = 676
11.8 UNIX SVR4의 입출력 = 681
11.9 Linux의 입출력 = 684
11.10 Windows의 입출력 = 688
11.11 요약 = 692
11.12 추천 문헌 = 693
11.13 주요 용어, 복습문제, 연습문제 = 694
부록 11A 디스크 저장장치 = 697
Chapter 12 파일 관리 = 709
12.1 개요 = 710
12.2 파일 구성과 접근 = 717
12.3 파일 디렉토리 = 723
12.4 파일 공유 = 727
12.5 레코드 블록화 기법 = 727
12.6 보조 저장공간 관리 = 731
12.7 파일 시스템 보안 = 741
12.6 보조 저장공간 관리 = 731
12.7 파일 시스템 보안 = 741
12.8 UNIX의 파일 관리 = 744
12.9 Linux의 가상 파일 시스템 = 752
12.10 Windows의 파일 시스템 = 756
12.11 요약 = 763
12.12 추천 문헌 = 764
12.13 주요 용어, 복습문제, 연습문제 = 765
PART 6 임베디드 시스템
Chapter 13 임베디드 운영체제 = 771
13.1 임베디드 시스템 = 772
13.2 임베디드 운영체제의 특성 = 774
13.3 eCos = 777
13.4 TinyOS = 794
13.5 추천 문헌 및 웹 사이트 = 804
13.6 주요 용어, 복습문제, 연습문제 = 806
PART 7 보안
Chapter 14 컴퓨터 보안 위협 = 813
14.1 컴퓨터 보안의 개념 = 814
14.2 위협, 공격, 자산 = 816
14.3 침입자 = 822
14.4 악성 소프트웨어의 개요 = 827
14.5 바이러스, 웜, 봇 = 832
14.6 루트킷 = 844
14.7 추천 문헌 및 웹 사이트 = 846
14.8 주요 용어, 복습문제, 연습문제 = 847
Chapter 15 컴퓨터 보안 기술 = 851
15.1 인증 = 852
15.2 접근 제어 = 860
15.3 침입 탐지 = 867
15.4 악성 코드 방어 = 873
15.5 버퍼 오버플로 공격에 대한 대응 = 880
15.6 Windows Vista의 보안 = 886
15.7 추천 문헌 및 웹 사이트 = 891
15.8 주요 용어, 복습문제, 연습문제 = 893
PART 8 분산 시스템
Chapter 16 분산 처리, 클라이언트/서버, 클러스터 = 903
16.1 클라이언트/서버 컴퓨팅 = 904
16.2 분산 메시지 전달 = 916
16.3 원격 프로시저 호출 = 919
16.4 클러스터 = 923
16.5 Windows 클러스터 서버 = 930
16.6 Sun 클러스터 = 932
16.7 Beowulf와 Linux 클러스터 = 935
16.8 요약 = 937
16.9 추천 문헌 및 웹 사이트 = 938
16.10 주요 용어, 복습문제, 연습문제 = 940
부록 A 병행성 관련 주제 = 943
A.1 상호 배제: 소프트웨어 접근법 = 944
A.2 경쟁 조건과 세마포어 = 951
A.3 이발소 문제 = 959
A.4 연습문제 = 965
부록 B 객체 지향 설계 = 967
B.1 동기 = 968
B.2 객체 지향 개념 = 969
B.3 객체 지향 설계의 장점 = 974
B.4 CORBA = 975
B.5 추천 문헌 및 웹 사이트 = 979
부록 C 프로그래밍과 운영체제 프로젝트 = 981
C.1 애니메이션 및 애니메이션 프로젝트 = 982
C.2 시뮬레이션 = 984
C.3 프로그래밍 프로젝트 = 985
C.4 연구 프로젝트 = 987
C.5 읽기/보고서 과제 = 987
C.6 쓰기 과제 = 987
C.7 토론 주제 = 988
C.8 BACI와 NACHOS = 988
용어해설 = 991
찾아보기 = 1001
Chapter 00 독자 안내 = 25
0.1 이 책의 개요 = 26
0.2 독자와 강사를 위한 로드 맵 = 27
0.3 인터넷과 웹 자원 = 28
PART 1 배경
Chapter 01 컴퓨터 시스템 개요 = 33
1.1 기본 구성요소 = 34
1.2 처리기 레지스터 = 35
1.3 명령어 수행 = 38
1.4 인터럽트 = 42
1.5 메모리 계층구조 = 53
1.6 캐시 메모리 = 57
1.7 입출력 통신 기술 = 61
1.8 추천 문헌 및 웹 사이트 = 65
1.9 주요 용어, 복습문제, 연습문제 = 66
부록 1A 2단계 메모리의 성능 특성 = 69
부록 1B 프로시저 제어 = 77
Chapter 02 운영체제 개요 = 83
2.1 운영체제의 목적 및 기능 = 84
2.2 운영체제의 발전 = 89
2.3 주요 성과 = 100
2.4 최근 운영체제로의 발전 = 115
2.5 Microsoft Windows 개요 = 118
2.6 전통적인 UNIX 시스템 = 130
2.7 최근의 UNIX 시스템 = 133
2.8 Linux = 135
2.9 추천 문헌 및 웹 사이트 = 143
2.10 주요 용어, 복습문제, 연습문제 = 145
PART 2 프로세스
Chapter 03 프로세스 기술과 제어 = 151
3.1 프로세스란? = 153
3.2 프로세스 상태 = 156
3.3 프로세스 기술(Process Description) = 173
3.4 프로세스 제어 = 183
3.5 운영체제의 수행 = 190
3.6 보안 이슈 = 193
3.7 UNIX SVR4의 프로세스 관리 = 198
3.8 요약 = 204
3.9 추천 문헌 = 205
3.10 주요 용어, 복습문제, 연습문제 = 206
프로그래밍 프로젝트 01 : 쉘의 작성 = 211
Chapter 4 쓰레드, SMP, 그리고 마이크로커널 = 215
4.1 프로세스와 쓰레드 = 216
4.2 대칭적 다중처리 = 232
4.3 마이크로커널 = 237
4.4 Windows쓰레드와 SMP관리 = 244
4.5 Solaris 쓰레드와 SMP관리 = 251
4.6 Linux 프로세스와 쓰레드 관리 = 256
4.7 요약 = 261
4.8 추천 문헌 = 261
4.9 주요 용어, 복습문제, 연습문제 = 262
Chapter 05 병행성: 상호 배제와 동기화 = 269
5.1 병행성의 원리 = 272
5.2 상호 배제: 하드웨어 지원 = 283
5.3 세마포어 = 288
5.4 모니터 = 303
5.5 메시지 전달 = 311
5.6 판독자/기록자 문제 = 319
5.7 요약 = 324
5.8 추천 문헌 = 325
5.9 주요 용어, 복습문제, 연습문제 = 326
Chapter 06 병행성: 교착상태와 기아상태 = 341
6.1 교착상태 원리 = 342
6.2 교착상태 예방 = 353
6.3 교착상태 회피 = 355
6.4 교착상태 발견 = 362
6.5 교착상태에 대한 통합적인 전략 = 364
6.6 식사하는 철학자 문제 = 365
6.7 UNIX의 병행성 기법 = 370
6.8 LINUX커널의 병행성 기법 = 373
6.9 Solaris쓰레드 동기화 프리미티브 = 382
6.10 Windows 병행성 기법 = 385
6.11 요약 = 389
6.12 추천 문헌 = 390
6.13 주요 용어, 복습문제, 연습문제 = 391
PART 3 메모리
Chapter 07 메모리 관리 = 401
7.1 메모리 관리 요구조건 = 402
7.2 메모리 분할 = 406
7.3 페이징(Paging) = 419
7.4 세그먼테이션 = 423
7.5 보안 이슈 = 424
7.6 요약 = 429
7.7 추천 문헌 = 429
7.8 주요 용어, 복습문제, 연습문제 = 430
부록 7A 로딩과 링킹 = 434
Chapter 08 가상 메모리 = 443
8.1 하드웨어와 제어 구조 = 444
8.2 운영체제 소프트웨어 = 465
8.3 Unix와 Solaris의 메모리 관리 = 487
8.4 Linux의 메모리 관리 = 493
8.5 Windows의 메모리 관리 = 496
8.6 요약 = 500
8.7 추천 문헌 및 웹 사이트 = 501
8.8 주요 용어, 복습문제, 연습문제 = 502
부록 8A 해시 테이블 = 507
PART 4 스케줄링
Chapter 09 단일처리기 스케줄링 = 515
9.1 처리기 스케줄링의 유형 = 516
9.2 스케줄링 알고리즘 = 521
9.3 전통적인 UNIX 시스템에서의 스케줄링 = 551
9.4 요약 = 554
9.5 추천 문헌 = 555
9.6 주요 용어, 복습문제, 연습문제 = 556
부록 9A 응답시간 = 561
부록 9B 큐잉 시스템 = 565
프로그래밍 프로젝트 02 : Host 디스패처 쉘 구현하기 = 573
Chapter 10 다중처리기와 실시간 스케줄링 = 581
10.1 다중처리기 스케줄링 = 582
10.2 실시간 스케줄링 = 601
10.3 Linux의 스케줄링 = 622
10.4 UNIX SVR4의 스케줄링 = 628
10.5 Windows 스케줄링 = 631
10.6 요약 = 634
10.7 추천 문헌 = 635
10.8 주요 용어, 복습문제, 연습문제 = 636
PART 5 입출력과 파일
Chapter 11 입출력 관리와 디스크 스케줄링 = 643
11.1 입출력장치 = 644
11.2 입출력 기능의 구성 = 646
11.3 운영체제 설계 이슈 = 650
11.4 입출력 버퍼링 = 653
11.5 디스크 스케줄링 = 657
11.6 RAID = 666
11.7 디스크 캐시 = 676
11.8 UNIX SVR4의 입출력 = 681
11.9 Linux의 입출력 = 684
11.10 Windows의 입출력 = 688
11.11 요약 = 692
11.12 추천 문헌 = 693
11.13 주요 용어, 복습문제, 연습문제 = 694
부록 11A 디스크 저장장치 = 697
Chapter 12 파일 관리 = 709
12.1 개요 = 710
12.2 파일 구성과 접근 = 717
12.3 파일 디렉토리 = 723
12.4 파일 공유 = 727
12.5 레코드 블록화 기법 = 727
12.6 보조 저장공간 관리 = 731
12.7 파일 시스템 보안 = 741
12.6 보조 저장공간 관리 = 731
12.7 파일 시스템 보안 = 741
12.8 UNIX의 파일 관리 = 744
12.9 Linux의 가상 파일 시스템 = 752
12.10 Windows의 파일 시스템 = 756
12.11 요약 = 763
12.12 추천 문헌 = 764
12.13 주요 용어, 복습문제, 연습문제 = 765
PART 6 임베디드 시스템
Chapter 13 임베디드 운영체제 = 771
13.1 임베디드 시스템 = 772
13.2 임베디드 운영체제의 특성 = 774
13.3 eCos = 777
13.4 TinyOS = 794
13.5 추천 문헌 및 웹 사이트 = 804
13.6 주요 용어, 복습문제, 연습문제 = 806
PART 7 보안
Chapter 14 컴퓨터 보안 위협 = 813
14.1 컴퓨터 보안의 개념 = 814
14.2 위협, 공격, 자산 = 816
14.3 침입자 = 822
14.4 악성 소프트웨어의 개요 = 827
14.5 바이러스, 웜, 봇 = 832
14.6 루트킷 = 844
14.7 추천 문헌 및 웹 사이트 = 846
14.8 주요 용어, 복습문제, 연습문제 = 847
Chapter 15 컴퓨터 보안 기술 = 851
15.1 인증 = 852
15.2 접근 제어 = 860
15.3 침입 탐지 = 867
15.4 악성 코드 방어 = 873
15.5 버퍼 오버플로 공격에 대한 대응 = 880
15.6 Windows Vista의 보안 = 886
15.7 추천 문헌 및 웹 사이트 = 891
15.8 주요 용어, 복습문제, 연습문제 = 893
PART 8 분산 시스템
Chapter 16 분산 처리, 클라이언트/서버, 클러스터 = 903
16.1 클라이언트/서버 컴퓨팅 = 904
16.2 분산 메시지 전달 = 916
16.3 원격 프로시저 호출 = 919
16.4 클러스터 = 923
16.5 Windows 클러스터 서버 = 930
16.6 Sun 클러스터 = 932
16.7 Beowulf와 Linux 클러스터 = 935
16.8 요약 = 937
16.9 추천 문헌 및 웹 사이트 = 938
16.10 주요 용어, 복습문제, 연습문제 = 940
부록 A 병행성 관련 주제 = 943
A.1 상호 배제: 소프트웨어 접근법 = 944
A.2 경쟁 조건과 세마포어 = 951
A.3 이발소 문제 = 959
A.4 연습문제 = 965
부록 B 객체 지향 설계 = 967
B.1 동기 = 968
B.2 객체 지향 개념 = 969
B.3 객체 지향 설계의 장점 = 974
B.4 CORBA = 975
B.5 추천 문헌 및 웹 사이트 = 979
부록 C 프로그래밍과 운영체제 프로젝트 = 981
C.1 애니메이션 및 애니메이션 프로젝트 = 982
C.2 시뮬레이션 = 984
C.3 프로그래밍 프로젝트 = 985
C.4 연구 프로젝트 = 987
C.5 읽기/보고서 과제 = 987
C.6 쓰기 과제 = 987
C.7 토론 주제 = 988
C.8 BACI와 NACHOS = 988
용어해설 = 991
찾아보기 = 1001