목차
CHAPTER 01 소개
  1.1 개요 = 14 
  1.2 운영체제의 유형 = 16 
    1.2.1. 일괄처리 시스템(batch processing system) = 17 
    1.2.2. 다중 프로그래밍 시스템(multiprogramming system) = 18 
    1.2.3. 시분할 시스템(time-sharing system) = 19 
    1.2.4. 실시간 시스템(real-time system) = 20 
    1.2.5. 다중처리 시스템(multiprocessing system) = 20 
    1.2.6. 개인용 컴퓨터 시스템(personal computer system) = 21 
    1.2.7. 분산 처리 시스템(distributed processing system) = 22 
    1.2.8. 멀티미디어 시스템(multimedia system) = 23 
    1.2.9. 임베디드 시스템(embedded system) = 25 
  1.3 운영체제에 대한 관점 = 25 
    1.3.1. 자원관리와 관점 = 26 
    1.3.2. 프로세스 관점 = 28 
    1.3.3. 계층 구조 관점 = 28 
  1.4 입출력 프로그래밍 = 31 
    1.4.1. BIOS(basic input/output system) = 31 
    1.4.2. 부트 진행 과정(boot process) = 32 
    1.4.3. POST(power on self test) = 32 
    1.4.4. 버퍼링(buffering) = 33 
    1.4.5. 스풀링(SPOOLing) = 35 
    1.4.6. 채널(channel) = 36 
    1.4.7. 인터럽트(interrupt) = 38 
  1.5 요약 = 42 
  연습문제 = 44 
CHAPTER 02 프로세스 관리
  2.1 개요 = 48 
  2.2 프로세스 관리 = 49 
  2.3 프로세스 구성 요소 = 49
  2.4 프로세스의 상태 = 50
  2.5 프로세스 제어 블럭(PCB) = 52 
  2.6 프로세스 생성 = 53 
  2.7 프로세스 스케줄링 = 56 
    2.4.1. 스케줄링의 목적 및 기준 = 56 
    2.4.2. 단계별 분류 = 59 
    2.4.3. 방법·환경별 분류 = 60 
  2.5 프로세스 스케줄링 알고리즘 = 64 
    2.5.1. FCFS(First-Come-First-Served) 스케줄링 = 64 
    2.5.2. SJF(Shortest Job First) 스케줄링 = 66 
    2.5.3. 우선순위(Priority) 스케줄링 = 67 
    2.5.4. 라운드 로빈(Round-Robin) 스케줄링 = 69 
    2.5.5. SRT(Shortest Remaining Time) 스케줄링 = 71 
    2.5.6. 다단계 큐(Multilevel Queue) 스케줄링 = 73 
    2.5.7. 다단계 피드백 큐(Multilevel Feedback Queue) 스케줄링 = 75 
    2.5.8. HRN(High Response rario Next) 스케줄링 = 77 
  2.6 스레드(Thread) = 78 
  요약 = 81 
  연습문제 = 88 
CHAPTER 03 기억장치 관리
  3.1 개요 = 94 
    3.1.1. 주소 바인딩(address binding) = 96
    3.1.2. 논리적 주소와 물리적 주소 = 96
  3.2 기억장치의 계층 구조 및 관리 기법 = 97 
  3.3 단일 사용자 연속 기억장치 할당 = 100 
    3.3.1. 단일 사용자 연속 기억장치 할당 = 100 
    3.3.2. 시스템 보호 = 101 
  3.4 고정 분할 기억장치 할당 = 102 
    3.4.1. 절대 번역 및 로딩 = 104 
    3.4.2. 재배치 가능 번역 및 로딩 = 104 
    3.4.3. 시스템 보호 = 104 
    3.4.4. 분할 공간의 크기와 단편화 = 105 
  3.5 가변 분할 기억장치 할당 = 107 
    3.5.1. 기억 공간의 효율화 = 107 
    3.5.2. 기억장치 배치기법 = 112 
  3.6 기억장치 교체(swapping) = 114 
  3.7 요약 = 115 
  연습문제 = 119 
