완전 초보자와 전문 프로그래머 모두를 위한 Linux 프로그래밍 학습을 위한 최고의 책이나 웹사이트는 무엇입니까? 보다 구체적인 주제, 예: a) 분기 b) 공유 메모리 c) 명령 실행 d) 신호 e) 스케줄링 알고리즘(루프, 선착순, 우선 순위 스케줄링, 짧은 작업 우선, 다중 레벨 큐 스케줄링, 다중 레벨 피드백 큐 일정)
답변1
"Advanced Linux 프로그래밍"은 무료로 제공되는 좋은 책입니다.여기
네트워크 프로그래밍 성경 ;-) :UNIX 네트워크 프로그래밍 V1
IPC 프로그래밍:유닉스 네트워크 프로그래밍 V2
강력한 매뉴얼 페이지와 Tannenbaum의 책과 같은 일부 운영 체제 서적하나또는 실속하나. 하지만 리눅스 프로그래밍 = C 프로그래밍이라 초보자라면 좋은 C 프로그래밍 책도 확인해 볼 수 있습니다.
답변2
프로그래밍에 중점을 두지는 않지만,Linux 문서화 프로젝트이 웹사이트는 20년 넘게 존재해 왔으며(Wikipedia에 따르면 최초의 온라인 Linux 웹사이트였습니다) 기본적인 "방법" 책이 많이 포함되어 있습니다. 일부 자료는 지난 세기까지 거슬러 올라가며 오늘날 적용 가능성이 제한적일 수 있지만 여전히 훌륭한 자료입니다.
앞서 언급했듯이 프로그래밍에 초점이 있는 것이 아니라 시스템 관리에 중점을 둡니다. 그럼에도 불구하고 직접 보아야 합니다. 재료가 다양하기 때문입니다. 이것GNU C 라이브러리 매뉴얼(이것은 기본적인 내용과 다르다는 점에 유의하세요.GNU C 참조 매뉴얼)은 네이티브 라이브러리의 맥락에서 몇 가지 주제를 논의합니다(fork 및 exec는 26장, Signal 24에 설명되어 있음). BSD 스타일 외부의 스레딩이나 공유 메모리는 다루지 않습니다 mmap()
. 이러한 것들은 기본 라이브러리의 일부가 아니기 때문입니다.
이것POSIX 사양주로 POSIX 호환 시스템(본질적으로 GNU/linux)의 공유 메모리와 스레드를 다루는 매뉴얼 페이지 모음(일반적으로 Linux 시스템보다 더 많은 정보 제공)입니다. 맨페이지는 제가 프로그래밍을 할 때 가장 많이 참고하는 부분일 것입니다. 그들은 항상 최고는 아니다소개하다그러나 특정 질문에 대한 구체적인 답변이 필요한 경우에는 권위 있는 법률 용어입니다. 나는 뭔가를 잘 이해하지 못하는 경우, 일반적인 주제에 대한 누군가의 장황한 설명을 읽는 것보다 충분히 구체적인 질문을 연결하는 것이 종종 더 명확하다는 것을 알았습니다.