리눅스 커널 내부구조

출퇴근 시간을 이용해서 앞으로 ebook통해서 서적들 읽을 계획이다.

이전에는 주로 기술서적이나 아니면 모르는 개념들 찾기바빴는데..(요금압박)

회사에도 책이 쌓여있고; 집에도 책이 쌓여있다.

퇴근하고 책 읽는 시간은 제한적이고.. 주말에는 오전에 시간내서 읽고 오후부터는 그룹 스터디하고있기에…

뭔가 늘어난다기보다는 부족한게 더 많이 보인다고해야할거같다.

그 부족한 부분을 매꾸려면 더 많은 배움이 필요할거같다.

배움의 양이 많아지니 놓치는 개념들, 알면서도 헷갈려지는 개념들을 다시 정리할겸

을 선택했다.

제0장 운영체제 이야기

1. 운영체제 이야기

2. 운영체제 동작 비유

제1장 리눅스 소개

1. 리눅스의 탄생

2. 유닉스와 리눅스

3. 리눅스의 배포판

4. 리눅스의 장점

5. 쉘(Shell) 사용해보기

제2장 리눅스 커널 구조

1. 리눅스 커널 구조

2. 리눅스 커널 컴파일

실습 문제

제3장 태스트 관리

1. 프로세스와 쓰레드 그리고 태스크

2. 사용자 입장에서 프로세스 구조

3. 프로세스와 쓰레드의 생성과 수행

4. 리눅스의 태스크 모델

5. 태스크 문맥

6. 상태 전이(State Transtion)의 실행 수준 변화

7. 런큐와 스케줄링

8. 문맥 교환

9. 태스크와 시그널

실습 문제

제4장 메모리 관리

1. 메모리 관리 기법과 가상 메모리

2. 물리 메모리 관리 자료 구조

2-1 node

2-2 zone

2-3 page frame

3. Buddy와 Slab

3-1 버디 할당자(Buddy Allocator)

3-2 Lazy Buddy

3-3 슬랩 할당자(Slab Allocator)

4. 가상 메모리 관리 기법

5. 가상 메모리와 물리 메모리의 연결 및 변환

6. 커널 주소 공간

7. Slub, Slob

실습 문제

제5장 파일시스템과 가상 파일시스템

1. 파일 시스템 일반

2. 디스크 구조와 블록 관리 기법

3. FAT 파일시스템

4. inode 구조

5. Ext2 파일시스템

6. Ext3 파일시스템과 Ext4 파일시스템

7. 가상 파일시스템(Virtual File System)

8. 태스크 구조와 VFS 객체

9. 파일시스템 제어 흐름 분석

실습 문제

제6장 인터럽트와 트랩 그리고 시스템 호출

1. 인터럽트 처리 과정

2. 시스템 호출 처리 과정

3. 새로운 시스템 호출 구현

4. 시스템 호출 구현 확장

4-1 커널 정보 출력

4-2 인자 전달

4-3 구조체를 사용한 인자 전달

실습 문제

제7장 리눅스 모듈 프로그래밍

1. 마이크로 커널

2. 모듈 프로그래밍 무작정 따라하기

3. 시스템 호출 hooking

4. 시스템 호출 hooking 모듈 확장

실습 문제

제8장 디바이스 드라이버

1. 디바이스 드라이버 일반

2. 문자 디바이스 드라이버 구조

3. 블록 디바이스 드라이버 구조

실습 문제

제9장 네트워킹

1. 계층 구조

2. 주요 커널 내부 구조

3. 리눅스에서 통신 프로토콜의 제어 흐름

실습 문제

제10장 운영체제 관련 실습

1. 쉘(Shell)

2. 스케줄러와 시뮬레이팅 환경

3. 버디 할당자와 시뮬레이팅 환경

4. FAT 파일시스템과 디스크 에뮬레이팅 환경

4-1 파일 시스템 마운트

4-2 파일의 생성 및 쓰기

4-3 파일의 탐색 및 읽기

4-4 파일의 삭제

부록A 리눅스와 가상화 그리고 XEN

1. 가상화 기법의 이해

2. 가상화 기술

3. Xen

3-1 전가상화 기술을 이용한 리눅스 설치

3-2 전가상화 기술을 이용한 윈도즈 설치

부록B MTD와 YAFFS

1. 플래시 메모리의 이해

2. MTD

3. YAFFS

About Me

Related Posts

What do you think?