Top

개발자를 위한 리눅스의 완성 세트

  • 지은이마이클 커리스크, 로버트 러브, 스리크슈난 벤카테스와란, 스티브 베스트
  • ISBN : 9788960773929
  • 165,000원
  • 2013년 01월 30일 펴냄 (절판)
  • 페이퍼백 | 3,876쪽 | 188*255mm
  • 시리즈 : 오픈소스 프로그래밍

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

[ 세트 구성: 전5권 ]

1) 『리눅스 API의 모든 것 Vol. 1 기초 리눅스 API: 파일, 메모리, 프로세스, 시그널, 타이머』
2) 『리눅스 API의 모든 것 Vol. 2 고급 리눅스 API: 스레드, IPC, 소켓, 고급 I/O』
3) 『(개정 3판) 리눅스 커널 심층 분석』
4) 『코드로 읽는 리눅스 디바이스 드라이버: 임베디드 개발자를 위한』
5) 『리눅스 디버깅과 성능 튜닝: 오픈소스 도구를 사용한 문제 진단 분석과 해결』


『리눅스 API의 모든 것』

리눅스와 유닉스 시스템 프로그래밍 인터페이스를 빠짐없이 다룬 최고의 안내서!

『리눅스 API의 모든 것』은 리눅스와 유닉스 프로그래밍 인터페이스(리눅스나 유닉스 시스템에서 동작하는 거의 모든 응용 프로그램이 사용하는 인터페이스)을 위한 최고의 안내서다.

리눅스 프로그래밍 전문가 마이클 커리스크는 이 권위 있는 책에서, 시스템 프로그래밍 기술을 마스터하는 데 필요한 시스템 호출과 라이브러리 함수를 자세히 설명하며, 이에 덧붙여 명확하고 완전한 예제 프로그램을 제공한다.

이 책에서는 1권과 2권 통틀어 500개가 넘는 시스템 호출과 라이브러리 함수, 200개가 넘는 예제 프로그램, 88개의 표, 115개의 다이어그램에 대한 설명이 들어 있으며, 다음과 같은 내용을 설명한다.

■ 파일을 효율적으로 읽고 쓰기
■ 시그널, 클록, 타이머 사용법
■ 프로세스를 만들고 프로그램 실행하기
■ 안전한 프로그램 작성법
■ 공유 라이브러리 만들고 사용하기
■ POSIX 스레드를 이용한 멀티스레드 프로그램 작성법
■ 파이프, 메시지 큐, 공유 메모리, 세마포어를 이용한 프로세스 간 통신
■ 소켓 API를 이용한 네트워크 프로그램 작성법

『리눅스 API의 모든 것』이 epoll, inotify, /proc 파일 시스템 등 수많은 리눅스 고유 기능을 다루지만, 유닉스 표준(POSIX.1-2001/SUSv3와 POSIX.1-2008/SUSv4)을 강조하기 때문에 여타 유닉스 플랫폼에서 작업하는 프로그래머들에게도 마찬가지로 가치가 크다.

『리눅스 API의 모든 것』은 리눅스와 유닉스 프로그래밍 인터페이스를 다룬 가장 포괄적인 책이며, 새로운 고전이 되리라 믿어 의심치 않는다.


『(개정 3판) 리눅스 커널 심층 분석』

이 책은 리눅스 커널의 핵심을 간결하면서도 심도있게 다루고 있다. 일반적인 운영체제에 대한 이해를 넘어, 여타 유닉스 시스템과 다른 리눅스만의 특징적인 부분에 대한 설계, 구현, 인터페이스 등을 이론과 실제 사이에서 균형감 있게 소개한다. 구체적으로 운영체제의 기본적인 기능인 프로세스 관리, 시스템 호출, 인터럽트 처리, 동기화, 메모리 관리, 파일 시스템, 이식성에 대한 내용 뿐 아니라, 최신 2.6 커널의 흥미로운 부분인 CFS 스케줄러, 커널 선점, 블럭 입출력 계층, 입출력 스케줄러 등의 내용을 상세히 다룬다.

개정 3판에서 달라진 내용
■ 커널 자료 구조를 별도 장으로 새로 추가
■ 인터럽트 핸들러와 후반부 처리에 대한 자세한 내용
■ 커널 동기화 및 잠금에 대한 깊이 있는 설명
■ 가상 메모리와 메모리 할당에 대한 설명 보강
■ 리눅스 커널 디버깅 시 도움이 되는 기법
■ 커널 패치를 제출할 때 유용한 노하우와 리눅스 커널 공동체와 함께 일하는 방법


