리눅스를 비롯한 많은 UNIX 호환 운영체제의 뿌리가 된 UNIX V6를 통해 운영체제의 원리와 구조를 배운다.
더 좋은 프로그래머로 성장하기 위한 자기계발서
이 책은 UNIX V6 커널을 분석한 유일한 책이다. 커널을 이해하면 운영체제뿐 아니라 컴퓨터 시스템의 전체 그림을 볼 수 있다. 따라서 이 책은 개발 언어에 상관없이 운영체제 소스 코드를 읽으면서 실력을 향상하고자 하는 프로그래머를 위한 '자기계발서'다.
한 줄 한 줄 꼼꼼한 코드 분석
모든 코드에 행 번호를 달아 코드 한 줄 한 줄을 분석하고 설명하여 이해를 돕고 있다. 주요 항목은 간단하게 정리된 표로 빠르게 훑어 볼 수 있다.
이 책의 특징
- 커널 소스를 읽으며 분석하면 프로그래밍 실력이 향상되고 컴퓨터에 대하여 좀 더 흥미를 느낄 수 있습니다.
- UNIX V6는 오래된 고전이지만 커널을 처음 배우는 사람들에게는 안성맞춤입니다.
- 커널 명세서나 사용자 프로그램 매뉴얼도 함께 보면서, 이 책과 커널 소스 코드를 여러 번 읽어 간다면 UNIX V6 커널을 이해할 수 있게 됩니다.
어떤 독자를 위한 책인가?
- 초급 ~ 중급 컴퓨터 엔지니어 또는 컴퓨터 공학계 학생
- 운영체제 전체 구조를 배우며 한 단계 높은 기술자로 성장하고자 하는 개발자
PART 1 UNIX V6란?
CHAPTER 1 UNIX V6의 전체 큰 그림
1.1 UNIX V6란?
1.2 UNIX의 역사
1.3 UNIX V6 커널
1.4 UNIX V6의 하드웨어
1.5 소스 코드
1.6 매뉴얼
1.7 요약
PART 2 프로세스
CHAPTER 2 프로세스
2.1 프로세스의 요소
2.2 proc 구조체와 user 구조체
2.3 프로세스의 메모리 할당
2.4 요약
CHAPTER 3 프로세스의 제어
3.1 프로세스 라이프 사이클
3.2 프로세스 생성
3.3 실행 프로세스 전환
3.4 프로그램 실행
3.5 프로세스 종료
3.6 데이터 영역의 확장
3.7 메모리 스와프 영역 관리
3.8 요약
CHAPTER 4 스와핑
4.1 스와핑이란?
4.2 텍스트 세그먼트 공유처리
4.3 요약
PART 3 인터럽트
CHAPTER 5 인터럽트/트랩
5.1 인터럽트/트랩
5.2 우선순위와 벡터
5.3 인터럽트 트랩처리 방식 흐름
5.4 클록 인터럽트 핸들러
5.5 트랩 핸들러
5.6 시스템 콜 처리 과정
5.7 요약
CHAPTER 6 시그널
6.1 시그널이란?
6.2 트레이스
6.3 요약
PART 4 블록 I/O 시스템
CHAPTER 7 블록 디바이스 서브 시스템
7.1 주변 장치
7.2 블록 디바이스 서브 시스템
7.3 버퍼 초기화
7.4 버퍼 취득과 해제
7.5 읽기
7.6 쓰기
7.7 RAW 입출력
7.8 요약
CHAPTER 8 블록 디바이스 드라이버
8.1 블록 디바이스 드라이버란?
8.2 RK-11 디스크 드라이버
8.3 요약
PART 5 파일 시스템
CHAPTER 9 파일 시스템
9.1 파일 시스템
9.2 블록 디바이스 영역
9.3 마운트
9.4 inode 취득/ 해제
9.5 inode에서 스토리지 영역으로 매핑
9.6 블록 디바이스의 블록 할당
9.7 경로명에서 inode로 변환
9.8 초기화와 동기
9.9 요약
CHAPTER 10 파일 조작
10.1 사용자 프로그램의 파일 사용
10.2 파일을 사용하기 위한 세 가지 구조체
10.3 파일 새로 만들기와 열기
10.4 파일 읽기, 쓰기
10.5 파일 탐색
10.6 파일 닫기
10.7 디렉터리 작성
10.8 파일 링크
10.9 파일 지우기
10.10 요약
CHAPTER 11 파이프
11.1 파이프란?
11.2 파이프 통신 시작
11.3 데이터 주고받기
11.4 파이프 통신 종료
11.5 파이프 통신을 확립될 때까지의 흐름
11.6 요약
PART 6 문자 I/O 시스템
CHAPTER 12 문자 디바이스
12.1 문자 디바이스 드라이버
12.2 LP11 디바이스 드라이버
12.3 요약
CHAPTER 13 터미널
13.1 터미널이란?
13.2 터미널 열기/닫기
13.3 터미널 설정
13.4 터미널에서 문자 입력
13.5 입력된 데이터를 읽기
13.6 터미널 출력
13.7 요약
PART 7 시스템 부팅
CHAPTER 14 시스템 부팅
14.1 부팅 과정
14.2 요약
Appendix 부록
Appendix A 참고문헌, 논문, 매뉴얼 등
Appendix B pre K&R C