목차
Chapter 1 운영체제의 소개 = 17
1.1 운영체제의 개요 및 목적 = 19
1.1.1 개요 = 19
1.1.2 운영체제의 목적 = 21
1.2 운영체제의 역할 = 23
1.3 운영체제 프로그램의 구성 = 24
1.3.1 제어 프로그램(control program) = 25
1.3.2 서비스 프로그램(service program) = 27
1.4 운영체제의 발전 유형 = 28
1.4.1 동시 사용자 수에 의한 분류 = 29
1.4.2 작업처리 방법에 의한 분류 = 30
1.4.3 사용환경에 의한 분류 = 30
1.5 운영체제의 기능 = 40
1.5.1 프로세스 관리 = 40
1.5.2 주기억장치 관리 = 42
1.5.3 보조기억장치 관리 = 43
1.5.4 파일 관리 = 45
1.5.5 입출력 관리 = 45
1.6 최근 운영체제 특징 = 46
1.7 운영체제 예 = 47
1.7.1 UNIX = 48
1.7.2 OS/2 = 48
1.7.3 MVS = 48
1.7.4 Linux = 49
1.7.5 DOS = 49
1.7.6 Windows 98/ME/XP = 49
1.7.7 Windows NT/2000 = 50
1.7.8 MAC(매킨토시) OS = 50
용어설명 = 51
연습문제 = 54
Chapter 2 프로세스 관리 = 61
2.1 프로세스 개요 = 63
2.2 프로세스 상태와 전이 = 64
2.2.1 프로세스 상태 = 65
2.2.2 프로세스 전이 = 67
2.3 프로세스 제어 블록(PCB) = 68
2.4 스레드(Thread) = 70
2.5 프로세스 스케줄링 = 72
2.5.1 스케줄링의 목적 = 72
2.5.2 스케줄링의 기준 = 74
2.5.3 단계별 프로세스 스케줄링 = 76
2.5.4 스케줄링 기법 = 78
2.5.5 프로세스 스케줄링 알고리즘 = 81
용어설명 = 88
연습문제 = 90
Chapter 3 병행 프로세스 = 99
3.1 병행 프로세스의 개요 = 101
3.2 병행 처리기 구성 = 102
3.2.1 Master/Slave 구조 = 102
3.2.2 약한 결합(Loosely Coupled) 구조 = 103
3.2.3 대칭(Symmetric) 구조 = 105
3.3 병행 프로세스의 처리 = 106
3.3.1 상호 배제(Mutual Exclusion) = 106
3.3.2 동기화(Synchronization) = 107
3.3.3 병행성을 위한 제어문 = 108
3.4 프로세스 간 통신 = 110
3.4.1 통신기법 = 111
3.4.2 구현 방법 = 111
연습문제 = 115
Chapter 4 교착상태 = 121
4.1 교착상태 개요 = 123
4.2 교착상태의 특성 = 125
4.3 교착상태의 해결 방안 = 126
4.3.1 교착상태 예방 = 127
4.3.2 교착상태 회피 = 129
4.3.3 교착상태 탐지 = 132
4.3.4 교착상태 복구 = 134
용어설명 = 138
연습문제 = 139
Chapter 5 주기억장치 관리 = 147
5.1 기억장치 계층 구조 = 149
5.2 주기억장치 관리 기법 = 150
5.2.1 반입기법(fetch strategy) = 151
5.2.2 배치기법(placement strategy) = 153
5.2.3 교체기법(replacement strategy) = 155
5.3 주기억장치 할당 방식 = 156
5.3.1 단일 프로그래밍 시스템 = 156
5.3.2 고정 분할 다중 프로그래밍 시스템 = 158
5.3.3 가변 분할 다중 프로그래밍 시스템 = 161
5.3.4 주기억장치 관리상의 문제점과 해결책 = 162
용어설명 = 166
연습문제 = 168
Chapter 6 가상기억장치 관리 = 175
6.1 가상기억장치의 개요 = 177
6.2 주소사상기법 = 177
6.3 블록사상(block mapping) = 179
6.4 페이징 시스템 = 182
6.4.1 직접사상(direct mapping)주소 변환 = 182
6.4.2 연관사상(associative mapping)주소 변환 = 184
6.4.3 혼합사상주소 변환 = 185
6.5 세그먼테이션(segmentation) 시스템 = 186
6.6 페이지 교체 알고리즘 = 187
6.6.1 FIFO 교체 알고리즘 = 187
6.6.2 LRU 교체 알고리즘 = 189
6.6.3 최적 교체 알고리즘 = 190
6.6.4 LFU(Least Frequently Used) 교체 알고리즘 = 190
6.6.5 2차 기회 알고리즘 = 191
6.7 기타 고려 사항 = 192
6.7.1 페이지 크기 = 192
6.7.2 스래싱(thrashing) = 193
6.7.3 구역성(locality) = 194
6.7.4 작업 세트(working set) = 195
용어설명 = 197
연습문제 = 199
Chapter 7 입출력 관리 = 207
7.1 입출력장치의 개요 및 고려 사항 = 209
7.1.1 개요 = 209
7.1.2 고려 사항 = 209
7.2 입출력장치의 기능 = 210
7.2.1 정보 전달의 기능 = 210
7.2.2 자원의 공유 기능 = 211
7.2.3 오류 처리 기능 = 212
7.3 입출력 방법 = 212
7.3.1 직접 입출력 방법 = 212
7.3.2 입출력 채널 방법 = 213
7.3.3 입출력 버퍼링(Buffering) = 215
7.3.4 스풀링(Spooling) = 217
7.4 인터럽트 = 218
7.4.1 인터럽트의 종류 = 219
7.4.2 인터럽트 처리 과정 = 219
7.4.3 프로그램 상태 워드 = 221
용어설명 = 222
연습문제 = 224
Chapter 8 디스크 관리 = 231
8.1 디스크의 구조 = 233
8.1.1 디스크의 물리적 구조 = 235
8.1.2 디스크의 접근시간 = 235
8.1.3 디스크 가용 공간 관리기법 = 236
8.2 디스크 스케줄링 기법 = 238
8.2.1 FCFS(First Come First Served) 스케줄링 = 239
8.2.2 SSTF(Shortest Seek Time First) 스케줄링 = 240
8.2.3 SCAN 스케줄링 = 241
8.2.4 C-SCAN 스케줄링 = 242
8.2.5 C-LOOK 스케줄링 = 243
8.3 디스크 공간 할당기법 = 244
8.3.1 연속 할당(contiguous allocation) = 244
8.3.2 연결 리스트(linked list) = 246
8.3.3 색인 블록(indexed block) = 247
용어설명 = 249
연습문제 = 250
Chapter 9 파일 관리 = 257
9.1 파일 시스템 개요 = 259
9.1.1 파일의 기능 = 259
9.1.2 파일의 속성 = 260
9.1.3 파일 조작 = 260
9.1.4 데이터의 계층 구조 = 261
9.2 파일의 분류 = 263
9.2.1 데이터 파일(date file) = 263
9.2.2 작업 파일(work file) = 265
9.2.3 프로그램 파일(program file) = 265
9.2.4 보고서 파일(report file) = 265
9.3 파일의 접근 방식 = 266
9.3.1 순차 파일(sequential file) = 266
9.3.2 색인 순차 파일(indexed sequential file) = 267
9.3.3 랜덤 파일(random file) = 269
9.3.4 인덱스 파일(indexed file) = 270
9.3.5 직접 파일(direct file) = 270
9.4 파일 디렉터리 구조 = 271
9.4.1 단일 디렉터리 구조 = 271
9.4.2 2단계 디렉터리 구조 = 272
9.4.3 트리 디렉터리 구조 = 272
9.4.4 비주기 구조 디렉터리 구조 = 274
9.4.5 일반적 그래프 디렉터리 = 275
9.5 파일 보호 = 276
9.5.1 파일 보호 방법 = 277
9.5.2 파일 보호 기법 = 278
연습문제 = 281
Chapter 10 보안 관리 = 287
10.1 보안 위협과 목적 = 289
10.1.1 보안상의 주요 위협 = 289
10.1.2 보안의 목적 = 291
10.2 일반적인 보안 유지 방식 = 293
10.3 보안기법 = 294
10.3.1 보안 설계의 원칙 = 294
10.3.2 보안 기술 = 295
10.4 컴퓨터 바이러스 = 298
10.4.1 컴퓨터 바이러스 유형 = 299
10.4.2 컴퓨터 바이러스 종류 = 300
10.4.3 컴퓨터 바이러스 피해 = 301
10.4.4 컴퓨터 바이러스 예방 = 303
10.5 해킹(Hacking) = 304
10.5.1 해킹의 개요 = 304
10.5.2 해킹의 종류 = 305
용어설명 = 307
연습문제 = 308
Chapter 11 분산처리 시스템 = 315
11.1 분산처리 시스템의 개요 = 317
11.1.1 배경 = 318
11.1.2 분산의 대상과 조건 = 319
11.1.3 분산 시스템의 장단점 = 321
11.2 분산 시스템의 형태 = 321
11.2.1 강 결합(tightly coupled) = 322
11.2.2 약 결합(loosely coupled) = 322
11.3 분산처리 모델 = 323
11.4 분산 파일 시스템 = 325
11.4.1 분산 파일 시스템의 구성 = 325
11.4.2 분산 파일 시스템의 필요조건 = 326
11.4.3 분산 파일 시스템의 예 = 328
11.5 컴퓨터 통신망 = 329
11.5.1 통신망의 형태 = 329
11.5.2 통신망의 구조 = 334
연습문제 = 339
Chapter 12 주요 운영체제 살펴보기 = 345
12.1 UNIX(유닉스) = 347
12.1.1 유닉스의 역사 = 347
12.1.2 유닉스의 특징 및 장점 = 348
12.1.3 유닉스의 구성과 내부 구조 = 352
12.2 Linux(리눅스) = 353
12.2.1 리눅스의 역사 = 354
12.2.2 리눅스의 특징 = 355
12.2.3 리눅스의 단점 = 360
12.2.4 타 운영체제와의 비교 = 361
12.2.5 리눅스 배포판들 = 364
12.2.6 리눅스 구하기 = 369
12.2.7 하드웨어 준비 = 370
12.3 DOS(도스) = 373
12.3.1 DOS의 역사 = 373
12.3.2 DOS의 특징 = 374
12.4 Windows 98/XP = 375
12.4.1 Windows 역사 = 375
12.4.2 Windows 98 = 376
12.4.3 Windows XP = 379
12.5 Windows NT/2000 = 384
12.5.1 Windows NT/2000의 역사 = 385
12.5.2 Windows NT/2000의 특징 = 385
12.5.3 Windows 2000의 종류 = 386
12.6 MAC(매킨토시) = 387
연습문제 = 389
찾아보기 = 393