1. 소개 1-1 운영체제의 개요 ... 11 1-2 운영체제의 이해 ... 11 1-3 교재의 개요 ... 13 연습문제 ... 14 제1부 시스템의 기본자원 2. 하드웨어 2-1 주기억장치 ... 17 2-1-1 물리적 기억장치 ... 17 2-1-2 기억장치의 주소법 ... 19 2-2 처리기 ... 19 2-2-1 기계주기 ... 20 2-3 입출력장치 ... 24 2-4 보조 기억장치 ... 26 2-4-1 디스켓 ... 26 2-4-2 하드 디스크 ... 28 2-4-3 기타 보조 기억매체 ... 30 2-4-4 보조 기억장치에의 접근 ... 30 2-5 구성요소들의 연결 ... 32 요약 ... 35 연습문제 ... 36 3. 소프트웨어와 데이터 3-1 하드웨어와 소프트웨어 ... 39 3-2 소프트웨어 ... 39 3-2-1 명령어 ... 39 3-2-2 프로그래밍 언어 ... 40 3-2-3 라이브러리 ... 43 3-2-4 재진입코드 ... 45 3-3 데이터 ... 46 3-3-1 데이터 관리 ... 46 3-3-2 데이터 요소 ... 47 3-3-3 데이터 구조 ... 47 3-3-4 접근기법 ... 49 3-3-5 데이터베이스 관리 ... 51 요약 ... 53 연습문제 ... 54 4. 구성요소의 연결 ... 55 4-1 내부 구성요소의연결 ... 55 4-1-1 버스라인 ... 55 4-1-2 단어크기 ... 55 4-2 기계주기 ... 57 4-3 구조 ... 61 4-3-1 단일버스 구조 ... 61 4-3-2 인터페이스 ... 61 4-3-3 채널과 제어장치 ... 63 4-3-4 다중버스 구조 ... 64 4-4- 논리적 입 / 출력과 물리적 입 ... 65 4-4-1 원시명령 ... 65 4-4-2 Open ... 65 4-4-3 데이터 접근 ... 66 요약 ... 69 연습문제 ... 69 제2부 운영체제의 기본개념 5. 단일 사용자 시스템 5-1 단일 사용자 환경 ... 73 5-2 사용자와의 통신 ... 74 5-2-1 명령 처리기 ... 74 5-2-2 명령어 ... 75 5-2-3 쉘 ... 78 5-3 하드웨어와의 통신 ... 78 5-3-1 입출력 제어 시스템 ... 79 5-3-2 파일 시스템 ... 81 5-3-3 기억장치 할당 ... 84 5-3-4 인터럽트 ... 86 5-4 부트 ... 87 5-5 효율성 ... 88 5-5-1 속도 불균형 ... 88 5-5-2 스케쥴링 ... 90 5-5-3 기타 실행시간의 절약 ... 90 5-6 유틸리티 ... 91 요약 ... 91 연습문제 ... 92 6. 다중 사용자 시스템 6-1 다중 사용자 환경 ... 93 6-2 다중 프로그래밍 ... 95 6-2-1 기억장치 경영 ... 95 6-2-2 처리기 시간의 경영 ... 99 6-2-3 인터럽트 ... 101 6-2-4 주변장치 할당 ... 104 6-2-5 스케쥴링과 큐잉 ... 104 6-2-6 스풀링 ... 105 6-2-7 다중 프로그래밍 운영체제 ... 106 6-3 시분할 ... 106 6-3-1 롤 인 / 롤 아웃 ... 107 6-3-2 타임 슬라이싱 ... 107 6-3-3 시분할 인터럽트 ... 108 6-3-4 외부장치 할당 ... 109 6-3-5 외부 우선순위 ... 109 6-4 운영체제의 운용 ... 109 요약 ... 110 연습문제 ... 111 제3부 명령어 7. 명령어 7-1 명령어의 기능 ... 115 7-1-1 사용자 확인 ... 116 7-1-2 프로그램 확인 ... 116 7-1-3 장치 요구의 지정 ... 116 7-1-4 실행 시간의 개입 ... 116 7-2 명령어의 근원 ... 117 7-3 명령어의 습득 ... 118 요약 ... 119 연습문제 ... 119 8. MS-DOS 명령어 8-1 MS-DOS ... 121 8-2 시작 ... 122 8-3 파일 시스템 ... 127 8-3-1 파일이름 ... 127 8-3-2 디렉토리 ... 128 8-3-3 경로이름 ... 129 8-3-4 디렉토리의 참조 ... 130 8-3-5 디렉토리의 생성 ... 133 8-3-6 파일의 생성 ... 134 8-3-7 디렉토리의 변경 ... 136 8-3-8 파일의 조작 ... 138 8-4 파이프 필터와 자료흐름의 변경 ... 140 8-5 일괄처리 파일 ... 143 8-6 기타 유용한 명령어 ... 145 요약 ... 145 참고문헌 ... 146 연습문제 ... 146 9. UNIX 명령어와 유틸리티 9-1 UNIX ... 147 9-2 시작 ... 148 9-3 파일 시스템 ... 150 9-3-1 파일이름 ... 150 9-3-2 디렉토리 ... 151 9-3-3 경로이름 ... 152 9-3-4 디렉토리의 참조 ... 152 9-3-5 디렉토리의 생성 ... 156 9-3-6 작업 디렉토리의 변경 ... 157 9-3-7 파일의 생성 ... 158 9-3-8 파일의 조작 ... 160 9-4 파이프, 필터, 데이터 흐름의 변경 ... 163 9-5 쉘 scripts ... 166 9-6 기타 유용한 명령어 ... 166 요약 ... 167 참고문헌 ... 167 연습문제 ... 168 제4부 운영체제의 내부 10. MS-DOS 10-1 운영체제의 평가 ... 171 10-1-1 효과 측정 ... 172 10-1-2 시스템 목적 ... 172 10-2 마이크로 컴퓨터의 운영체제 ... 173 10-2-1 마이크로 컴퓨터의 환경 ... 173 10-2-2 기본적인 운영체제의 기능 ... 174 10-3 MS-DOS 내부 ... 176 10-3-1 쉘 ... 176 10-3-2 주변장치의 접근 ... 177 10-3-3 파일 시스템 ... 178 10-3-4 인터럽트 처리 ... 181 10-3-5 MS-DOS의 부팅 ... 182 10-3-6 MS-DOS의 실행 ... 184 요약 ... 185 연습문제 ... 186 11. 세그멘테이션, 페이징, 가상 기억장치 11-1 기억장치의 이용 ... 187 11-2 주소 변환 ... 188 11-3 세그멘테이션 ... 189 11-3-1 세그먼트 주소의 변환 ... 190 11-3-2 운영체제의 주소법 ... 192 11-3-3 세그멘테이션과 기억장치 경영 ... 193 11-4 페이징 ... 193 11-4-1 페이징과 기억장치 경영 ... 195 11-5 세그멘테이션과 페이징 ... 195 11-6 가상 기억장치 ... 197 11-6-1 가상 기억장치의 주소법 ... 198 11-6-2 가상 - 동등 - 실제 영역 ... 201 11-6-3 트래싱 ... 201 11-6-4 가상 기억장치의 구현 ... 201 11-6-5 가상 기억장치의 필요성 ... 204 요약 ... 205 연습문제 ... 206 12. UNIX 12-1 UNIX 시스템 ... 207 12-2 이미지와 프로세스 ... 208 12-2-1 프로세스의 생성 ... 210 12-2-2 초기화 ... 214 12-2-3 프로세스 경영 ... 215 12-3 쉘 ... 216 12-4 타임-슬라이싱과 인터럽트 ... 216 12-5 주기억장치 경영 ... 217 12-5-1 교체(또는 페이징) ... 217 12-5-2 주기억 공간과 재진입 코드 ... 218 12-6 파일 시스템 ... 219 12-6-1 디스크 파일의 접근 ... 220 12-6-2 디스크 공간의 경영 ... 222 12-6-3 버퍼링 ... 222 12-7 UNIX 내부 ... 223 요약 ... 224 연습문제 ... 226 13. IBM 시스템 / 370의 운영원칙 13-1 하드웨어 환경 ... 227 13-2 기억장치 주소법 ... 227 13-3 프로그램 상태 워드 ... 228 13-3-1 명령어의 실행 ... 229 13-3-2 명령어 길이 ... 231 13-3-3 조건 코드 ... 233 13-3-4 기억공간 보호 ... 233 13-4 물리적 입 / 출력의 제어 ... 233 13-4-1 특권 명령어 ... 238 13-5 인터럽트 ... 238 13-5-1 인터럽트의 종류 ... 240 13-5-2 영구 기억장치의 할당 ... 243 13-5-3 매스킹 인터럽트 ... 244 13-5-4 인터럽트 우선순위 ... 247 13-6 프로그램 상태 ... 248 13-7 예제 ... 249 요약 ... 254 프로그램 ... 254 14. IBM DOS / VSE 14-1 DOS / VSE 환경 ... 257 14-2 가상 기억장치의 내용 ... 257 14-2-1 SYSGEN과 IPL ... 259 14-3 기억장치 경영 ... 259 14-4 응용 프로그램의 적재 ... 260 14-4-1 작업 제어 프로그램 ... 260 14-4-2 스풀링과 큐잉 ... 261 14-5 다중 프로그래밍과 물리적 입 / 출력 ... 262 14-6 논리적 입 / 출력 제어 시스템 ... 264 14-7 주변장치의 할당 ... 265 14-8 라이브러리 ... 268 요약 ... 269 연습문제 ... 270 15. IBM / 270 시스템의 OS 15-1 OS / VS1과 OS ... 271 15-1-1 가상 기억장치의 내용 ... 271 15-1-2 가상 기억장치의 경영 ... 273 15-2 작업 경영 ... 273 15-2-1 작업과 데스크 ... 273 15-2-2 마스터 스케줄러 ... 273 15-2-3 작업 입력 서브 시스템 ... 274 15-2-4 개시기 / 종료기 ... 275 15-2-5 데스크 경영 ... 276 15-3 제어 블록 ... 276 15-4 분배 ... 278 15-5 주변장치 할당 ... 293 15-5-1 장치제어 블록 ... 293 15-5-2 데스크 입 / 출력 테이블 ... 294 15-5-3 데이터 제어 블록과 데이터 범위 블록 ... 294 15-5-4 OPEN ... 294 15-5-5 입 / 출력 제어 블록의 연결 ... 295 15-6 데이터 관리 ... 296 15-7 시스템 생성 ... 296 15-8 제한요소 ... 296 요약 ... 297 연습문제 ... 298 제5부 최신동향 16. 가상기계 16-1 운영체제의 발전 ... 303 16-1-1 가상 기계의 개념 ... 304 16-1-2 VM / SP ... 305 16-2 가상 기계의 구조 ... 308 16-2-1 CMS ... 309 16-3 제어 프로그램(cp) ... 310 16-3-1 처리기 경영 ... 310 16-3-2 기억장치 경영 ... 310 16-3-3 주변장치의 경영 ... 311 16-3-4 운영원칙 ... 312 16-4 새로운 표준 ... 313 요약 ... 314 연습문제 ... 316 17. 네트워크와 분산 시스템 17-1 분산 시스템의 필요성 ... 317 17-2 데이터 통신 ... 318 17-2-1 아날로그와 디지털 ... 319 17-2-2 통신 매체 ... 320 17-2-3 교환 ... 321 17-2-4 프로토콜 ... 322 17-3 단일 컴퓨터와의 통신 ... 323 17-4 네트워크 ... 325 17-5 네트워크의 구성 ... 326 17-5-1 네트워크 운영체제 ... 328 17-5-2 네트워크의 미래 ... 330 요약 ... 330 연습문제 ... 331 18. 데이터 베이스 시스템 18-1 시스템 소프트웨어의 발전 ... 333 18-2 전통적인 데이터경영 ... 334 18-2-1 독립파일 ... 334 18-2-2 데이터 중복성 ... 334 18-2-3 데이터 소유권 ... 335 18-2-4 데이터 종속 ... 336 18-3 중앙 데이터 베이스 접근방식 ... 337 18-3-1 데이터의 정확성 ... 337 18-3-2 자원으로서의 데이터 ... 338 18-3-3 데이터 독립 소프트웨어 ... 339 18-3-4 장점과 단점 ... 340 18-4 데이터 베이스 구현 ... 341 18-4-1 데이터 베이스의 구조 ... 342 18-4-2 데이터 베이스 관리 시스템 ... 344 18-5 소프트웨어 이전 ... 345 요약 ... 345 연습문제 ... 346 부록 ... 347 찾아보기 ... 360