목차
Part 1. 개요
Chapter 1. 운영 체제 소개
1.1 운영 체제란 = 20
1.2 작업별 처리 = 23
1.3 초기 일괄처리 시스템 = 24
1.3.1 배치(Batch) = 24
1.3.2 입출력 표준화 = 25
1.4 일괄처리 시스템 = 26
1.4.1 하드웨어 = 27
1.4.2 상주 모니터 = 28
1.4.3 보호 = 29
1.4.4 작업 제어 명령어 = 30
1.5 다중 프로그래밍(Multi-Programming) = 32
1.5.1 스풀링 = 34
1.6 시분할 시스템 = 35
1.7 개인용 컴퓨터 = 37
1.8 병렬 시스템 = 39
1.9 분산 시스템 = 41
1.10 실시간 시스템 = 43
1.11 내장형 시스템(Embedded Systems) = 46
Chapter 2. 컴퓨터 구조
2.1 입출력 시스템의 구성 = 57
2.1.1 개요 = 57
2.1.2 제어기 = 59
2.1.3 장치 구동기(Device Driver) = 60
2.2 인터럽트 시스템 = 63
2.3 장치 경영 접근방식 = 67
2.3.1 격리형 입출력 방식과 메모리-사상형 입출력 = 67
2.3.2 폴링(pollng)과 인터럽트(interrupt) 입출력 = 68
2.3.3 직접 입출력과 DMA 입출력 = 70
2.4 Buffering과 Spooling = 72
2.4.1 버퍼링(Buffering) = 72
2.4.2 스풀링(Spooling) = 75
2.5 입출력 프로세스의 처리 = 77
2.6 하드웨어에 의한 보호 = 79
2.6.1 이중 모드 = 80
2.6.2 입출력 보호 = 82
2.6.3 메모리 보호 = 82
2.6.4 CPU 보호 = 83
2.7 기억장치 구조 = 84
2.7.1 메모리 = 86
2.7.2 자기 디스크 = 87
2.8 기억장치의 계층 = 90
2.8.1 캐시 = 91
Chapter 3. 운영 체제의 구조
3.1 개요 = 100
3.2 자원 경영 = 104
3.2.1 프로세스 경영 = 104
3.2.2 메모리 경영 = 105
3.2.3 보조 기억장치 경영 = 106
3.2.4 입출력 시스템 경영 = 105
3.2.5 파일 경영 = 107
3.2.6 보호 시스템 = 108
3.2.7 네트워크 경영 = 109
3.3 시스템 호출 = 110
3.3.1 시스템 호출의 종류 = 112
3.3.2 시스템 호출의 구현 = 112
3.4 인터럽트 처리 = 113
3.5 기타 기능 = 118
3.5.1 명령 번역기 = 118
3.5.2 부팅과 초기화 = 119
3.5.3 시스템 생성과 튜닝 = 122
3.6 서비스 = 123
3.7 커널의 구조 = 125
3.7.1 단순 구조 커널 = 125
3.7.2 계층 구조 = 127
3.7.3 운영 체제 커널구조의 또 다른 분류 = 132
Part 2. 프로세스 경영
Chapter 4. 프로세스
4.1 프로세스의 개념 = 139
4.1.1 프로세스 = 140
4.1.2 프로세스의 상태 = 144
4.1.3 프로세스 제어 블록(PCB) = 148
4.2 프로세스의 생성과 종료 = 149
4.2.1 프로세스의 생성 = 149
4.2.2 프로세스의 종료 = 153
4.3 시스템 호출, 문맥 교환 및 인터럽트 처리 = 154
4.4 협동 프로세스 = 161
4.5 스레드(Thread) = 165
4.5.1 스레드 구조 = 166
4.6 프로세스간의 통신(Inter-Process Communication) = 171
Chapter 5. 프로세스 스케줄링
5.1 개요 = 177
5.2 스케줄링 개념 = 178
5.2.1 스케줄링의 대상 = 179
5.2.2 스케줄링 큐 = 179
5.2.3 스케줄러의 구성 = 179
5.3 스케줄링 알고리즘 = 183
5.3.1 성능 평가의 기준 = 183
5.3.2 비선점 시스템의 스케줄링 = 184
5.3.3 시분할 시스템에서의 선점 스케줄링 = 189
5.4 다중처리기 스케줄링 = 202
Chapter 6. 병행 프로세스
6.1 결정성 = 210
6.1.1 선행 그래프와 결정성 = 210
6.1.2 병행 프로세스/스레드의 표현 = 213
6.2 상호배제와 동기화 = 216
6.2.1 임계 구역 문제와 상호베제의 정의 = 220
6.2.2 소프트웨어에 의한 상호배제 = 221
6.2.3 하드웨어적 해결법 = 226
6.3 세마포어 = 229
6.3.1 세마포어를 이용한 상호배제 = 229
6.3.2 세마포어를 이용한 동기화 = 232
6.3.3 세마포어를 이용한 생산자/소비자 문제의 구현 = 233
6.4 상용의 동기화 도구 = 234
6.4.1 병행 읽기/쓰기의 문제 = 235
6.4.2 기아(starvation) = 236
6.4.3 Pthread 라이브러리의 상호배제 및 동기화 도구 = 237
6.4.4 모니터 = 239
Chapter 7. 교착 상태
7.1 교착 상태 문제 = 251
7.1.1 시스템 모델 = 253
7.1.2 교착 상태의 정의 = 254
7.2 고착 상태의 특징 = 255
7.2.1 필요조건 = 255
7.2.2 자원 할당 그래프 = 256
7.2.3 교착 상태의 처리 방법 = 260
7.3 교착 상태 예방 = 260
7.3.1 상호배제 = 260
7.3.2 점유와 대기 = 261
7.3.3 비선점 = 262
7.3.4 환형 대기 = 262
7.4 교착 상태 회피 = 264
7.5 교착 상태 탐지 = 270
7.5.1 탐지 알고리즘의 사용 = 272
7.6 교착 상태로부터의 회복 = 273
7.6.1 프로세스 종료 = 273
7.6.2 자원 선점 = 274
7.7 교착 상태를 다루는 결합된 방법 = 276
7.8 사용자 병행 프로그램에서의 교착 상태 = 277
Part 3. 기억장치 경영
Chapter 8. 메모리 경영
8.1 개요 = 289
8.2 경영 기법의 분류 = 292
8.3 분할 방법 = 294
8.4 페이징 = 300
8.4.1 페이지 테이블 = 300
8.5 세그먼테이션 = 305
8.6 스래싱 = 307
Chapter 9. 가상 메모리
9.1 가상 메모리의 배경 = 317
9.2 요구 페이징 = 323
9.3 페이지 테이블 = 328
9.4 페이지 대치 알고리즘 = 331
9.4.1 최적 대치 알고리즘 = 332
9.4.2 비예견 알고리즘 = 333
9.4.3 사전 대치 = 342
9.5 할당 알고리즘 = 344
9.5.1 최소 프레임 수 = 345
9.5.2 할당 알고리즘 = 345
9.6 스래싱 = 347
9.6.1 국부(Locality) = 348
9.6.2 작업 세트 모델 = 349
9.6.3 페이지 오류율 = 351
9.7 결론 = 352
Chapter 10. 파일 시스템
10.1 파일의 개념 = 359
10.1.1 하위 파일(기본) = 362
10.1.2 파일의 조작 = 364
10.1.3 상위 파일(구조를 가진 파일) = 367
10.2 디렉토리 시스템 = 368
10.2.1 디렉토리의 구조 = 369
10.2.2 디렉토리의 구현 = 373
10.3 파일의 검색 = 375
10.3.1 해시표 = 376
10.4 파일의 보호 = 378
10.4.1 파일의 명명 = 380
10.4.2 암호 = 380
10.4.3 접근 제어 = 380
10.5 구현 상의 문제점 = 381
Chapter 11. 보조 기억장치 경영
11.1 블록 할당 = 388
11.1.1 빈 공간 관리 = 388
11.1.2 연속 할당 = 390
11.1.3 연결 할당 = 393
11.1.4 색인 할당 = 394
11.2 디스크 관리 = 397
11.2.1 포매팅 = 397
11.2.2 부트 적재기 = 398
11.2.3 불량 블록 = 399
11.3 교체 공간 = 400
11.3.1 교체 공간의 용도 = 400
11.3.2 교체 공간의 위치 = 401
11.3.3 교체 공간 경영 = 402
11.4 디스크 스케줄링 = 404
11.4.1 FCFS 스케줄링 = 405
11.4.2 SSTF 스케줄링 = 406
11.4.3 SCAN 및 LOOK 스케줄링 = 407
Part 4. 분산 시스템
Chapter 12. 컴퓨터 네트워크
12.1 동기 = 417
12.2 컴퓨터 네트워크 = 420
12.2.1 위상 = 420
12.2.2 통신 정책 = 424
12.2.3 네트워크의 형태 = 424
12.3 ISO OSI 네트워크 구조 모델 = 428
12.3.1 네트워크 프로토콜의 변천 = 428
12.3.2 ISO OSI 모델 = 429
12.4 저수준 프로토콜 = 431
12.5 네트워크 계층 = 432
12.6 트랜스포트 계층 = 434
Chapter 13. 원격 파일
13.1 네트워크 상의 정보 공유 = 441
13.1.1 파일 복사 시스템 = 443
13.1.2 묵시적인 파일의 공유 = 444
13.1.3 원격 장치 인터페이스 = 445
13.1.4 작업의 배분 = 447
13.2 원격 디스크 시스템 = 449
13.2.1 원격 디스크 조작 = 451
13.2.2 신뢰성 = 452
13.2.3 원격 디스크의 전망 = 455
13.3 원격 파일 시스템 = 456
13.3.1 일반적인 구조 = 456
13.3.2 블록 캐싱 = 458
13.3.3 장애 복구 = 459
13.4 파일 캐싱 = 462
13.5 디렉토리 시스템의 구현 = 463
13.5.1 파일 이름 = 463
13.5.2 파일의 Open = 465
Chapter 14. 분산 컴퓨팅
14.1 프로세스 경영의 분산 = 472
14.1.1 작업의 분할 = 472
14.1.2 계산 분할에 대한 지원 = 474
14.2 메시지 전달 = 479
14.2.1 메시지 전달 인터페이스 = 480
14.2.2 계산 형태 = 481
14.3 원격 프로시저 호출(RPC) = 482
14.3.1 RPC의 동작 = 483
14.3.2 RPC의 구현 = 484
찾아보기 = 495