it-swarm-ko.tech

Linux Kernel : 초보자 용 자습서

저는 개인적인 즐거움을 위해 커널 내부 수정, 패치 적용, 장치 드라이버 및 모듈 처리에 관심이 있습니다.

숙련 된 프로그래머를위한 커널 해킹에 대한 포괄적 인 자료가 있습니까?

52
Adam Matan

Linux Kernel Newbies 는 훌륭한 자료입니다.

12
Hemant

나는 Greg Kroah-Hartman의 " Linux Kernel in a Nutshell "및 Robert Love의 " Linux Kernel 이해 "를 읽는 것이 좋습니다. 읽어야합니다 :)

5
wzzrd

Linux 장치 드라이버 는 또 다른 좋은 자료입니다. 그것은 당신에게 내면의 일에 들어가는 또 다른 방법을 줄 것입니다. 서문에서 :

이것은 표면적으로 리눅스 시스템을위한 장치 드라이버 작성에 관한 책입니다. 물론 그것은 가치있는 목표입니다. 새로운 하드웨어 제품의 흐름은 곧 느려지지 않을 것이며 누군가는 새로운 가제트를 모두 Linux에서 작동하게해야 할 것입니다. 그러나이 책은 Linux 커널의 작동 방식과 작동 방식을 사용자의 요구 또는 관심에 맞게 조정하는 방법에 대해서도 설명합니다. 리눅스는 개방형 시스템입니다. 이 책을 통해 더 많은 개발자 커뮤니티가 더 개방적이고 접근하기를 바랍니다.

4
Larry Smithmier

Linux Documentation Project 를 참조하십시오. 특히 "Linux 커널 모듈 안내서".

2
wazoox

Linux Kernel 2.4 Internals 는 또 다른 온라인 리소스입니다. 부팅부터 시작하여 꽤 '접지'하는 방식으로 보입니다. TOC는 다음과 같습니다.

  1. 부팅
    • 1.1 리눅스 커널 이미지 만들기
    • 1.2 부팅 : 개요
    • 1.3 부팅 : BIOS POST
    • 1.4 부팅 : 부트 섹터 및 설정
    • 1.5 LILO를 부트 로더로 사용
    • 1.6 높은 수준의 초기화
    • 1.7 x86에서의 SMP 부팅
    • 1.8 초기화 데이터 및 코드 해제
    • 1.9 커널 명령 행 처리
  2. 프로세스 및 인터럽트 관리
    • 2.1 작업 구조 및 프로세스 테이블
    • 2.2 작업 및 커널 스레드 생성 및 종료
    • 2.3 리눅스 스케줄러
    • 2.4 리눅스 연결리스트 구현
    • 2.5 대기 큐
    • 2.6 커널 타이머
    • 2.7 바닥 반
    • 2.8 작업 대기열
    • 2.9 작업 표
    • 2.10 Softirqs
    • 2.11 i386 아키텍처에서 시스템 호출은 어떻게 구현됩니까?
    • 2.12 원자력 운영
    • 2.13 스핀 록, 읽기-쓰기 스핀 록 및 빅 리더 스핀 록
    • 2.14 세마포어 및 읽기/쓰기 세마포어
    • 2.15 모듈 로딩을위한 커널 지원
  3. 가상 파일 시스템 (VFS)
    • 3.1 아이 노드 캐시와 Dcache와의 상호 작용
    • 3.2 파일 시스템 등록/등록 취소
    • 3.3 파일 디스크립터 관리
    • 3.4 파일 구조 관리
    • 3.5 수퍼 블록 및 마운트 포인트 관리
    • 3.6 가상 파일 시스템 예 : pipefs
    • 3.7 디스크 파일 시스템 예 : BFS
    • 3.8 실행 도메인 및 이진 형식
  4. 리눅스 페이지 캐시
  5. IPC 메커니즘
    • 5.1 세마포어
    • 5.2 메시지 큐
    • 5.3 공유 메모리
    • 5.4 리눅스 IPC 기본 요소

그리고 더 달콤하게하기 위해 Robert Love out의 새로운 Linux Kernel Development Third Edition이 있으며 Slashdot에 리뷰가 있습니다.

2
Larry Smithmier

Claudia Salzberg et al.의 Linux Kernel Primer로 시작하십시오. 초보자부터 시작하는 것이 좋습니다. Robert Love의 책은 초보자가 시작해야 할 책이 ​​아닙니다. 후기 책은 중간 수준 이상입니다.

1
PaulDaviesC