이미 소장하고 있다면 판매해 보세요.
|
『리눅스 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 연습문제 해답 |
|
이 책은 리눅스 프로그래밍 인터페이스를 설명한다. 리눅스는 무료로 사용할 수 있는 유닉스 운영체제로서, 리눅스 프로그래밍 인터페이스에는 리눅스가 제공하는 시스템 호출, 라이브러리 함수, 기타 저수준 인터페이스가 포함된다. 리눅스에서 실행되는 모든 프로그램이 이 인터페이스를 직간접적으로 사용한다. 응용프로그램은 이 인터페이스를 사용해 파일 I/O, 파일이나 디렉토리 생성/삭제, 새 프로세스 생성, 프로그램 실행, 타이머 설정, 같은 컴퓨터 안의 프로세스와 스레드 간 통신, 네트워크로 연결된 각기 다른 컴퓨터에 존재하는 프로세스 간의 통신 등을 할 수 있다. 이 저수준 인터페이스를 시스템 프로그래밍(system programming) 인터페이스라고도 한다.
이 책은 주로 리눅스에 초점을 맞췄지만, 표준과 이식성 이슈도 소홀히 다루지 않았고, 리눅스 고유사항에 대한 논의와, 대부분의 유닉스 구현에서 공통적이고 POSIX와 단일 유닉스 명세(Single UNIX Specification)에 의해 표준화된 사항에 대한 논의를 분명히 구별했다. 따라서 이 책은 유닉스/POSIX 프로그래밍 인터페이스도 광범위하게 기술했고, 여타 유닉스 시스템을 대상으로 응용 프로그램을 작성하거나 여러 시스템에 이식할 수 있는 응용프로그램을 작성하려는 프로그래머가 활용할 수 있다. ---저자 서문 중에서 리눅스가 지배하는 세상이 됐다. 최소한, 리눅스가 도처에서 쓰이는 세상이 되었다. 데스크탑을 정복하지는 못했지만 데스크탑보다 훨씬 많은 곳에서 리눅스가 쓰인다. 보이지 않는 곳에서 인터넷을 움직이는 서버와, 매일 들고 다니는 핸드폰과 태블릿, 자동차마다 달려 있는 내비게이션과 블랙박스, 아침에 일어나자마자, 그리고 퇴근해서 집에 오면 무심코 켜는 TV, 셋톱박스, 블루레이 플레이어, 냉장고, 인터넷 공유기, 프린터, 가정용 파일 서버 등이 리눅스로 구동된다. 『리눅스 API의 모든 것』은 리눅스에서 프로그램을 작성할 때 사용하는 시스템 호출과 라이브러리 함수를 설명한 책이다. 서버에서 동작하는 리눅스용 프로그램을 작성하는 사람들에게 좋은 참고서가 될 것이고, 역자처럼 임베디드 시스템용 프로그램을 작성하는 사람들의 경우, 임베디드 리눅스에서는 서버에서 제공되는 모든 기능을 사용할 수는 없겠지만, 많은 부분이 겹칠 것이고 활용할 수 있으리라 믿는다. 채원석 님의 제안대로 구글 닥스를 사용해 용어집을 공유하고, 번역 뒤 리뷰를 해서 문체를 다듬기는 했지만 여러 역자가 함께 작업하다 보니 문체라든지 용어 등이 약간씩 차이가 날 수 있는 점 양해 부탁드린다. 엄청난 두께의 책을 저술하고, 역자의 질문에 바로 답해준 저자의 열정에 경의를 표한다. 원서의 양이 매우 방대하고 번역 과정에서 두께가 더 두꺼워지는 바람에 저자와의 협의 끝에 두 권으로 나누어 출간하게 되었다. 1권은 기초 리눅스 API 편으로, 리눅스 프로그래밍에서 흔히 쓰이는 파일, 메모리, 사용자, 프로세스, 시간, 시그널, 타이머, 라이브러리 사용법과 작성법 등을 설명하고, 2권은 고급 리눅스 API 편으로, 좀더 세련되고 복잡한 리눅스 프로그램을 만들 때 사용되는 스레드, IPC, 소켓, 고급 I/O 등을 설명한다. 이 책은 예제가 많아 리눅스 프로그래밍을 배우고자 하는 사람들도 쉽게 따라 하면서 배울 수 있으리라 생각한다. 숙련된 프로그래머의 경우에는 인덱스를 활용해 참고서로 사용할 수 있을 것이다. 비록 두 권으로 나뉘었지만, 인덱스에는 1권과 2권에 나오는 모든 용어를 담고, 각 용어가 어느 권에 나오는지 명시했으므로, 용어를 찾는 데 어려움이 없으리라 믿는다. 리눅스는 항상 개발 중이며, 최근에는 커널 3.3이 발표되었다. 책이 출판된 뒤에 바뀐 내용에 대해서도 저자가 자신의 사이트에서 정오표(지은이의 말 참조)를 통해 안내하고 있으므로, 참고하면 도움이 될 것이다. - 대표 역자 김기주 ---옮긴이의 말 중에서 |
|
리눅스와 유닉스 시스템 프로그래밍 인터페이스를 빠짐없이 다룬 최고의 안내서!
『리눅스 API의 모든 것』은 리눅스와 유닉스 프로그래밍 인터페이스(리눅스나 유닉스 시스템에서 동작하는 거의 모든 응용 프로그램이 사용하는 인터페이스)을 위한 최고의 안내서다. 리눅스 프로그래밍 전문가 마이클 커리스크는 이 권위 있는 책에서, 시스템 프로그래밍 기술을 마스터하는 데 필요한 시스템 호출과 라이브러리 함수를 자세히 설명하며, 이에 덧붙여 명확하고 완전한 예제 프로그램을 제공한다. 이 책에서는 1권과 2권 통틀어 500개가 넘는 시스템 호출과 라이브러리 함수, 200개가 넘는 예제 프로그램, 88개의 표, 115개의 다이어그램에 대한 설명이 들어 있으며, 1권에서는 다음과 같은 내용을 설명한다. ■ 파일을 효율적으로 읽고 쓰기 ■ 시그널, 클록, 타이머 사용법 ■ 프로세스를 만들고 프로그램 실행하기 ■ 안전한 프로그램 작성법 ■ 공유 라이브러리 만들고 사용하기 ■ POSIX 스레드를 이용한 멀티스레드 프로그램 작성법 ■ 파이프, 메시지 큐, 공유 메모리, 세마포어를 이용한 프로세스 간 통신 ■ 소켓 API를 이용한 네트워크 프로그램 작성법 『리눅스 API의 모든 것』이 epoll, inotify, /proc 파일 시스템 등 수많은 리눅스 고유 기능을 다루지만, 유닉스 표준(POSIX.1-2001/SUSv3와 POSIX.1-2008/SUSv4)을 강조하기 때문에 여타 유닉스 플랫폼에서 작업하는 프로그래머들에게도 마찬가지로 가치가 크다. 『리눅스 API의 모든 것』은 리눅스와 유닉스 프로그래밍 인터페이스를 다룬 가장 포괄적인 책이며, 새로운 고전이 되리라 믿어 의심치 않는다. ★ 이 책의 대상 독자 ★ ● 리눅스나 기타 유닉스, 기타 POSIX 호환 시스템용 응응 프로그램을 작성하는 프로그래머와 소프트웨어 설계자 ● 리눅스와 기타 유닉스 구현 간이나 리눅스와 기타 운영체제 간에 응용 프로그램을 이식하는 프로그래머 ● 리눅스/유닉스 프로그래밍 인터페이스와, 시스템 소프트웨어의 다양한 부분이 어떻게 구현됐는지를 좀 더 잘 이해하고자 하는 시스템 관리자와 ‘파워 유저’ |