목차
1장 운영체제의 개요
1.1 운영체제의 목적 및 역할 = 11
1.2 운영체제의 정의 및 구조 = 13
1.2.1 운영 체제의 정의 및 기능 = 14
1.2.2 운영 체제의 계층 구조 = 18
1.3 운영 체제의 발전 = 21
1.3.1 운영 체제의 역사 및 발전 과정 = 22
1.3.2 입출력 표준화 = 23
1.3.3 단일 사용자 시스템 = 24
1.3.4 초기의 운영 체제 = 24
1.3.5 성능을 높이기 위한 시스템 = 26
1.3.6 최근 운영 체제의 특징 = 34
1.4 일괄 처리 시스팀(Batch Processing System) = 36
1.5 다중 프로그래밍 시스템(Multiprogramming System) = 38
1.6 시분할 시스템(Time-Sharing System) = 40
1.7 실시간 시스템(Real-Time System) = 42
1.8 다중 프로세서 시스템(Multiprocessing System) = 43
1.9 분산 처리 시스템(Distributed Processing System) = 43
1.10 병렬 처리 시스템(Parallel Processing System) = 44
연습문제 = 45
2장 시스템 소프트웨어 종류 및 입출력 개념
2.1 매크로의 개요 = 47
2.1.1 매크로 프로세서(Macro Processor) = 48
2.2 링커(Linker)와 로더(Loader) = 50
2.2.1 링커와 로더의 관계 = 50
2.2.2 로더의 종류 = 51
2.3 입출력 관리 = 52
2.3.1 입출력 기능 = 53
2.3.2 입출력 방법 = 57
2.4 입출력 시스템 = 61
2.4.1 상주 모니터(Resident Monitor) = 61
2.4.2 하드웨어 보호 = 62
2.4.3 재배치 = 62
2.4.4 인터럽트 시스템 = 62
2.4.5 입출력 구조 = 65
2.5 폴링과 인터럽트의 관계 = 67
2.6 인터럽트의 처리 과정 = 68
연습문제 = 70
3장 프로세스 관리
3.1 프로세스의 개념 = 72
3.1.1 프로세스의 정의 = 73
3.1.2 프로세스의 상태와 상태 전이 = 73
3.1.3 프로세스 제어 블록(PCB: Process Control Block) = 76
3.1.4 대기와 재동작 = 78
3.2 병행 프로세스 = 78
3.2.1 병행 프로세스들의 고려 사항 = 79
3.2.2 병행 프로세스의 처리 = 80
3.3 교착 상태 = 87
3.3.1 교착 상태의 정의와 개념 = 87
3.3.2 교착 상태 발생의 필요 조건 = 88
3.3.3 교착 상태의 특징 = 88
3.3.4 교착 상태의 해결 방안 = 89
3.4 교착 상태 예방 =89
3.5 교착 상태 회피(Deadlock Avoidance) = 90
3.5.1 같은 종류의 자원이 여러개인 경우 = 90
3.6 교착 상태 발견 = 91
3.6.1 자원 할당 그래프 = 91
3.6.2 교착 상태의 취급 방법 = 92
3.7 교착 상태 회복 = 92
3.7.1 프로세스 종료 = 92
3.7.2 자원 선점 = 93
3.8 교착 상태 탐지 = 94
3.8.1 같은 종류의 자원이 여러개인 경우 = 94
3.8.2 각 자원 종류에 대해 하나인 경우 = 94
3.8.3 탐지 알고리즘의 사용 = 95
연습믄제 = 96
4장 스케줄링
4.1 스케줄링의 개요 = 98
4.1.1 스케줄링의 정의 = 98
4.1.2 스케줄링 평가 기준 = 102
4.2 CPU 스케줄링과 JOB 스케줄링의 차이점 = 102
4.2.1 CPU 스케줄러 = 103
4.2.2 JOB 스케줄러 = 103
4.3 각종 스케줄링 기법 비교 = 104
4.3.1 선점(Preemptive) 기법 = 104
4.3.2 비선점(Non-Preemtive) 기법 = 104
4.4 스케줄링 알고리즘의 종류 = 105
4.4.1 우선 순위(Priority) 스케줄링 = 105
4.4.2 기한부(Deadline) 스케줄링 = 106
4.4.3 FIFO(First In First Out) 스케줄링 = 106
4.4.4 RR(Round Robin) 스케줄링 = 107
4.4.5 SJF(Shortest Job First) 스케줄링 = 108
4.4.6 다단계 큐(Multi-level Queue) = 109
4.4.7 SRT(Shortest Remaining Time) 스케줄링 = 109
4.4.8 HRN(Highest Response ratio Next) 스케줄링 = 110
4.4.9 다단계 피드백 큐(Multilevel Feedback Queue) 스케줄링 = 110
4.5 디스크와 드럼의 스케줄링 = 111
4.6 FCFS 및 SSTF 스케줄링 = 113
4.6.1 FCFS 스케줄링 = 113
4.6.2 SSTF 스케줄링 = 113
4.7 SCAN 및 C-SCAN(Circular-SCAN) = 113
4.8 디스크 스케줄링 알고리즘 선택 = 114
4.9 섹터 큐잉(Sector Queueing) = 114
4.10 가상 기억 장치 개념 = 114
4.10.1 페이지 대치 알고리즘 = 115
연습문제 = 117
5장 메모리 관리
5.1 메모리 계층 구조 = 119
5.2 메모리 보호 = 121
5.2.1 경계 레지스터(Bound Resister) = 122
5.2.2 기준 레지스터(Base Resister)와 한계 레지스터(Limit Resister) = 122
5.3 단일 분할 = 124
5.4 기억 장치 분할 = 125
5.4.1 고정 분할 기법 = 128
5.4.2 가변 분할 기법 = 130
5.5 압축과 분산 = 131
5.5.1 기억 장소의 압축 = 132
5.5.2 분산 = 133
5.6 기억 장치 할당 방법 = 134
5.6.1 최초 적합 방법 = 134
5.6.2 최적 적합 방법 = 136
5.6.3 최악 접합 방법 = 138
5.7 재배치 분할 기억 장치 관리 = 138
5.8 페이지 기억 장치 관리 = 139
5.9 세그먼트 기억 관리 장치 = 142
5.10 가상 메모리 = 144
5.10.1 교환(Swapping) = 145
5.10.2 오버레이 = 147
5.10.3 요구 페이지 기법 = 149
5.10.4 스래싱(Thrashing) = 149
5.10.5 국지성(Locality) = 151
6장 파일 시스템
6.1 파일의 개념 = 155
6.1.1 파일의 속성 = 155
6.1.2 파일의 조작 = 156
6.1.3 파일의 형태 = 160
6.2 파일의 검색 = 162
6.2.1 해시표 = 163
6.3 접근 방법 = 165
6.3.1 순차 접근 = 165
6.3.2 직접 접근 = 166
6.3.3 기타 접근 방법 = 167
6.4 디렉토리 시스템 = 169
6.4.1 단단계 디렉토리 = 170
6.4.2 2단계 디렉토리 = 170
6.4.3 트리 구조 디렉토리 = 171
6.4.4 비순환 그래프 디렉토리 = 173
6.4.5 운영 체제 보안 모델 = 195
6.7 암호화 = 199
6.7.1 고전적인 암호 방식 = 199
6.7.2 관용 암호 방식 = 201
6.7.3 공개키 암호 방식 = 202
6.7.4 공개키 분배 방식 = 202
6.7.5 디지털 서명 = 203
연습문제 = 205
7장 네트워크와 분산 시스템
7.1 네트워크의 동기 = 207
7.1.1 자원 공유 = 207
7.1.2 계산 속도 증가 = 208
7.1.3 신뢰성 = 208
7.1.4 통신 = 209
7.2 네트워크의 위상 = 209
7.2.1 완전 연결 = 210
7.2.2 부분 연결 = 211
7.2.3 계층 구조 연결 = 211
7.2.4 스타 구조 연결 = 212
7.2.5 링 구조 연결 = 213
7.2.6 다중 접근 버스 연결 = 214
7.3 통신 정책 = 215
7.3.1 이름과 대응 사이트의 결정 = 215
7.3.2 경로 정책 = 217
7.3.3 연결 정책 = 218
7.3.4 경쟁 = 220
7.3.5 보안 = 222
7.3.6 설계 기법 = 223
7.4 네트워크의 형태 = 223
7.4.1 광역 네트워크(WAN) = 223
7.4.2 로컬 네트워크(LAN) = 225
7.5 네트워크의 표준 = 226
7.5.1 배경 = 226
7.5.2 통신 프로토콜이란 = 226
7.5.3 OSI 통신 프로토콜 = 226
7.5.4 TCP IP 통신 프로토콜 = 228
7.6 원격 프로시듀어 호출 = 229
7.6.1 스텁(Stub) = 230
7.6.2 원격 호출에 관한 문제 = 231
7.7 클라이언트 서버 시스템 = 232
7.7.1 발전 과정 =233
7.7.2 클라이언트 서버의 특징 = 239
7.8 분산 운영 체제와 네트워크 운영 체제 = 241
7.8.1 네트워크 운영 체제의 개념 = 241
7.8.2 네트워크 운영 체제와 분산 운영 체제의 차이점 = 242
7.8.3 분산 운영 체제 = 245
연습문제 = 250
부록 = 251