2011-02-23 3 views
66

나는이 목적으로 두 권의 책을 가지고있다 : 리눅스 커널 개발 Robert Love와 O'Reilly의 리눅스 커널 이해. 이 책을 읽기 시작했고 Linux 용 최신 소스 코드를 다운로드했습니다.리눅스 커널 프로그래밍, 코딩 또는 읽기 학습을 시작하는 방법은 무엇입니까?

이제 여기부터 끝까지이 책을 읽어야할까요 아니면 코드를 살펴 봐야할까요 ... 그리고 코딩을 시작해야한다면 어디서부터 시작해야할까요? 코드를 이해하기 가장 좋은 곳은 혼란스러워하는 디렉토리와 파일이 너무 많습니다. 나는 또한 내가 Operating Systems에서 강의를했다는 것을 덧붙일 수 있으며, 나는 그 개념에 상당히 익숙하다 ... 더 나아가 나를 도울 수있는 제안을 해주시기 바랍니다. 또한 커널 프로그래밍을 시작한 방법을 알려주십시오. 미리 감사드립니다 ...

+4

"코드를 이해하기 시작하는 가장 좋은 장소입니다있는 나는이 혼란 스러워요 많은 디렉토리와 파일이있다"

또한, 여기 개발자를 필요로 커널 프로젝트에 대한 좋은 소스를 찾을 수 있습니다. 힌트를 가져라. 더 많은 독서를하십시오. –

+0

Robert Love의 책은 절대적으로 최고입니다. 따라하기 쉽고, 이해할 수 있으며, 이론과 구현에 초점을 맞추고 읽을 수있는 기쁜 스타일 인 아주 좋은 스타일을 가지고 있습니다. – ldx

+1

http://stackoverflow.com/a/27782191/220386 –

답변

28

학습을 시작하기 위해 정말 좋은 두 권의 책을 골랐습니다. 우선, 나는 책을 끝내고 가능한 한 가장 좋은 예를 따라 가려고한다.

필자는 개인적으로 대학에서 임베디드 디바이스 용 Linux 디바이스 드라이버 (많은 아날로그 및 디지털 획득 카드)를 작성한 후 커널 코드를 사용하여 깊은 지식을 얻는 방법을 배웠다. 나는 이전에 경험 한 바가 없으며 언급 한 두 권의 책은 저를 올바른 방향으로 시작하게하는데 엄청난 도움을주었습니다.

내 질문에 당신은 왜 리눅스 커널 프로그래밍을 배우고 싶습니까? 이렇게하면 참여할 수있는 오픈 소스 프로젝트를 제안하는 데 도움이 될 수 있습니다.http://kernelnewbies.org/KernelProjects

+5

커널 프로그래밍을 배우고 싶습니다. 저는 운영체제 이론을 좋아합니다. 코드가 어떻게 구현되는지 배우고 싶습니다. 이것은 순전히 관심 밖입니다. 나는 지난 학기에 약간의 디바이스 드라이버 프로그래밍을 배웠고, 그걸 매우 중개했다. 또한 C 프로그래밍과 어셈블리를 좋아합니다. – pflz

+1

일반적인 관심사는 훌륭하지만 코딩 측면에서 좋은 출발점을 제안하는 것은 어렵습니다. 내가 제공 한 링크를 확인하고 하위 난이도 프로젝트 중 하나를 선택하거나'KernelJanitor' 작업 중 일부를 시작하십시오. http://kernelnewbies.org/KernelJanitors –

0

리눅스 커널 개발에 관한 책을 검색하고 책을 검색하는 것이 좋습니다. 시작하려면 최신 기술을 설명하는 책을 가지고있는 것이 중요하지 않습니다. 대신 책은 프로그래밍 기술과 일치해야합니다.

기술 기사에서 새로운 기술을 설명하는 Linux (온라인) 잡지의 두 번째 모습입니다.

2

답변이 매우 어려운 질문입니다.

당신은 무엇입니까 (나중에) 코딩하고 싶습니다. 아마도 우리는 거기에서 갈 수 있습니다.

내 시작과 유일한 경험은 몇 가지 LED와 버튼으로 가젯을위한 간단한 USB 드라이버를 작성하는 것이 었습니다.

Linux Magazine이나 이와 비슷한 장치에서 이러한 장치의 드라이버 코딩에 대한 멋진 기사를 읽었습니다.

http://www.kernel.org/doc/htmldocs/gadget.html에는 멋진 (구식?) 정보가 있습니다!

불행히도 나는 오래 전부터 코드와 노트북을 모두 잃어 버렸습니다.