목차
제1장 소개
1.1 개요 = 16
1.2 운영체제의 유형 = 17
1.2.1 일괄처리 시스템(batch processing system) = 18
1.2.2 다중 프로그래밍 시스템(multiprogramming system) = 20
1.2.3 시분할 시스템(time-sharing system) = 21
1.2.4 실시간 시스템(real-time system) = 23
1.2.5 다중처리 시스템(multiprocessing system) = 23
1.2.6 개인용 컴퓨터 시스템 = 24
1.2.7 분산 처리 시스템(distributed processing system) = 25
1.2.8 멀티미디어 시스템 = 26
1.3 운영체제에 대한 관점 = 28
1.3.1 자원관리와 관점 = 28
1.3.2 프로세스 관점 = 30
1.3.3 계층 구조 관점 = 34
1.4 입출력 프로그래밍 = 37
1.4.1 버퍼링(buffering) = 37
1.4.2 스풀링(SPOOLing) = 40
1.4.3 채널(channel) = 41
1.4.4 인터럽트(interrupt) = 43
요약 = 47
연습문제 = 49
제2장 프로세스 관리
2.1 개요 = 52
2.2 프로세스의 상태 = 52
2.3 프로세스 제어 블럭(PCB) = 55
2.4 프로세스 스케줄링 = 57
2.4.1 스케줄링의 목적 및 기준 = 57
2.4.2 단계별 분류 = 60
2.4.3 방법·환경별 분류 = 62
2.5 프로세스 스케줄링 알고리즘 = 66
2.5.1 FCFS(First-Come-First-Served) 스케줄링 = 66
2.5.2 SJF(Shortest Job First) 스케줄링 = 68
2.5.3 우선순위(Priority) 스케줄링 = 69
2.5.4 라운드 로빈(Round-Robin) 스케줄링 = 71
2.5.5 SRT(Shortest Remaining Time) 스케줄링 = 73
2.5.6 다단계 큐(Multilevel Queue) 스케줄링 = 74
2.5.7 다단계 피드백 큐(Multilevel Feedback Queue) 스케줄링 = 76
2.5.8 HRN(High Response rario Next) 스케줄링 = 79
2.6 쓰레드(Thread) = 80
요약 = 83
연습문제 = 88
제3장 기억장치 관리
3.1 개요 = 94
3.2 기억장치의 계층구조 및 관리기법 = 95
3.3 단일 사용자 연속 기억장치 할당 = 97
3.3.1 단일 사용자 연속 기억장치 할당 = 97
3.3.2 시스템 보호 = 99
3.4 고정분할 기억장치 할당 = 101
3.4.1 절대 번역 및 로딩 = 103
3.4.2 상대 번역 및 로딩 = 104
3.4.3 시스템 보호 = 105
3.4.4 분할 공간의 크기와 단편화 = 106
3.5 가변분할 기억장치 할당 = 107
3.5.1 기억 공간의 효율화 = 108
3.5.2 기억장치 배치기법 = 112
3.6 기억장치 교체(swapping) = 114
요약 = 115
연습문제 = 119
제4장 가상기억장치 관리
4.1 개요 = 122
4.1.1 동적 주소 변환(dynamic address translation) = 123
4.1.2 블럭 사상(block mapping) = 125
4.2 페이징(paging) = 127
4.2.1 직접 사상(direct mapping) = 129
4.2.2 연관 사상(associative mapping) = 131
4.2.3 연관/직접 사상 = 132
4.2.4 페이징 시스템의 공유 = 133
4.2.5 페이지 크기 = 135
4.2.6 페이지 호출기법 = 136
4.2.7 페이지 양도(page release) = 138
4.2.8 프로그램 구조 = 138
4.3 세그먼테이션(segmentation) = 139
4.3.1 직접 사상 = 140
4.3.2 공유 및 보호 = 143
4.4 페이징/세그먼테이션 혼용기법 = 146
4.4.1 동적 주소 변환 = 147
4.4.2 시스템의 공유 = 152
4.5 페이지 교체 알고리즘 = 152
4.5.1 FIFO(First-In First-Out) 알고리즘 = 153
4.5.2 최적 교체(Optimal Replacement) 알고리즘 = 154
4.5.3 LRU(Least Recently Used) 알고리즘 = 155
4.5.4 2차 기회(second chance) 알고리즘 = 156
4.5.5 LFU(Least Frequently Used) 알고리즘 = 158
4.5.6 NUR(Not Used Recently) 알고리즘 = 158
4.6 스래싱(thrashing) = 159
4.6.1 구역성(locality) = 160
4.6.2 작업세트(workingset) = 161
4.6.3 페이지 부재 = 162
요약 = 163
연습문제 = 166
제5장 파일 시스템
5.1 개요 = 170
5.2 디스크 구조 = 170
5.3 CD-ROM = 172
5.4 디스크 스케줄링 = 174
5.4.1 FCFS(First Come First Served) 스케줄링 = 174
5.4.2 SSTF(Shortest Seek Time First) 스케줄링 = 175
5.4.3 SCAN 스케줄링 = 177
5.4.4 C-SCAN 및 C-LOOK 스케줄링 = 178
5.4.5 에션바흐 기법 = 178
5.4.6 SLTF 스케줄링 = 179
5.4.7 알고리즘 선택 = 180
5.5 파일 시스템 = 181
5.5.1 데이터의 계층 구조 = 181
5.5.2 블럭킹과 버퍼링 = 182
5.5.3 파일 시스템의 기능 = 183
5.5.4 파일의 구조 = 184
5.5.5 파일 공간의 할당과 회수 = 185
5.5.6 파일의 보호(protection) = 189
5.6 디렉토리 구조 = 191
5.6.1 일단계 구조 디렉토리 = 192
5.6.2 이단계 구조 디렉토리 = 193
5.6.3 트리 구조 디렉토리 = 194
5.6.4 비주기 구조 디렉토리 = 196
5.6.5 일반적 그래프 디렉토리 = 198
요약 = 199
연습문제 = 202
제6장 프로세스 간 공기화 및 통신
6.1 개요 = 206
6.2 병행처리의 문제점 = 206
6.2.1 임계구역 = 207
6.2.2 상호 배제 = 207
6.3 상호배제 프리미티브 = 210
6.3.1 1단계 프리미티브 = 211
6.3.2 2단계 프리미티브 = 213
6.3.3 3단계 프리미티브 = 214
6.3.4 4단계 프리미티브 = 216
6.3.5 Dekker's 알고리즘 = 218
6.4 하드웨어에 의한 동기화 = 221
6.5 세마포어 = 224
6.5.1 정의 = 224
6.5.2 프로세스간 동기화 = 225
6.5.3 프로세스간 통신 = 226
6.6 모니터 = 228
6.6.1 개요 = 228
6.6.2 사용 예 = 230
6.7 메시지 = 236
6.7.1 메시지 실행시 고려사항 = 237
6.7.2 IPC 및 동기화 = 240
요약 = 242
연습문제 = 245
제7장 교착 상태
7.1 개요 = 248
7.1.1 정의 = 248
7.1.2 교착 상태의 예 = 248
7.1.3 특성 = 251
7.2 자원 할당 그래프 = 252
7.3 교착 상태 예방 = 254
7.3.1 점유와 대기 조건 방지 = 254
7.3.2 비선점 조건 방지 = 255
7.3.3 환형 대기 조건 방지 = 256
7.4 교착 상태 회피 = 256
7.4.1 은행가 알고리즘 = 257
7.4.2 은행가 알고리즘의 단점 = 258
7.5 교착 상태 탐지 = 259
7.5.1 자원 할당 그래프 소거 = 259
7.5.2 탐지 알고리즘 = 261
7.6 교착 상태 회복 = 261
7.6.1 문제점 = 262
7.6.2 회복 방법 = 263
요약 = 264
연습문제 = 266
제8장 정보 보호 및 보안
8.1 개요 = 270
8.2 보호의 기법과 정책 = 270
8.2.1 접근 행렬(Access Matrix) = 271
8.2.2 접근 행렬의 구현 = 272
8.3 보호의 영역 = 276
8.4 보안의 개요 = 277
8.5 보안의 요구조건 = 278
8.5.1 비밀성(Secrecy) = 278
8.5.2 무결성(Integrity) = 278
8.5.3 가용성(Availability) = 278
8.6 보안 위협 = 279
8.6.1 흐름 차단(Interruption) = 280
8.6.2 가로채기(Interception) = 281
8.6.3 변조(Modification) = 281
8.6.4 위조(Fabrication) = 281
8.7 보안 공격 형태 = 282
8.7.1 트로이 목마(Trojan horse) = 282
8.7.2 트랩문(Trap door) = 283
8.8 인증(Authentication) = 283
8.8.1 인증의 기본 개념 = 283
8.8.2 패스워드(password) = 284
8.9 보안 정책 = 284
8.10 보안 기법 = 285
8.10.1 암호화와 암호 해독 = 286
8.10.2 키 관리 = 287
8.10.3 여분정보 삽입기법 = 287
8.10.4 인증 교환(Authentication exchange) = 288
8.10.5 디지털 서명 기법 = 289
요약 = 290
연습문제 = 292
제9장 다중 처리 시스템
9.1 개요 = 294
9.2 Flynn의 분류 = 295
9.2.1 SISD(Single Instruction stream Single Data stream) = 295
9.2.2 SIMD(Single Instruction stream Multiple Data stream) = 296
9.2.3 MISD(Multiple Instruction stream Single Data stream) = 296
9.2.4 MIMD(Multiple Instruction stream Multiple Data stream) = 297
9.3 병렬 처리 = 298
9.3.1 병렬성(parallelism) = 298
9.3.2 병렬성의 단계 = 299
9.3.3 병렬성의 자동 검출 = 301
9.3.4 병렬 처리 시스템 = 306
9.4 하드웨어 구성 = 311
9.4.1 시분할 또는 공유 버스 = 312
9.4.2 크로스바 교환 행렬 = 313
9.4.3 다중 포트 기억장치 = 314
9.4.4 하이퍼큐브(Hypercube) = 316
9.5 운영체제 구성 = 316
9.5.1 주/종 관계 = 317
9.5.2 분리 수행 = 318
9.5.3 대칭적 처리 = 319
9.6 시스템 성능 및 효과 = 320
9.6.1 시스템의 성능 = 320
9.6.2 비용효과 = 320
9.6.3 향후 시스템 = 321
요약 = 322
연습문제 = 325
제10장 분산 처리 시스템
10.1 개요 = 328
10.1.1 분산 처리 시스템 개발 동기 = 329
10.1.2 분산 처리 시스템의 범위 = 331
10.2 분산 처리 시스템 형태 = 334
10.2.1 프로세서 모델에 따른 구분 = 334
10.2.2 위상에 따른 구분 = 337
10.2.3 분산 범위에 따른 구분 = 342
10.3 네트워크 설계 = 347
10.3.1 통신(communication) = 347
10.3.2 설계전략 = 354
10.4 분산 시스템 구조 = 357
10.4.1 네트워크 운영체제 = 358
10.4.2 분산 운영체제 = 360
요약 = 363
연습문제 = 365
제11장 UNIX 운영체제
11.1 개요 = 368
11.2 시스템 구조 및 커널 = 370
11.2.1 시스템 구조 = 370
11.2.2 커널 = 371
11.3 프로그래머 인터페이스 = 374
11.3.1 파일 조작 = 375
11.3.2 프로세스 제어 = 377
11.3.3 신호(signals) = 378
11.3.4 프로세스 그룹 = 379
11.3.5 라이브러리 루틴 = 380
11.4 사용자 인터페이스 = 380
11.4.1 쉘과 명령어 = 381
11.4.2 표준 입출력 = 382
11.4.3 파이프라인, 필터, 쉘 스크립트 = 383
11.5 파일 시스템 = 384
11.5.1 아이노드(inode) = 384
11.5.2 파일 구조 및 단편화 = 387
11.5.3 디렉토리 = 389
11.5.4 경로 변환 = 390
11.5.5 디스크 구조 = 391
11.5.6 디스크 블럭 할당 = 392
11.6 프로세스 관리 = 394
11.6.1 프로세스 제어 블럭 = 394
11.6.2 CPU 스케줄링 = 396
11.7 기억장치 관리 = 398
11.7.1 교체(swapping) = 398
11.7.2 페이징(paging) = 399
11.8 입출력 시스템 = 400
11.8.1 블럭 버퍼 캐시 = 402
11.8.2 장치 인터페이스 = 403
11.9 프로세스 간 통신 = 405
11.9.1 통신 메커니즘 = 405
11.9.2 소켓(sockets) = 406
11.10 보안 = 407
요약 = 409
연습문제 = 411
참고문헌 = 413
찾아보기 = 421