책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 모바일/무선/임베디드 프로그래밍
· ISBN : 9788989975854
· 쪽수 : 432쪽
· 출판일 : 2006-01-05
책 소개
목차
1장 리눅스 커널
리눅스의 개발
운영체제와 커널
리눅스 커널과 전통적인 유닉스 커널
리눅스 커널 버전
리눅스 커널 개발 커뮤니티
시작하기 전에
2장 커널과의 첫 만남
커널 소스 구하기
커널 소스 트리
커널 빌드하기
다른 성질의 야수
이제 여기까지 왔다
3장 프로세스 관리
프로세스 서술자와 태스크 구조체
프로세스 생성
리눅스의 스레드 구현
프로세스 종료
4장 스케쥴링
정책
스케쥴링 알고리듬
선점과 컨텍스트 스위칭
실시간
스케쥴러와 관련된 시스템 콜
5장 시스템 콜
API, POSIX, 그리고 C 라이브러리
시스콜
시스템 콜 핸들러
시스템 콜의 구현
시스템 콜 컨텍스트
6장 인터럽트와 인터럽트 핸들러
인터럽트
인터럽트 핸들러
인터럽트 핸들러 등록하기
인터럽트 핸들러 작성하기
인터럽트 컨텍스트
인터럽트 핸들링의 구현
인터럽트 컨트롤
7장 보톰하프와 지연된 작업
보톰하프
Softirq
태스크릿
워크큐
어떤 보톰하프를 사용해야 하는가?
보톰하프 사이의 록
8장 커널 동기화 개요
위험구역과 경쟁상태
록킹
데드록
경쟁과 확장성
코드 잠그기
9장 커널 동기화 방법
원자적 동작
스핀록
리더-라이터 스핀록
세마포어
리더-라이터 세마포어
완료 변수
BKL: 큰 커널 록
선점의 비활성화
배리어
10장 타이머와 시간 관리
커널에 있어서의 시간의 개념
진동수 : HZ
지피
하드웨어 클럭과 타이머
타이머 인터럽트 핸들러
현재시각
타이머
실행 지연하기
11장 메모리 관리
페이지
영역
페이지 얻기
kmalloc()
vmalloc()
슬랩 레이어
슬랩 할당자 인터페이스
스택에 정적으로 할당하기
상위 메모리 매핑
CPU별 할당
새로운 percpu 인터페이스
CPU별 데이터를 사용하는 이유
어떤 할당 방법을 사용해야 하는가
12장 가상 파일시스템
공통 파일시스템 인터페이스
파일시스템 추상화 레이어
유닉스 파일시스템
VFS 객체와 그 자료구조
슈퍼블록 객체
Inode 객체
덴트리 객체
파일 객체
파일시스템과 관련된 자료구조
프로세스와 연관된 자료구조
리눅스의 파일시스템
13장 블록 I/O 레이어
블록 디바이스에 대한 이해
버퍼와 버퍼헤드
bio 구조체
요청 큐
I/O 스케쥴러
정리하며
14장 프로세스 주소 공간
메모리 서술자
메모리 영역
메모리 영역 다루기
mmap() 과 do_mmap(): 주소공간 생성
munmap() 과 do_munmap(): 주소 공간의 제거
페이지 테이블
15장 페이지 캐시와 페이지 라이트백
페이지 캐시
래딕스 트리
버퍼 캐시
pdflush 데몬
16장 모듈(Module)
모듈 빌드하기
모듈 설치하기
모듈 종속성 생성하기
모듈 로드하기
설정 옵션 관리하기
모듈 매개변수
익스포트된 심볼들
모듈을 정리하며
17장 kobject와 sysfs
kobject
ktype
kset
하위시스템
혼동되는 구조체들
kobject의 조작 및 관리
참조 카운트
sysfs
커널 이벤트 레이어
kobject와 sysfs를 마치며
18장 디버깅
먼저 시작해야 하는 것
커널에서의 버그
printk()
Oops
커널 디버깅 옵션
버그 유발과 정보 덤프
Magic SysRq 키
커널 디버거 이야기
시스템을 여러 각도에서 조사하기
범행을 저지른 변경을 찾기 위한 이진 탐색
모든 시도가 실패한 경우 : 커뮤니티
19장 이식성
리눅스 : 이식성의 역사
워드 크기와 자료형
데이터 정렬
바이트 순서
시간
페이지 크기
프로세서 오더링
SMP, 커널 선점, 상위 메모리
20장 패치, 해킹, 그리고 공동체
공동체
리눅스 코딩 스타일
명령 체계
버그 리포트 제출하기
패치 생성하기
패치 제출하기
부록A 연결 리스트
환형 연결 리스트
리눅스 커널에서의 구현
연결 리스트 조작
연결 리스트 순회하기
부록B 커널 랜덤 숫자 발생기
디자인과 구현
엔트로피 입력 인터페이스
엔트로피 출력 인터페이스
부록C 알고리즘 복잡도
알고리즘
빅 O 표기법
빅 세타 표기법
모든 것을 모아 보자
시간 복잡도의 위험성
참고문헌과 추천도서