목차
1장 OS의 개요 = 13
1. OS의 개요 = 15
1.1 컴퓨터 시스템의 구조 = 15
1.2 OS의 개념 = 16
1.3 OS의 발전 과정 = 16
1.4 OS의 특징과 변천과정 = 18
2. OS의 분류 = 19
2.1 제어 프로그램(Control program) = 20
2.2 처리 프로그램(Processing Program) = 21
3. OS의 기능 = 21
3.1 개요 = 21
3.2 OS의 일차적인 기능 = 22
3.3 OS와 다른 프로그램들 간의 관계 = 22
3.4 OS가 수행하는 기능 = 22
3.5 OS가 관리하는 컴퓨터 자원(resource) = 23
3.6 OS의 자원 관리자 관점 = 23
3.7 OS의 요소와 상호 작용 = 24
4. OS의 필요성 = 27
5. OS의 목적 = 28
6. OS의 구성 = 28
7. 시스템의 구조 = 30
7.1 단일 구조(Monolithic structure) = 30
7.2 계층구조(Layered structure) = 32
7.3 계층 구조의 관점 = 36
7.4 시스템의 계층화 = 37
7.5 5가지 계층에 대한 각각의 기능(OS의 계층화) = 38
7.6 계층화의 예 = 39
8. 시스템 설계 및 구현 = 41
8.1 설계 목표 = 41
8.2 기법과 정책 = 41
8.3 구현 = 42
9. 초기 OS 형태와 관련 기법 = 43
9.1 초기 OS 시스템 = 43
9.2 단순 모니터(상주 모니터) = 44
9.3 중첩(오버레이 : overlay) = 46
9.4 교체(스와핑 : swapping) = 46
10. 시스템 생성(System Generation) = 47
11. OS의 종류 = 48
11.1 일괄 처리 시스템(Batch processing system) = 48
11.2 다중 프로그래밍 시스템(Multiprogramming system) = 49
11.3 시분할 시스템(Time sharing system) = 51
11.4 다중 처리 시스템(Multiprocessing System) = 52
11.5 실시간 시스템(Real time system) = 53
11.6 분산 처리 시스템(Distributed processing system) = 54
11.7 병렬 처리 시스템(Parellel processing system) = 56
11.8 멀티미디어 시스템(Multimedia system) = 57
11.9 버퍼링과 스풀링에 대한 정리 = 58
12. 컴퓨터 시스템 구조(Computer-System Structures) = 59
12.1 현대 컴퓨터 시스템(Modern computer system) = 59
12.2 입ㆍ출력 구조(I/O Structure) = 61
12.3 기억 장치 종류 = 63
12.4 기억 장치 계층 구조(storage-device hierarchy) = 63
12.5 H/W 보호(H/W Protection) = 66
13. OS 구조(Operating-System Structures) = 69
13.1 개요 = 69
13.2 시스템 구성 = 71
13.3 OS 서비스 = 76
13.4 컴퓨터 S/W = 79
2장 프로세스 관리(Process Management) = 85
1. 프로세스(Process) = 87
1.1 개요 = 87
1.2 일반적인 프로세스의 개념(정의) = 88
1.3 프로세스의 의미 = 89
1.4 프로세스 모델 = 89
2. 프로세스 상태(Process States) = 94
2.1 프로세스 상태 = 95
2.2 프로세스 상태 리스트(process status list) = 96
2.3 프로세스 상태 전이(Process Status Transition) = 98
2.4 프로세스에 관한 연산(operation on process) = 104
2.5 프로세스 계층 = 106
2.6 활동 상태(active state)와 연기 상태(suspended state) = 107
2.7 프로세스 구현 = 113
2.8 프로세스 관점에서 본 운영체제 = 114
3. 스케줄링의 기법 = 121
3.1 스케줄링 개요 = 122
3.2 스케줄링 개념 = 123
3.3 스케줄링의 목적 = 124
3.4 스케줄링 정책에서의 성능의 기준 = 125
3.5 스케줄링 시 고려해야 할 사항(스케줄링의 기준) = 129
3.6 스케줄링 큐 = 131
3.7 인터벌 타이머(Interval timer)와 인터럽트 클럭(interrupting clock) = 134
3.8 스케줄링 분류 = 134
3.9 스케줄링 구조 = 141
3.10 각종 스케줄링 기법 비교 = 146
3.11 스케줄링 알고리즘 = 147
3.12 정책과 메카니즘 = 176
3.13 스케줄링 알고리즘의 분류 = 177
4. 알고리즘 평가 = 187
4.1 개요 = 187
4.2 성능 평가의 목적 = 187
4.3 성능 평가를 하는 기본 요소 = 188
4.4 성능 평가의 방법 = 189
4.5 분석적 평가 = 189
4.6 시뮬레이션(모의 실험 : simulation) = 197
4.7 구현 = 197
5. 병행 프로세스(Concurrent Process) = 203
5.1 개요 = 203
5.2 동기화, 임계 영역 및 상호 배제 = 214
5.3 임계영역(Critical Section(CS) 또는 Critical region)문제 = 225
5.4 상호 배제 문제를 구현하기위한 해결 방법 = 230
5.5 동기화 하드웨어(Synchronization H/W):H/W적 상호 배제 해결법 = 246
5.6 병행 프로세스(Concurrent Processes) = 253
5.7 병행 처리 프로세스들의 문제점 = 269
5.8 동시(병행) 처리를 서술(표현)하는 방법 = 274
5.9 공유변수를 이용한 동기화 문제 해결 = 279
5.10 메시지 전달을 이용한 동기화 문제 해결 = 292
5.11 동기화 프로그래밍 문제(병행수행이 필요한 문제)의 예 = 293
5.12 동시처리가 가능한 프로그래밍 언어 = 298
5.13 프로세스 간 통신 = 300
6. 교착 상태(Deadlocks) = 308
6.1 교착 상태 개념 = 308
6.2 교착상태의 모델 = 311
6.3 교착상태의 발견(Deadlock detection) = 315
6.4 자원 할당 그래프 = 316
6.5 교착상태의 발생 조건 = 323
6.6 교착 상태 해결 방안 = 326
3장 기억장치 관리(Storage Management) = 361
1. 주기억장치 관리 = 363
1.1 비어 있는 기계(Bare Machine) = 363
1.2 배경 = 364
1.3 사용자 프로그램의 처리 기준 = 365
1.4 기억 장치의 구성 = 365
1.5 캐시(cache) 기억 장치 = 365
1.6 M/M의 역할 = 366
1.7 M/M 구성 및 관리 정책 = 368
1.8 상주 모니터(resident monitor) = 372
1.9 재배치(Relocation)문제 = 376
1.10 연속 기억 장소 할당과 비연속 기억 장소 할당 = 380
1.11 할당방법(allocation method) = 381
1.12 M/M 관리 기법 = 382
1.13 다중 분할 할당(Multiple Partition Allocation) = 412
1.13 M/M의 관리상의 문제점 및 해결책 = 419
2. 가상 기억 장치(Virtual Stroage) = 422
2.1 가상 기억 장치의 정의 = 423
2.2 H/W 및 S/W 요소 = 429
2.3 다단계(multilevel)의 기억 장치 구성 = 437
2.4 주소 지정(Addressing) 기구 = 439
2.5 블록 사상(Block mapping)기법 = 443
2.6 프로그램 분산 적재 = 448
2.7 페이징(paging) 시스템 기법 = 450
2.8 세그먼테이션(segmentation) 시스템 기법 = 472
2.9 페이징/세크먼테이션(page/segmentation) 혼합 시스템 기법 = 487
2.10 요구 페이징(Demand-Paging) 기억 장치 할당 = 499
2.11 페이지 교체 및 할당 알고리즘 = 512
2.12 구역성(지역성:locality)과 스래싱(thrashing) = 541
2.13 기억 장치 할당 기법의 비교 = 547
3. 보조 기억 장치 관리 = 554
3.1 개요 = 554
3.2 자기 디스크 구조 = 556
3.3 자기 테이프 구조 = 564
3.4 디스크 스케줄링의 특징 = 568
3.5 디스크 스케줄링 기법 = 573
3.6 디스크 스케줄링 방법 및 특징 요약 = 579
4장 정보 관리(Information Management) = 583
1. 전보 관리 = 585
1.1 소개 = 585
1.2 파일 시스템의 모형 = 586
1.3 파일의 작업 = 597
1.4 디렉토리(directory) = 597
2. 접근 방법(Access Methods) = 600
2.1 파일 조작 = 600
2.2 파일 접근 방식 = 600
2.3 각 파일의 비교 = 609
2.4 접근 방식 = 609
3. 디렉토리 구조(Directory Structure) = 610
3.1 디렉토리의 정의 및 역할 = 610
3.2 디렉토리 시스템과 내용 = 610
3.3 디렉토리의 구조 = 617
3.4 파일의 보호 = 624
4. 파일 서버 = 633
4.1 인터페이스 레벨 = 633
4.2 병행성 조정 = 634
4.3 파일 복사 = 634
4.4 네트워크 파일 시스템 = 635
5. 파일 시스템의 신뢰도와 효율 = 636
5.1 백업(backup) = 636
5.2 일관성(consistency) = 636
5.3 효율성(efficiency) = 637
6. 보호 = 638
6.1 보호(Protection) = 638
6.2 자원 보호 정책 = 644
6.3 자원 보호 기법 = 644
6.4 운영 체제 보호 = 646
6.5 암호화 시스템 = 658
5장 분산 시스템(Distributed System) = 677
1. 네트워크(network) 시스템과 분산(distributed) 시스템 = 680
1.1 네트워크 시스템 = 680
1.2 분산 시스템 = 684
2. 처리하는 방식에 따른 분산 시스템의 구분 = 692
2.1 강결합(tightly-coupled) 시스템 = 692
2.2 약결합(loosely-coupled) 시스템 = 693
3. 다중 처리 시스템 = 694
3.1 개요 = 694
3.2 병렬성 = 695
3.3 다중처리 시스템의 목적 = 695
3.4 다중처리 시스템의 H/W 구조 = 696
3.5 다중처리 시스템 OS = 699
3.6 클러스터 = 703
4. OS에 따른 분산 처리 시스템 = 706
4.1 네트워크 OS(NOS) = 706
4.2 분산 OS(DOS) = 712
4.3 위상(Topology) = 725
5. 통신 S/W 설계 문제 = 729
5.1 이름과 대응 사이트 결정 = 730
5.2 경로(routing) 전략 = 733
5.3 연결(connection) 모델 = 735
5.4 경쟁(contention) 해소 = 740
6. 전송 프로토콜 표준화 = 745
6.1 OSI 참조모델 = 746
6.2 TCP/IP 모델 = 748
6.3 OSI 모델과 TCP/IP 모델과의 차이점 = 754
7. 네트워크 관리 = 756
7.1 개요 = 756
7.2 5대 관리기능 = 757
7.3 네트워크 관리구조 = 761
8. 고장(장애) 허용 시스템(fault-tolerant system) = 765
9. 병렬 처리(Parallel processing) 시스템 = 766
10. 분산 파일 시스템 = 774
10.1 파일 서버 모델(분산 파일 시스템의 전형적인 모델) = 774
10.2 파일 명명법(naming) = 776
11. 분산 시스템의 가시성 = 777
11.1 가시성 = 777
11.2 가시성 종류 = 777
11.3 분산 파일 시스템에서 일반적인 명칭 부여 기법 = 778
11.4 명칭과 관련된 두 가지 개념 = 778
11.5 고려 사항 = 778
12. 프로세스간 통신 = 779
12.1 개요 = 779
12.2 기본 구성요소(Building blocks) = 779
12.3 클라이언트-서버 통신(Client-server communication) = 782
12.4 그룹 통신(Group communication) = 784
6장 OS의 실제(Case Study) = 793
1. UNIX 시스템 = 795
1.1 개요 = 795
1.2 UNIX의 특징 = 795
1.3 UNIX의 형성 = 796
1.4 UNIX의 구조 = 796
1.5 UNIX 시스템 프로그램 = 799
1.6 UNIX 파일 시스템 = 801
1.7 UNIX 시스템의 관리 = 805
1.8 프로세스 관리 = 809
1.9 기억 장치(memory) 관리 = 814
1.10 입출력 시스템 = 817
2. DOS(Disk Operating System) = 818
3. 윈도우즈(Windows) = 820
3.1 개요 = 810
3.2 윈도우즈 98/2000 = 825
4. Linux = 828
4.1 개요 = 828
4.2 리눅스의 장점 = 830
4.3 리눅스의 변천사 = 830
4.4 리눅스의 구조 = 833