이미 소장하고 있다면 판매해 보세요.
|
1장 리눅스 커널
리눅스의 개발 운영체제와 커널 리눅스 커널과 전통적인 유닉스 커널 리눅스 커널 버전 리눅스 커널 개발 커뮤니티 시작하기 전에 2장 커널과의 첫 만남 커널 소스 구하기 커널 소스 트리 커널 빌드하기 다른 성질의 야수 이제 여기까지 왔다 3장 프로세스 관리 프로세스 서술자와 태스크 구조체 프로세스 생성 리눅스의 스레드 구현 프로세스 종료 35 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 표기법 빅 세타 표기법 모든 것을 모아 보자 시간 복잡도의 위험성 참고문헌과 추천도서 |