목차
1장 운영 체제의 개념
1.1 운영 체제의 개요 = 16
1.1.1 운영 체제의 목적 = 16
1.1.2 운영 체제의 두 가지 관점 = 19
1.2 운영 체제의 발달 = 25
1.2.1 운영 체제가 없었던 초기의 시스템 = 25
1.2.2 상주 모니터 개념의 출현 = 26
1.2.3 버퍼링과 스풀링 개념의 도입 = 29
1.2.4 다중 프로그래밍 개념의 도입 = 32
1.2.5 시분할 시스템과 실시간 처리 시스템 = 48
1.2.6 다중 CPU를 가진 시스템 = 50
1.3 대표적인 운영 체제의 종류 = 52
1.3.1 MVS = 52
1.3.2 VM = 53
1.3.3 UNIX = 55
1.3.4 MS-DOS와 OS/2 = 58
1.3.5 WINDOWS NT = 59
1.3.6 Linux = 61
연습 문제 = 62
2장 운영 체제 학습을 위한 고려 사항
2.1 운영 체제 이해를 위한 하드웨어 요소 = 64
2.1.1 컴퓨터의 기본 요소 = 64
2.1.2 컴퓨터 요소의 상호 연결 구조 = 68
2.1.3 입출력 통신 방식 = 70
2.2 컴퓨터 시스템 구성의 이해 = 74
2.2.1 심플렉스 시스템 = 74
2.2.2 듀얼 시스템과 듀플렉스 시스템 = 76
2.2.3 병렬 처리 시스템-파이프라인, 어레이- = 76
2.2.4 다중 처리기 시스템 = 84
2.2.5 분산 처리 시스템 = 89
2.3 시스템의 신뢰성과 성능 평가 요소 = 97
2.3.1 신뢰성 평가 요소 = 97
2.3.2 시스템의 성능 평가 요소 = 100
연습 문제 = 105
3장 프로세스 관리와 CPU 스케줄링
3.1 프로세스의 개념 = 108
3.1.1 프로세스의 정의와 상태 = 108
3.1.2 프로세스의 표현과 제어 = 115
3.1.3 연기/재동작이 있는 프로세스의 상태 전이 = 119
3.1.4 경량 프로세스인 스레드(Thread)의 개념 = 123
3.2 CPU 스케줄링의 목적과 유형 = 124
3.2.1 스케줄링의 목적 = 124
3.2.2 CPU 스케줄링의 3가지 유형 = 126
3.3 비선점 스케줄링 알고리즘 = 130
3.3.1 선점과 비선점의 개념 = 130
3.3.2 FCFS 알고리즘 = 130
3.3.3 SJF 알고리즘 = 134
3.3.4 HRRN 알고리즘 = 138
3.3.5 우선 순위 알고리즘 = 139
3.4 선점 스케줄링 알고리즘 = 140
3.4.1 SRT 알고리즘 = 140
3.4.2 라운드 로빈(RR) 알고리즘 = 142
3.5 응용 알고리즘 = 146
3.5.1 MLQ 스케줄링 알고리즘 = 146
3.5.2 MFQ 스케줄링 알고리즘 = 148
3.6 스케줄링의 기법의 비교 = 151
연습 문제 = 155
4장 병행 프로세스와 교착 상태
4.1 병행성의 개념 = 160
4.1.1 프로세스의 상호 관계 = 161
4.1.2 선행 그래프와 병행 조건 = 165
4.1.3 선행 관계(병행성)의 표현 = 171
4.2 상호 배제의 문제 = 177
4.2.1 상호 배제와 임계 구역 = 177
4.2.2 2개 프로세스를 위한 상호 배제 구현 = 181
4.2.3 N개 프로세스를 위한 상호 배제 구현 = 189
4.2.4 Lamport의 제과점 알고리즘 = 191
4.2.5 하드웨어 명령어를 이용한 상호 배제 = 195
4.2.6 세마포어를 이용한 상호 배제 = 201
4.3 프로세스 간의 메시지 전달 = 206
4.3.1 동기화의 고려 사항 = 207
4.3.2 주소화의 고려 사항 = 208
4.3.3 기타 고려 사항 : 메시지 유형, 큐잉 정책, 고장 = 213
4.4 교착 상태의 개념과 발생 조건 = 215
4.4.1 교착 상태의 개념 = 215
4.4.2 교착 상태의 발생 조건 = 218
4.5 교착 상태의 예방 = 219
4.6 교착 상태의 회피 = 222
4.7 교착 상태의 탐지(발견) = 233
4.8 교착 상태의 회복 = 239
연습 문제 = 242
5장 주기억 장치 관리와 프로그램의 연속 적재
5.1 기억 장치의 계층과 주기억 장치의 역할 = 246
5.1.1 기억 장치의 계층 = 246
5.1.2 주기억 장치의 역할 = 247
5.2 주기억 장치의 관리 기법 개요 = 249
5.3 단일 사용자를 위한 주기억 장치 관리 = 251
5.3.1 운영 체제가 없는 상태 = 251
5.3.2 상주 모니터 개념 = 251
5.3.3 오버레이와 교체 기법 = 255
5.4 주기억 장치의 다중 분할 관리 기법 개념 = 260
5.5 주기억 장치의 정적 분할 기법(MFT) = 265
5.5.1 주기억 장치 보호의 또 다른 문제 = 265
5.5.2 주기억 공간의 단편화(fragmentation) 문제 = 267
5.5.3 작업 할당을 위한 큐(queue)의 운영 방법 = 269
5.5.4 MFT를 위한 주기억 장치 스케줄링의 예 = 271
5.6 주기억 장치의 동적 분할 기법(MVT) = 274
5.6.1 MVT에 의한 주기억 장치 스케줄링의 예 = 275
5.6.2 MVT에서의 주기억 장치 보호 = 278
5.6.3 작업 할당을 위한 큐 운영과 기억 장치 할당 방법 = 278
5.6.4 기억 장치 할당 및 회수 알고리즘 = 282
5.6.5 MVT에서의 외부 단편화와 해결 방안 = 285
5.6.6 MVT의 장점과 단점 = 291
연습 문제 = 293
6장 프로그램의 분산 적재와 가상 기억 장치
6.1 페이징 = 296
6.1.1 페이징 기법의 개요 = 296
6.1.2 페이징을 위한 페이지 테이블 모형 = 300
6.1.3 페이징을 위한 하드웨어 = 301
6.1.4 페이징을 위한 작업 스케줄링 = 304
6.1.5 페이지 테이블(PMT)의 구현 = 305
6.1.6 페이지의 공유와 보호 개념 = 309
6.2 세그먼테이션 기법 = 312
6.2.1 세그먼테이션의 개념 = 312
6.2.2 세그먼트 테이블(SMT) = 314
6.2.3 세그먼테이션 기법에서의 주소 변환 = 315
6.2.4 세그먼트 테이블의 구현 = 317
6.2.5 세그먼트 테이블의 공유 및 보호 개념 = 319
6.3 페이징/세그먼테이션의 혼합 기법 = 321
6.4 가상 기억 장치 = 325
6.4.1 가상 기억 장치의 도입 = 326
6.4.2 가상 기억 장치를 위한 운영 체제의 정책 = 329
6.5 페이지 대치 알고리즘 = 332
6.5.1 요구 페이징의 성능과 페이지 대치의 개념 = 332
6.5.2 페이지 대치 알고리즘의 평가 요소 = 337
6.5.3 FIFO 알고리즘 = 341
6.5.4 RU 알고리즘 = 343
6.5.5 OPT 알고리즘 = 347
6.5.6 기타의 페이지 대치 알고리즘 = 349
6.6 페이지 프레임의 할당 방법 = 355
6.6.1 하나의 프로세스가 갖는 최소 프레임의 수 = 356
6.6.2 페이지 프레임의 고정 할당과 가변 할당 = 357
6.6.3 페이지 프레임의 전역 교환과 지역 교환 = 360
6.7 빈번한 페이지 대치의 문제 = 361
6.7.1 스래싱의 개념 = 361
6.7.2 지역성의 개념 = 364
6.7.3 작업 세트 이론 = 365
6.7.4 페이지 부재 빈도(PFF)에 의한 스래싱 조절 = 369
6.7.5 가변적 채취 간격을 갖는 작업 세트(VSWS) = 371
6.8 요구 페이징의 기타 고려 사항 = 373
6.8.1 페이지 크기에 대한 고려 = 373
6.8.2 프로그램 구조에 대한 고려 = 376
6.8.3 기타의 고려 사항 = 378
연습 문제 = 380
7장 디스크 장치의 관리와 파일 관리
7.1 디스크와 광기억 장치의 특성 = 386
7.1.1 자기 디스크 = 386
7.1.2 광기억 장치 = 391
7.2 자기 디스크 관리 = 394
7.2.1 자유 공간 관리 = 395
7.2.2 공간 할당 기법 = 397
7.2.3 불량 블록의 관리 = 402
7.3 디스크 스케줄링 = 403
7.3.1 FIFO 스케줄링 = 406
7.3.2 SSTF 스케줄링 = 407
7.3.3 SCAN과 LOOK 스케줄링 = 409
7.3.4 C-SCAN과 C-LOOK 스케줄링 = 411
7.3.5 N-단계 SCAN 스케줄링 = 413
7.3.6 고정 헤드 디스크의 스케줄링 = 414
7.4 화일의 개념과 화일 관리의 개념 = 415
7.4.1 화일의 개념 = 416
7.4.2 화일 관리 시스템의 개념 = 420
7.5 화일의 구조 = 424
7.5.1 화일 화일 = 428
7.5.2 순차 화일 = 430
7.5.3 색인 순차 화일 = 431
7.5.4 색인 화일 = 436
7.5.5 직접 화일 = 437
7.6 화일 디렉토리 = 442
7.6.1 1단계 디렉토리 = 444
7.6.2 2단계 화일 디렉토리 = 445
7.6.3 트리 구조를 갖는 디렉토리 = 447
7.6.4 비순환 및 순환 그래프 디렉토리 = 450
연습 문제 = 453
색인 = 456