CHAPTER 04 가상 메모리 관리
  4.1 개요 = 122 
    4.1.1. 동적 주소 변환(dynamic address translation) = 124 
    4.1.2. 블럭 사상(block mapping) = 124 
  4.2 페이징(paging) = 127 
    4.2.1. 직접 사상(direct mapping) = 128 
    4.2.2. 연관 사상(associative mapping) = 129 
    4.2.3. 연관/직접 사상 = 131 
    4.2.4. 페이징 시스템의 공유 = 132 
    4.2.5. 페이지 크기 = 133 
    4.2.6. 페이지 호출 기법 = 135 
    4.2.7. 페이지 양도(page release) = 136 
  4.3 세그먼테이션(segmentation) = 137 
    4.3.1. 직접 사상 = 138 
    4.3.2. 공유 및 보호 = 141 
  4.4 세그먼트/페이징 혼용 기법 = 143 
    4.4.1. 동적 주소 변환 = 144 
    4.4.2. 시스템의 공유 = 146 
  4.5 페이지 교체 알고리즘 = 147 
    4.5.1. FIFO(First-In First-Out) 알고리즘 = 147 
    4.5.2. 최적 교체(Optimal Replacement) 알고리즘 = 149 
    4.5.3. LRU(Least Recently Used) 알고리즘 = 150 
    4.5.4. 2차 기회(second chance) 알고리즘 = 151 
    4.5.5. LFU(Least Frequently Used) 알고리즘 = 152 
    4.5.6. NUR(Not Used Recently) 알고리즘 = 153 
  4.6 스래싱(thrashing) = 154 
    4.6.1. 구역성(locality) = 155 
    4.6.2. 작업세트(workingset) = 156 
    4.6.3. 페이지 부재율 = 156 
  4.7 요약 = 157 
  연습문제 = 159 
CHAPTER 05 디스크 스케줄링과 파일 시스템
  5.1 개요 = 164 
  5.2 디스크 구조 = 165 
  5.3 CD-ROM = 166 
  5.4 디스크 스케줄링 = 167 
    5.4.1. FCFS(First Come First Served) 스케줄링 = 168 
    5.4.2. SSTF(Shortest Seek Time First) 스케줄링 = 170 
    5.4.3. SCAN 및 C-LOOK 스케줄링 = 171 
    5.4.4. C-SCAN 및 C-LOOK 스케줄링 = 172 
    5.4.5. 알고리즘 선택 = 174 
  5.5 파일 시스템 = 175
    5.5.1. 데이터의 계층 구조 = 175 
    5.5.2. 블로킹 = 176 
    5.5.3. 파일 시스템의 기능 = 176 
    5.5.4. 파일의 구조 = 177 
    5.5.5. 파일 공간의 할당과 회수 = 179 
    5.5.6. 파일의 보호(protection) = 183 
  5.6 디렉토리 구조 = 185 
    5.6.1. 일단계 구조 디렉토리 = 186 
    5.6.2. 이단계 구조 디렉토리 = 187 
    5.6.3. 트리 구조 디렉토리 = 188 
    5.6.4. 비순환 구조 디렉토리 = 190 
    5.6.5. 일반적 그래프 디렉토리 = 191 
  5.7 파일 시스템의 예 = 192 
    5.7.1. FAT(File Allocation Table) = 192 
    5.7.2. NTFS(New Technology File System) = 193 
    5.7.3. UFS(Unix File System) = 193 
    5.7.4. Ext(Extended File System) = 193 
    5.7.5. GFS(Google File System) = 194 
    5.7.6. HDFS(Haboop Distributed File System) = 195 
  5.8 요약 = 195 
  연습문제 = 198 
CHAPTER 06 프로세스 간 공기화 및 통신
  6.1 개요 = 202 
  6.2 병행처리의 문제점 = 202 
    6.2.1. 임계구역(Critical Section) = 203 
    6.2.2. 상호 배제(mutual exclusion) = 204 
    6.3 상호배제 알고리즘 = 205 
    6.3.1. 1단계 알고리즘 = 206 
    6.3.2. 2단계 알고리즘 = 206 
    6.3.3. 3단계 알고리즘 = 207 
  6.4 하드웨어에 의한 동기화 = 209 
  6.5 세마포 = 210 
    6.5.1. 정의 = 210 
    6.5.2. 세마포를 이용한 상호 배제 = 211 
    6.5.3. 세마포를 이용한 동기화 = 211 
    6.5.4. 세마포를 이용한 생산자/소비자 문제 = 212
    6.5.5. 세마포를 이용한 읽기/쓰기 문제 = 213 
  6.6 모니터 = 214 
    6.6.1. 개요 = 214 
    6.6.2. 사용 예 = 215 
  6.7 메시지 = 220 
    6.7.1. 메시지 실행 시 고려사항 = 221 
  6.8 요약 = 224 
  연습문제 = 226 
