목차
제1장 OS의 개요 = 13
1 OS의 개요 = 15
1.1 컴퓨터 시스템의 구조 = 15
1.2 OS의 개념 = 16
1.3 OS의 발전 과정 = 16
1.4 OS의 특징과 변천과정 = 18
2 OS의 분류(두 부분) = 20
2.1 제어 프로그램(Control program) = 20
2.2 처리 프로그램(Processing Program) = 20
3 OS의 기능 = 21
3.1 개요 = 21
3.2 OS의 일차적인 기능 = 21
3.3 OS와 다른 프로그램들 간의 관계 = 21
3.4 OS가 수행하는 기능 = 22
3.5 OS가 관리하는 컴퓨터 자원(resource) = 22
3.6 OS의 자원 관리자 관점 = 23
3.7 OS의 요소와 상호 작용 = 23
4 OS의 필요성 = 27
5 OS의 목적 = 28
6 OS의 구성 = 28
7 시스템의 구조 = 29
7.1 단일 구조(Monolithic structure) = 30
7.2 계층구조(Layered structure) = 32
7.3 계층 구조의 관점 = 35
7.4 시스템의 계층화 = 37
7.5 5가지 계층에 대한 각각의 기능(OS의 계층화) = 38
7.6 계층화의 예 = 38
8 시스템 설계 및 구현 = 41
8.1 설계 목표 = 41
8.2 기법과 정책 = 41
8.3 구현 = 42
9 초기 OS 형태와 관련 기법 = 42
9.1 초기 OS 시스템 = 42
9.2 단순 모니터(상주 모니터) = 44
9.3 중첩(오버레이 : overlay) = 45
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 병렬 처리 시스템(Parallel 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 기억 장치 종류 = 64
12.4 기억 장치 계층 구조(storage-device hierarchy) = 64
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 = 81
제2장 프로세스 관리(Process Management) = 84
1 프로세스(Process) = 85
1.1 개요 = 86
1.2 일반적인 프로세스의 개념(정의) = 87
1.3 프로세스의 의미 = 88
1.4 프로세스 모델 = 88
2 프로세스 상태(Process States) = 94
2.1 프로세스 상태 = 94
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 스케줄링의 기법 = 124
3.1 스케줄링 개요 = 125
3.2 스케줄링 개념 = 126
3.3 스레줄링의 목적 = 127
3.4 스케줄링 정책에서의 성능의 기준 = 129
3.5 스케줄링 시 고려해야 할 사항(스케줄링의 기준) = 132
3.6 일반적으로 스케줄링 정책을 수립하는데 고려되어야 할 요소 = 133
3.7 스케줄링 큐 = 134
3.8 인터벌 타이머(Interval timer)와 인터럽트 클럭(interrupting clock) = 137
3.9 스케줄링 분류 = 138
3.10 스케줄링 구조 = 142
3.11 각종 스케줄링 기법 비교 = 140
3.12 스케줄링 알고리즘 = 149
3.13 정책과 메카니즘 = 177
3.14 스케줄링 알고리즘의 분류 = 179
4 알고리즘 평가 = 189
4.1 개요 = 189
4.2 성능 평가의 목적 = 189
4.3 성능 평가를 하는 기본 요소 = 190
4.4 성능 평가의 방법 = 191
4.5 분석적 평가 = 192
4.6 시뮬레이션(모의 실험 : simulation) = 196
4.7 구현 = 196
5 프로세스 동기화(Process Synchronization) = 201
5.1 개요 = 201
5.2 동기화, 임계 영역 및 상호 배제 = 211
5.3 임계영역(Critical Section(CS) 또는 critical region) 문제 = 225
5.4 상호 배제 문제를 구현하기위한 해결 방법 = 231
5.5 동기화 하드웨어(Synchronization H/W):H/W적 상호 배제 해결법 = 245
5.6 병행 프로세스(Concurrent Processes) = 251
5.7 병행 처리 프로세스들의 문제점 = 271
5.8 동시(병행) 처리를 서술(표현)하는 방법 = 277
5.9 공유변수를 이용한 동기화 문제 해결 = 281
5.10 메시지 전달을 이용한 동기화 문제 해결 = 298
5.11 동기화 프로그래밍 문제(병행수행이 필요한 문제)의 예 = 298
5.12 동시처리가 가능한 프로그래밍 언어 = 303
5.13 프로세스 간 통신 = 305
6 교착 상태(Deadlocks) = 312
6.1 교착 상태 개념 = 312
6.2 교착상태의 모델 = 315
6.3 교착상태의 발견(Deadlock detection) = 320
6.4 자원 할당 그래프 = 320
6.5 교착상태 조건 = 330
6.6 교착 상태의 예(짚어보기) = 333
제3장 기억장치 관리(Storage Management) = 371
1 주기억장치 관리 = 373
1.1 비어 있는 기계(Bare Machine) = 373
1.2 배경 = 374
1.3 사용자 프로그램의 처리 기준 = 375
1.4 기억 장치의 구성 = 375
1.5 캐시(cache) 기억 장치 = 376
1.6 M/M 구성 및 관리 정책 = 376
1.7 상주 모니터(resident monitor) = 383
1.8 재배치(Relocation)문제 = 386
1.9 연속 기억 장소 할당과 비연속 기억 장소 할당 = 389
1.10 할당방법(allocation method) = 390
1.11 M/M 관리 기법 = 391
1.12 다중 분할 할당(Multiple Partition Allocation) = 422
1.13 M/M의 관리상의 문제점 및 해결책 = 430
2 가상 기억 장치(Virtual Storage) = 433
2.1 가상 기억 장치의 정의 = 434
2.2 H/W 및 S/W 요소 = 440
2.3 다단계(multilevel)의 기억 장치 구성 = 447
2.4 주소 지정(Addressing) 기구 = 448
2.5 블록 사상(Block mapping)기법 = 453
2.6 페이징(paging) 시스템 기법 = 458
2.7 세그먼테이션(segmentation) 시스템 기법 = 479
2.8 페이징/세그먼테이션(page/segmentation) 혼합 시스템 기법 = 494
2.9 요구 페이징(Demand-Paging) 기억 장치 할당 = 510
2.10 페이지 교체 및 할당 알고리즘 = 518
2.11 구역성(지역성:locality)과 스래싱(thrashing) = 554
2.12 기억 장치 할당 기법의 비교 = 559
3 보조 기억 장치 관리 = 568
3.1 개요 = 568
3.2 자기 디스크 구조 = 570
3.3 자기 테이프 구조 = 578
3.4 디스크 스케줄링의 특징 = 582
3.5 디스크 스케줄링 기법 = 587
3.6 디스크 스케줄링 방법 및 특징 요약[표 3-11] = 593
제4장 정보 관리(Information Management) = 597
1 파일 시스템 = 599
1.1 파일 시스템 개념 = 599
1.2 파일의 작업 = 605
1.3 디렉토리(directory) = 606
2 접근 방법(Access Methods) = 609
2.1 파일 조작 = 609
2.2 파일 접근 방식 = 609
2.3 각 파일의 비교 = 617
2.4 접근 방식 = 618
3 디렉토리 구조(Directory Structure) = 618
3.1 디렉토리의 정의 및 역할 = 618
3.2 디렉토리의 내용 = 618
3.3 디렉토리의 구조 = 620
3.4 파일의 보호 = 627
4 파일 서버 = 636
4.1 인터페이스 레벨 = 637
4.2 병행성 조정 = 637
4.3 파일 복사 = 638
4.4 네트워크 파일 시스템 = 638
5 파일 시스템의 신뢰도와 효율 = 639
5.1 백업(backup) = 639
5.2 일관성(consistency) = 640
5.3 효율성(efficiency) = 640
6 보호 = 641
6.1 보호(Protection) = 641
6.2 자원 보호 정책 = 648
6.3 자원 보호 기법 = 648
6.4 운영 체제 보호 = 650
6.5 암호화 시스템 = 662
제5장 분산 시스템(Distributed System) = 683
1 네트워크(network) 시스템과 분산(distributed) 시스템 = 685
1.1 네트워크 시스템 = 685
1.2 분산 시스템 = 690
2 처리하는 방식에 따른 분산 시스템의 구분 = 698
2.1 강결합(tightly-coupled) 시스템 = 698
2.2 약결합(losely-coupled) 시스템 = 699
3 다중 처리 시스템 = 700
3.1 개요 = 700
3.2 병렬성 = 700
3.3 다중처리 시스템의 목적 = 701
3.4 다중처리 시스템의 H/W 구조 = 701
3.5 다중처리 시스템 OS = 704
3.6 클러스터 = 708
4 OS에 따른 분산 처리 시스템 = 711
4.1 네트워크 OS(NOS) = 711
4.2 분산 OS(DOS) = 716
4.3 위상(Topology) = 729
5 통신 S/W 설계 문제 = 732
5.1 이름과 대응 사이트 결정 = 733
5.2 경로(routing) 전략 = 736
5.3 연결(connection) 모델 = 739
5.4 경쟁(contention) 해소 = 744
6. 전송 프로토콜 표준화 = 749
6.1 OSI 참조모델 = 749
6.2 TCP/IP 모델 = 752
6.3 OSI 모델과 TCP/IP 모델과의 차이점 = 756
7 네트워크 관리 = 758
7.1 개요 = 759
7.2 5대 관리기능 = 759
7.3 네트워크 관리구조 = 763
8 고장(장애) 허용 시스템(fault-tolerant system) = 767
9 병렬 처리(Parallel processing) 시스템 = 768
10 커널과 커널 서버 = 776
11 분산 파일 시스템 = 777
12 분산 시스템의 가시성 = 780
13 프로세스간 통신 = 782
13.1 개요 = 782
13.2 기본 구성요소(Building blocks) = 782
13.3 클라이언트-서버 통신(Client-server communication) = 785
13.4 그룹 통신(Group communication) = 787
14 공유 데이터와 트랜잭션 = 791
14.1 개요 = 791
14.2 고객과 서버 사이의 대화 = 792
14.3 결함(장애) 허용 및 복구 = 793
14.4 트랜잭션(Transaction) = 793
15 파일 서비스 모델 = 798
15.1 개요 = 798
15.2 파일 서비스의 구성요소 = 800
16 DOS의 사례 연구 = 802
16.1 Mach = 802
16.2 Chorus = 805
16.3 Amoeba = 807
16.4 Clouds = 808
제6장 OS의 실제(Case Study) = 812
1 UNIX 시스템 = 814
1.1 개요 = 814
1.2 UNIX의 특징 = 814
1.3 UNIX의 형성 = 815
1.4 UNIX의 구조 = 815
1.5 UNIX 시스템 프로그램 = 818
1.6 UNIX 파일 시스템 = 819
1.7 UNIX 시스템의 관리 = 824
1.8 프로세스 관리 = 827
1.9 기억 장치(memory) 관리 = 832
1.10 입출력 시스템 = 835
2 DOS(Disk Opercting System) = 836
3 윈도우즈(Windows) = 837
3.1 개요 = 837
3.2 윈도우즈 98/2000 = 843
4 Linux = 846
4.1 개요 = 846
4.2 리눅스의 장점 = 847
4.3 리눅스의 변천사 = 847
4.4 리눅스의 구조 = 850