Part 01 하드웨어, 소프트웨어, 운영체제 소개
Chapter 01 운영체제 소개
01 소개
02 운영체제란 무엇인가
03 초기 역사: 1940, 1950년대
04 1960년대
05 1970년대
06 1980년대
07 인터넷과 월드 와이드 웹의 역사
08 1990년대
09 2000년 이후
10 응용 프로그램 기반
11 운영체제 환경
12 운영체제의 구성 요소와 목표
13 운영체제 아키텍처
요약
연습문제
핵심용어
Chapter 02 하드웨어와 소프트웨어 개념
01 소개
02 하드웨어 장치의 발전
03 하드웨어 구성 요소
04 하드웨어의 운영체제 지원
05 캐싱과 버퍼링
06 소프트웨어 개관
07 응용 프로그래밍 인터페이스
08 컴파일, 링킹, 로딩
09 펌웨어
10 미들웨어
요약
연습문제
핵심용어
Part 02 프로세스와 스레드
Chapter 03 프로세스 개념
01 소개
02 프로세스 상태: 프로세스 생명 주기
03 프로세스 관리
04 인터럽트
05 프로세스 간 통신
06 사례 연구: 유닉스 프로세스
요약
연습문제
핵심용어
Chapter 04 스레드 개념
01 소개
02 스레드의 정의
03 스레드 사용 동기
04 스레드 상태: 스레드 생명 주기
05 스레드 연산
06 스레딩 모델
07 스레드 구현 시 고려 사항
08 POSIX와 Pthread
09 리눅스 스레드
10 윈도우 XP 스레드
11 자바 멀티스레딩 사례 연구 I: 자바 스레드 소개
요약
연습문제
핵심용어
Chapter 05 비동기적 병행 실행
01 소개
02 상호 배제
03 상호 배제 프리미티브 구현
04 상호 배제 문제에 대한 소프트웨어적 해결책
05 상호 배제 문제에 대한 하드웨어적 해결책
06 세마포어
요약
연습문제
핵심용어
Chapter 06 병행 프로그래밍
01 소개
02 모니터
03 자바 모니터
04 자바 멀티스레딩 사례 연구3: 자바 생산자/소비자 관계
05 자바 멀티스레딩 사례 연구 4: 자바 원형 버퍼
요약
연습문제
핵심용어
Chapter 07 교착 상태와 무기한 연기
01 소개
02 교착 상태의 예
03 관련 문제: 무기한 연기
04 자원의 개념
05 교착 상태가 성립되기 위한 네 가지 조건
06 교착 상태 해결책
07 교착 상태 방지
08 다익스트라의 은행원 알고리즘을 사용한 교착 상태 회피
09 교착 상태 탐지
10 교착 상태 복구
11 현재와 미래 시스템의 교착 상태 전략
요약
연습문제
핵심용어
Chapter 08 프로세서 스케줄링
01 소개
02 스케줄링 수준
03 선점/비선점형 스케줄링
04 우선순위
05 스케줄링 목적
06 스케줄링 기준
07 스케줄링 알고리즘
08 데드라인 스케줄링
09 실시간 스케줄링
10 자바 스레드 스케줄링
요약
연습문제
핵심용어
Part 03 물리 메모리와 가상 메모리
Chapter 09 실제 메모리 구성과 관리
01 소개
02 메모리 구성
03 메모리 관리
04 메모리 계층
05 메모리 관리 전략
06 연속/비연속 메모리 할당
07 단일 사용자 연속 메모리 할당
08 고정 파티션 멀티프로그래밍
09 가변 파티션 멀티프로그래밍
10 메모리 스왑핑을 사용한 멀티프로그래밍
요약
연습문제
핵심용어
Chapter 10 가상 메모리 구성
01 소개
02 가상 메모리: 기본 개념
03 블록 맵핑
04 페이징
05 세그먼테이션
06 세그먼테이션/페이징 시스템
07 사례 연구: IA-32 인텔 아키텍처 가상 메모리
요약
연습문제
핵심용어
Chapter 11 가상 메모리 관리
01 소개
02 지역성
03 요구 페이징
04 예측 페이징
05 페이지 교체
06 페이지 교체 전략
07 FIFO 수정안: 2차 기회와 클록 페이지 교체
08 원거리 페이지 교체
09 페이지 해제
10 페이지 크기
11 페이징에서의 프로그램 동작
12 전역 대 지역 페이지 교체
13 사례 연구: 리눅스 페이지 교체
요약
연습문제
핵심용어
Part 04 2차 저장소, 파일, 데이터베이스
Chapter 12 디스크 성능 최적화
01 소개
02 2차 저장소의 발전
03 무빙 헤드 디스크 저장소의 특징
04 디스크 스케줄링이 필요한 이유
05 디스크 스케줄링 전략
06 회전 최적화
07 시스템 고려 사항
08 캐싱과 버퍼링
09 기타 디스크 성능 기술
10 RAID
요약
연습문제
핵심용어
Chapter 13 파일과 데이터베이스 시스템
01 소개
02 데이터 계층
03 파일
04 파일 시스템
05 파일 구성
06 파일 할당
07 여유 공간 관리
08 파일 접근 제어
09 데이터 접근 기술
10 데이터 무결성 보호
11 파일 서버와 분산 시스템
12 데이터베이스 시스템
요약
연습문제
핵심용어
Part 05 네트워킹과 분산 컴퓨팅
Chapter 14 분산 시스템 소개
01 소개
02 분산 시스템의 속성
03 분산 시스템에서의 통신
04 분산 시스템에서의 동기화
05 분산 시스템에서의 상호 배제
06 분산 시스템에서의 교착 상태
07 사례 연구: 스프라이트 분산 운영체제
08 사례 연구: 아메바 분산 운영체제
요약
연습문제
핵심용어
Part 06 보안
Chapter 15 보안
01 소개
02 암호 기법
03 인증
04 접근 제어
05 보안 공격
06 공격 예방과 보안 해결책
07 보안 통신
08 키 합의 프로토콜
09 공개키 기반 구조, 인증서, 인증기관
10 보안 통신 프로토콜
11 스테가노그라피
12 독점 소스와 오픈 소스 보안
13 사례 연구: 유닉스 시스템 보안
요약
연습문제
핵심용어