CHAPTER 07 교착 상태
  7.1 개요 = 230 
    7.1.1. 개념 = 230 
    7.1.2. 교착 상태의 모델 = 230 
    7.1.3. 교착 상태 조건 = 233 
  7.2 교착 상태 예방(Deadlock Prevention) = 235 
    7.2.1. 점유와 대기 조건 방지 = 235 
    7.2.2. 비선점 조건 방지 = 236 
    7.2.3. 환형 대기 조건 방지 = 236
  7.3 교착 상태 회피(Deadlock Avoidance) = 237 
    7.3.1. 안전(safety) 알고리즘 = 237 
    7.3.2. 은행가 알고리즘 = 238 
  7.4 교착 상태 탐지(Deadlock Detection) = 239 
    7.4.1. 탐지 알고리즘 = 240 
  7.5 교착 상태 회복(Deadlock Recovery) = 241 
    7.5.1. 문제점 = 242 
    7.5.2. 회복 방법 = 243 
  7.6 요약 = 244 
  연습문제 = 246 
CHAPTER 08 정보 보호 및 보안
  8.1 보호의 개요 = 250 
  8.2 보호의 영역 = 251 
  8.3 접근 제어 정책 및 기법 = 252 
    8.3.1 접근 행렬(Access Matrix) = 252 
    8.3.2 접근 행렬의 구현 = 253 
  8.4 보안의 개요 = 257 
  8.5 보안 위협 = 258 
    8.6.1. 흐름 차단(Interruption) = 259 
    8.6.2. 가로채기(Interception) = 259 
    8.6.3. 변조(Modification) = 259 
    8.6.4. 위조(Fabrication) = 260 
    8.6.5. 기타 보안 위협 요소 = 260
    8.6.6. 악성 소프트웨어(Malicious Software) = 261
  8.6 보안 서비스 = 263 
    8.6.1. 보안 요구사항 = 264 
    8.6.2. 인증(Authentication) = 265 
    8.6.3. 부인봉쇄(Non-Repudiation) = 266
    8.6.4. 접근 제어(Access Control) = 266
  8.7 보안 기법 = 267
    8.7.대칭키 암호방식(Symmetric Encryption Method) = 267
    8.7.2. 비대칭키 암호방식(Asymmetric Encryption Method) = 268
    8.7.3. 기타 보안 기법 = 269
  8.8 요약 = 273 
  연습문제 = 274 
CHAPTER 09 다중 처리 시스템
  9.1 개요 = 278 
  9.2 Flynn의 분류 = 279 
    9.2.1. SISD(Single Instruction stream Single Data stream) = 279 
    9.2.2. SIMD(Single Instruction stream Multiple Data stream) = 279 
    9.2.3. MISD(Multiple Instruction stream Single Data stream) = 280 
    9.2.4. MIMD(Multiple Instruction stream Multiple Data stream) = 281 
  9.3 병렬 처리 = 281 
    9.3.1. 병렬성(parallelism) = 281 
    9.3.2. 병렬성의 단계 = 282 
    9.3.3. 병렬성의 자동 검출 = 284 
  9.4 운영체제 구성 = 288 
    9.4.1. 주/종 관계 = 288 
    9.4.2. 독립 수행 = 289 
    9.4.3. 대칭적 처리 = 289 
  9.5 요약 = 290 
  연습문제 = 292 
CHAPTER 10 분산 처리 시스템
  10.1 개요 = 294 
    10.1.1. 분산 처리 시스템 개발 동기 = 295 
    10.1.2. 분산 처리 시스템의 범위 = 297 
  10.2 분산 처리 시스템 형태 = 299 
    10.2.1. 프로세서 모델에 따른 구분 = 299 
    10.2.2. 위상에 따른 구분 = 302 
    10.2.3. 분산 범위에 따른 구분 = 307 
  10.3 분산 시스템 구조 = 310 
    10.3.1 네트워크 운영체제 = 311 
    10.4.2 분산 운영체제 = 312 
  10.4 클라우드 컴퓨팅(Cloud Computing) = 315 
    10.4.1. 클라우드 컴퓨팅 대 현재 모델 = 315
    10.4.2. 클라우드 컴퓨팅의 종류 = 317 
    10.4.3. 클라우드 컴퓨팅의 장점 = 319 
    10.4.4. 클라우드 컴퓨팅의 장점 = 319 
  10.5 요약 = 320 
  연습문제 = 322 
CHAPTER 11 임베디드 시스템 
  11.1 개요 = 324 
    11.1.1. 임베디드 시스템 = 324
    11.1.2. 임베디드 시스템의 구성 = 326 
    11.1.3. 임베디드 시스템의 적용 분야 = 328
    11.1.4. 임베디드 시스템의 개발 절차 = 333
    11.1.5. 임베디드 시스템의 전망 = 336
  11.2 임베디드 운영체제 = 338
    11.2.1 임베디드 운영체제 개요 = 338
    11.2.2 임베디드 운영체제 종류 = 339
  11.3 요약 = 345
  연습문제 = 346
APPENDIX(부록)
  부록 A. UNIX = 348
  부록 B. 안드로이드(Android) = 385
참고문헌 = 392
찾아보기 = 395
닫기