지난 4 년간 * nix 환경에서 응용 프로그램 개발자 (대부분 C)로 일했습니다.
* nix 내부 지식을 향상시키기 위해 서적 / 블로그 등을 제안하십시오.
지난 4 년간 * nix 환경에서 응용 프로그램 개발자 (대부분 C)로 일했습니다.
* nix 내부 지식을 향상시키기 위해 서적 / 블로그 등을 제안하십시오.
답변:
다음은 이전 게시물에서 수행 된 훌륭한 권장 사항 외에도 Unix의 "정신"을 이해하는 방법에 대한 제안입니다.
Kernighan과 Pike의 "Unix Programming Environment": 오래된 책이지만 Unix 환경의 본질을 보여줍니다. 또한 효과적인 쉘 사용자가되는 데 도움이됩니다.
"참을성이없는 유닉스"는 유닉스 환경을 탐색하는 방법을 배우는 데 유용한 자료입니다. 내가 좋아하는 것 중 하나.
파워 유저가되고 싶다면 유닉스 전문가들의 팁과 요령으로 구성된 O'Reilly의 "Unix Power Tools"보다 더 좋은 것은 없습니다.
내가 보지 못했던 또 다른 책은 재미있는 빛과 교육 독서라는 책은 Andy Tanenbaum의 책인 "Operating Systems, Design and Implementation"입니다.이 책은 완전한 Unix 운영 체제의 소스 코드를 12k 코드 라인에 포함 시켰습니다.
Stevens의 유닉스 환경에서 고급 프로그래밍 을 읽고 싶을 것이다 . 어드밴스드 타이틀이 당신을 놀라게하지 마십시오.
자주 사용하는 서적 / 사이트 / 설명서 :
리눅스 커널 :이 책은 TLDP (Linux 문서 프로젝트)의 일부로 온라인으로 출판됩니다. 이 설명서는 최신 내용이 아니며 내부 매뉴얼이 아니지만 커널의 원리와 메커니즘에 대한 유용한 정보와 소개 자료를 제공합니다.
Linux 커널 이해 : IMHO는 운영 체제의 설계 및 개념에 대한 배경 지식이있는 초보자를위한 최고의 책입니다. 최신 버전으로 수용되며 커널 2.6 버전을 포함합니다. 웹 에는 HTML 버전 의 책이 있지만 아마도 이것이 warez라고 생각합니다.
리눅스 커널 내부를 연구 할 때, 일반적으로 하드웨어 작동 방식과 하드웨어가 추상적 인 방식으로 제공되는 것을 배워야합니다. 인텔은 이에 대한 훌륭한 매뉴얼을 가지고 있습니다.
인텔 64 및 IA-32 아키텍처 소프트웨어 개발자 매뉴얼 : 최신의 자세한 정보.
Intel 80386 Programmer 's Reference Manual : 조금 오래된 것이지만이 매뉴얼에서 많은 것을 배웠습니다.
운영 체제의 설계 및 개념에 대해 연구해야하는 경우 다음 책을 제안합니다. 운영 체제 개념 .
간단히 말해서 O'REILLY Linux 커널
및 O'REILLY Linux 장치 드라이버
Robert Love의 Linux Systems Programming 또는 기타 책 (모두 O'Reilly 책) :
나는 다른 모든 사람들에게 동의하며 Stevens의 APUE (나는 두 번째 판이 있습니다)는 고전 이라고 말해야합니다 . 또한 Eric Raymond의 The Art of UNIX Programming 이 Stevens와 함께 내 목록에 올라 있다고 덧붙이고 싶습니다 .
BSD Unices의 경우 4.4BSD 운영 체제의 설계 및 구현이 있으며, 그 일부는 현재 http://www.freebsd.org/doc/en/books/design-44bsd/ 에서 무료로 제공됩니다 .
리눅스 장치 드라이버 는 또 다른 좋은 자료입니다. 그것은 당신에게 내면의 일에 들어가는 또 다른 방법을 줄 것입니다. 서문에서 :
이 책은 표면적으로 리눅스 시스템 용 장치 드라이버 작성에 관한 책입니다. 물론 그것은 가치있는 목표입니다. 새로운 하드웨어 제품의 흐름은 곧 느려지지 않을 것이며 누군가는 새로운 가제트를 모두 Linux에서 작동하게해야 할 것입니다. 그러나이 책은 Linux 커널의 작동 방식과 작업을 사용자의 요구 또는 관심사에 맞게 조정하는 방법에 대해서도 설명합니다. 리눅스는 개방형 시스템입니다. 이 책을 통해 더 많은 개발자 커뮤니티가 더 개방적이고 접근하기를 바랍니다.
커널이 지원하는 이유와 이유를 이해하려면 Eric Raymond 의 The Art of Unix Programming 을 살펴보십시오 . 그것은 상당히 높고 철학적 인 수준에서 일을 수행하지만 다른 책의 핵심 세부 사항과 잘 어울립니다.
다음 두 권의 책을 제안 해 드리겠습니다 (다른 책 제외).
나는 첫 번째 것을 광범위하게 언급했습니다 (더 나은 기억력과 시간이 있다면 지금보다 훨씬 더 많이 알 것입니다. 그러나 그것은 또 다른 이야기입니다). 나는 현재 두 번째 것을 읽고 있습니다.