『코드로 읽는 리눅스 디바이스 드라이버』

x86과 임베디드 CPU를 모두 아우르며, 리눅스에서 지원하는 거의 모든 디바이스 유형을 설명하고, 원시 코드 수준에서 실제 예제를 보여준다. 또한 디바이스 드라이버 개발 절차와 방법을 자세히 설명하며 커널 내부 동작 방식과 구성을 디바이스 드라이버 개발자 관점으로 바라보게 만드는 리눅스 디바이스 드라이버 개발자를 위한 실전 바이블

이 책에서 다루는 내용
■ 기존 책에서 다루지 않는 I2C, 비디오, 사운드, PCMCIA, 다양한 플래시 메모리 같은 드라이버
■ 리눅스 커널 스레드와 도우미 인터페이스를 비롯한 핵심 커널 서비스와 기능
■ 폴링, 비동기식 통지, 입출력 제어 설명
■ 임베디드 리눅스 드라이버용 I2C 프로토콜
■ 리눅스 비디오 하위시스템과 리눅스 오디오 프레임워크를 사용한 멀티미디어 디바이스 드라이버
■ 블루투스, 적외선, 와이파이, 셀룰러 네트워크 같은 무선 기술을 지원하기 위한 리눅스 구현 방식
■ 디버깅과 유지 보수 과정 등 전반적인 드라이버 개발 생명주기
■ 부록에서 다루는 리눅스 어셈블리어, 바이오스 호출, Seq 파일


『리눅스 디버깅과 성능 튜닝』

커널과 응용 프로그램 모두에 적용할 수 있는 리눅스 소프트웨어 디버깅과 성능 최적화를 다루는 리눅스 문제해결 실전서의 결정판!
리눅스 커널과 응용 프로그램 생산성을 극대화하려는 모든 개발자는 물론이고, 리눅스 안정성과 성능 문제를 해결해야 하는 시스템 관리자와 지원 전문가를 위한 필독서!

이 책은 커널과 응용 프로그램 모두에 적용할 수 있는 리눅스 소프트웨어 디버깅과 성능 최적화를 다루는 결정판이다. 리눅스 코드 예제를 광범위하게 사용함으로써, 버그가 없고 튜닝이 제대로 된 코드를 만들기 위해 오픈소스 도구와 우수 개발기법을 체계적으로 소개한다.
IBM에서 보여준 뛰어난 리눅스 시스템 최적화 경험을 토대로 저자는 메모리 관리와 I/O에서 시작해 시스템 프로세스와 커널 버그 메시지에 이르기까지 다양한 분야에 걸친 실전 기법을 소개한다. 실제 디버깅 세션을 통해 가장 복잡한 응용 프로그램과 커널 관련 문제점을 디버깅하기 위한 저자의 전문가적인 노력을 느낄 수 있다. 이 책을 통해 더 빨리 병목을 찾아서 해결하기 위한 복잡한 프로파일링 기법을 익히고, 문제가 발생했을 때 올바른 자료를 찾아내는 방법을 터득하게 될 것이다.

이 책에서 다루는 내용
■ 병목 파악 * syslog와 사건 기록
■ 코드 커버리지 * 실행 추적
■ 디버거: gdb, kgdb, KDB * 커널 동작 프로파일
■ 메모리 관리 * 캐시 실패
■ /proc 커널 자료 분석 * 사용자 모드 리눅스
■ 시스템 프로세스 감시 * 동적 탐색
■ 네트워크 성능 * 충돌 덤프 분석
■ 웁스 버그 메시지

저자/역자 소개

[ 저자 소개 ]

마이클 커리스크(Michael Kerrisk) (http://man7.org/)
20년 이상 유닉스 시스템을 사용하고 프로그래밍을 했으며, 유닉스 시스템 프로그램을 주제로 한 많은 강의 경험이 있다. 2004년부터 리눅스 커널과 glibc 프로그래밍 API를 설명하는 매뉴얼 페이지 프로젝트를 관리했다. 250개가 넘는 매뉴얼 페이지를 작성했거나 공동 작성했고, 새로운 리눅스 커널/사용자 공간 인터페이스의 테스트와 설계 리뷰에 활발히 참여하고 있다. 마이클은 독일의 뮌헨에서 가족과 함께 살고 있다.

로버트 러브(Rovert Love)
오픈 소스 개발자, 강연자, 저자로 15년 이상 리눅스를 사용하면서 리눅스 발전에 기여했다. 로버트는 현재 구글의 선임 소프트웨어 엔지니어로 일하며, 안드로이드 모바일 플랫폼을 개발한 팀에 속해 있다. 구글 이전에는 노벨(Novell) 사에서 리눅스 데스크탑 책임 설계자를 맡았다. 노벨 사 이전에는 몬타비스타 소프트웨어(MontaVista Software)와 지미안(Ximian)에서 커널 엔지니어로 일했다.
로버트는 선점형 커널, 프로세스 스케줄러, 커널 이벤트 계층, inotify, 가상 메모리 개선, 디바이스 드라이버 개발 등의 커널 프로젝트에 참가했다.
로버트는 리눅스 커널에 대해 수많은 강연을 했으며, 리눅스 커널에 대한 글도 여러 편 썼다. <리눅스 저널(Linux Journal)>의 편집 기자이기도 한 로버트의 다른 책으로는 『Linux System Programming』, 『Linux in a Nutshell』 등이 있다.
로버트는 플로리다 대학에서 수학학사와 전산학사 학위를 받았으며, 현재 보스턴에서 살고 있다.

스리크슈난 벤카테스와란(Sreekrishnan Venkateswaran)
인도 칸푸르에 있는 인도 공과 대학에서 전산 석사를 받았다. 지난 12년 동안 IBM에서 근무하면서 리눅스를 손목시계, 핸드헬드 장치, 음악 재생기, VoIP 전화기, 심장 박동기, 원격 환자 감시 시스템 같은 다양한 임베디드 장치에 이식했다. 스리크슈난은 2년 넘게 리눅스 매거진 객원 편집자이자 커널 컬럼니스트로 활동했다. 현재 IBM 인도에서 임베디드 솔루션 그룹을 관리하고 있다.

스티브 베스트(Steve Best)
스티브 베스트는 텍사스 주 오스틴에 있는 IBM의 리눅스 기술 센터(Linux Technology Center)에서 근무하고 있다. 스티브는 현재 리눅스 스토리지 관련 제품을 개발 중이며, 리눅스용 저널링 파일 시스템인 JFS(Journaled File System) 프로젝트를 이끌었다. 1999년 이후로 여러 리눅스 관련 프로젝트에 참여했으며, 파일 시스템, 국제화, 보안에 초점을 두고 운영체제 개발에 동참해왔다. 그는 수많은 잡지 기사와 발표자료의 저자이며, Performance Tuning Linux Servers(Prentice Hall PTR 2005)에서 파일 시스템 챕터를 저술하기도 했다.


[ 옮긴이 소개 ]

김기주
포항공과대학교 컴퓨터공학과와 동 대학원을 졸업한 뒤 지금은 임베디드 소프트웨어를 개발하고 있다. MHP와 JavaFX TV 개발에 참여했으며, '자바원'과 '한국 자바 개발자 컨퍼런스', '썬 테크 데이' 등에서 디지털 TV와 Java ME를 소개하기도 했다. 역서로는 『임베디드 프로그래밍 입문: C와 어셈블리로 확실히 배우는』(에이콘출판, 2006)과 『실시간 UML: 임베디드 시스템에서 활용하는』(에이콘출판, 2008)이 있다.

김영주
건국대학교를 졸업한 뒤 공채 2기로 한글과컴퓨터에 입사해, 한컴고객지원센터장을 역임하고, 한컴오피스, Anti-Virus, 통합보안 등의 마케팅을 담당했다. 지금은 보안 소프트웨어 업체에서 Business Development & Marketing을 하고 있다. 「마이크로소프트웨어」, 「PCPLUS」 같은 컴퓨터월간지에서 필자로 활동했으며, 저서로는 한컴고객지원센터센터 공동 저술한 『따라해보세요, 한글 815 특별판』(한컴프레스, 1998)이 있다.

우정은
인하대학교 컴퓨터공학과를 졸업하고 현재 오라클 한국 사무실에서 Java Licensee Engineer로 근무하고 있다. 모바일 기기에 사용되는 자바 가상 머신 플랫폼과 관련된 업무를 주로 하고 있으며, 아이폰과 iOS가 출시된 이후로 다양한 원서 번역과 프로그램 개발을 즐기고 있다. 『iPhone advanced Projects』(한빛미디어, 2010), 『iPhone Programming 제대로 배우기』(한빛미디어, 2010), 『대규모 웹 개발』(한빛미디어, 2011), 『엔터프라이즈 아이폰 & 아이패드 관리자 가이드』(위키북스, 2011)의 역자이기도 하다.

지영민
고려대학교 통신시스템 석사를 졸업하고 모토로라와 삼성 SDS에서 사물 인터넷관련 연구를 진행했다. 책을 마무리 하던 시점은 삼성 SDS에 근무하고 있었으나 지금은 전자부품연구원으로 자리를 옮겨 초지일관 사물 인터넷 확산에 노력하고 있다.

채원석
포항공과대학교 컴퓨터공학과와 동 대학원을 졸업한 후 미국 시카고의 TTIC에서 프로그래밍 언어 전공으로 박사 학위를 받았다. 현재 마이크로소프트 사에서 컴파일러를 개발하고 있다. 『실시간 UML: 임베디드 시스템에서 활용하는』(에이콘출판, 2008)을 공동 번역했다.

황진호
IT 경력은 미국에서 시작됐다. 국내에서 석사 과정을 마치고 1년여 동안 미국의 연구기관에서 방문 연구원으로 재직했다. 미국에서 유명 통신회사의 시스템을 연구/개발하는 몇 가지 프로젝트를 마무리하고, 한국으로 돌아와 포스코 ICT에서 통신 시스템 소프트웨어 개발자로 3년 동안 근무했다. 현재는 미국의 조지 워싱턴 대학교의 컴퓨터 사이언스 학과에서 박사 과정을 밟는 중이며 클라우드 컴퓨팅과 빅 데이터에 관한 연구를 진행 중이다. 『Learning PHP, MySQL & JavaScript 한국어판』(에이콘출판, 2011), 『Creating iOS 5 Apps Develop and Design 한국어판』(에이콘출판, 2012)의 역자이기도 하다.

황정동
서울대학교에서 전산학과 물리학을 전공했다. 졸업 후 네오위즈에 입사해 시스템 프로그래밍, 시스템 및 네트워크 운영 등의 업무를 거치면서 수천 대 규모의 리눅스 시스템과 네트워크를 관리하고 설계했다. 이후 검색전문 회사 첫눈에서 웹로봇을 개발했으며, NHN 검색센터에서 상당 기간 언어처리 관련 라이브러리 개발 업무를 담당했다. 현재는 (주)퓨쳐스트림네트웍스에서 수석연구원으로 일하고 있다.

박재호
포항공과대학교 컴퓨터공학과 학부와 컴퓨터공학과 대학원을 졸업했다. 블로그 ‘컴퓨터 vs 책(http://jhrogue.blogspot.com)’을 운영 중이다. 리눅스와 관련해 지은 책으로는 『IT EXPERT, 임베디드 리눅스』, 『열씨미와 게을러의 리눅스 개발 노하우 탐험기』, 옮긴 책으로는 『리눅스 디바이스 드라이버』, 『리눅스 문제 분석과 해결』, 『리눅스 디버깅과 성능 튜닝』, 『리눅스 시스템 프로그래밍』 등이 있다.

이해영
포항공과대학교 컴퓨터공학과 학부와 퍼듀대학교 전자계산학과 대학원을 졸업했다. 현재 프리랜서 번역가 겸 영어 강사로 일하며, 틈나는 대로 좋은 칼럼과 기사를 번역해 www.haeyounglee.com에 올린다. 옮긴 책으로는 『조엘 온 소프트웨어』(에이콘출판사, 2005년), 『The Art of Project Management: 마음을 움직이는 프로젝트 관리』(한빛미디어, 2006년), 『초난감 기업의 조건』(에이콘출판사, 2007년), 『소프트웨어 컨플릭트 2.0』(위키북스, 2007년), 『소프트웨어 크리에이티비티 2.0』(위키북스, 2009년), 『HARD CODE: 나잘난 박사의 IT 정글 서바이벌 가이드』(에이콘출판사, 2009년), 『프로젝트가 서쪽으로 간 까닭은』(인사이트, 2009년), 『Clean Code 클린 코드: 애자일 소프트웨어 장인 정신』(케이앤피북스, 2010년) 등이 있다.

목차

목차
  • 『리눅스 API의 모든 것 Vol. 1 기초 리눅스 API』
  • 1장 역사와 표준
  • 2장 기본 개념
  • 3장 시스템 프로그래밍 개념
  • 4장 파일 I/O: 범용 I/O 모델
  • 5장 파일 I/O: 더 자세히
  • 6장 프로세스
  • 7장 메모리 할당
  • 8장 사용자와 그룹
  • 9장 프로세스 자격증명
  • 10장 시간
  • 11장 시스템 한도와 옵션
  • 12장 시스템과 프로세스 정보
  • 13장 파일 I/O 버퍼링
  • 14장 파일 시스템
  • 15장 파일 속성
  • 16장 확장 속성
  • 17장 ACL
  • 18장 디렉토리와 링크
  • 19장 파일 이벤트 감시
  • 20장 시그널: 기본 개념
  • 21장 시그널: 시그널 핸들러
  • 22장 시그널: 고급 기능
  • 23장 타이머와 수면
  • 24장 프로세스 생성
  • 25장 프로세스 종료
  • 26장 자식 프로세스 감시
  • 27장 프로그램 실행
  • 28장 더 자세히 살펴보는 프로세스 생성과 프로그램 실행
  • 29장 프로세스 그룹, 세션, 작업 제어
  • 30장 프로세스 우선순위와 스케줄링
  • 31장 프로세스 자원
  • 32장 데몬
  • 33장 안전한 특권 프로그램 작성
  • 34장 능력
  • 35장 로그인 계정
  • 36장 공유 라이브러리 기초
  • 37장 공유 라이브러리의 고급 기능
  • 부록

  • 『리눅스 API의 모든 것 Vol. 2 고급 리눅스 API』
  • 1장 스레드: 소개
  • 2장 스레드: 스레드 동기화
  • 3장 스레드: 스레드 안전성과 스레드별 저장소
  • 4장 스레드: 스레드 취소
  • 5장 스레드: 기타 세부사항
  • 6장 프로세스 간 통신 개요
  • 7장 파이프와 FIFO
  • 8장 시스템 V IPC 소개
  • 9장 시스템 V 메시지 큐
  • 10장 시스템 V 세마포어
  • 11장 시스템 V 공유 메모리
  • 12장 메모리 매핑
  • 13장 가상 메모리 동작
  • 14장 POSIX IPC 소개
  • 15장 POSIX 메시지 큐
  • 16장 POSIX 세마포어
  • 17장 POSIX 공유 메모리
  • 18장 파일 잠금
  • 19장 소켓: 소개
  • 20장 소켓: 유닉스 도메인
  • 21장 소켓: TCP/IP 네트워크 기초
  • 22장 소켓: 인터넷 도메인
  • 23장 소켓: 서버 설계
  • 24장 소켓: 고급 옵션
  • 25장 터미널
  • 26장 대체 I/O 모델
  • 27장 가상 터미널
  • 부록 A 연습문제 해답
  • 『(개정 3판) 리눅스 커널 심층 분석』
  • 1장 리눅스 커널 입문
  • 2장 커널과의 첫 만남
  • 3장 프로세스 관리
  • 4장 프로세스 스케줄링
  • 5장 시스템 호출
  • 6장 커널 자료 구조
  • 7장 인터럽트와 인터럽트 핸들러
  • 8장 후반부 처리와 지연된 작업
  • 9장 커널 동기화 개요
  • 10장 커널 동기화 방법
  • 11장 타이머와 시간 관리
  • 12장 메모리 관리
  • 13장 가상 파일시스템
  • 14장 블록 입출력 계층
  • 15장 프로세스 주소 공간
  • 16장 페이지 캐시와 페이지 지연 기록
  • 17장 장치와 모듈
  • 18장 디버깅
  • 19장 이식성
  • 20장 패치, 해킹, 공동체

  • 『코드로 읽는 리눅스 디바이스 드라이버』
  • 1장 소개
  • 2장 커널 내부 탐험
  • 3장 커널 기능
  • 4장 기반 다지기
  • 5장 문자 드라이버
  • 6장 직렬 드라이버
  • 7장 입력 드라이버
  • 8장 I2C 프로토콜
  • 9장 PCMCIA와 CF
  • 10장 PCI
  • 11장 USB
  • 12장 비디오 드라이버
  • 13장 오디오 드라이버
  • 14장 블록 드라이버
  • 15장 네트워크 인터페이스 카드
  • 16장 무선 리눅스
  • 17장 MTD
  • 18장 임베디드 리눅스
  • 19장 사용자 영역 드라이버
  • 20장 기타 디바이스와 드라이버
  • 21장 디바이스 드라이버 디버깅
  • 22장 유지 보수와 배포
  • 23장 시스템 종료
  • 부록 A 리눅스 어셈블리어
  • 부록 B 리눅스와 바이오스
  • 부록 C seq 파일

  • 『리눅스 디버깅과 성능 튜닝』
  • 1장. 프로파일링
  • 2장. 코드 커버리지
  • 3장. GNU 디버거
  • 4장. 메모리 관리 디버깅
  • 5장. 시스템 정보
  • 6장. 시스템 도구
  • 7장. 시스템 오류 메시지
  • 8장. 이벤트 로그
  • 9장. LTT
  • 10장. 커널이 지원하는 프로파일러 oprofile
  • 11장. UML
  • 12장. 동적 프로브
  • 13장. 커널 디버거

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안