리눅스 API의 모든 것 고급 리눅스 API Vol. 2 : 북윈도
리뷰 0 위시 120

리눅스 API의 모든 것 고급 리눅스 API Vol. 2 요약정보 및 구매

스레드 IPC 소켓 고급 I/O

상품 선택옵션 0 개, 추가옵션 0 개

출판사 에이콘출판
저자 마이클 커리스크
ISBN 9788960773202 (8960773204)
정가 35,000원
판매가 31,500원(10% 할인)
배송비 무료배송
포인트 정책 설명문 닫기

00포인트

포인트 정책 설명문 출력

선택된 옵션

관심상품

상품 정보

사은품
상품 기본설명
스레드 IPC 소켓 고급 I/O
상품 상세설명
리눅스와 유닉스 프로그래밍 인터페이스를 빠짐없이 다루었다!

「에이콘 오픈소스 프로그래밍 시리즈」제16권『고급 리눅스 API』. 리눅스에서 프로그램을 작성할 때 사용하는 시스템 호출과 라이브러리 함수를 설명한 책으로, 해당 함수를 사용할 수 있는 리눅스 버전, 버전별 차이 등을 꼼꼼하게 정리했다. 원서의 방대한 내용을 1권과 2권으로 나눠 구성했으며, 500개가 넘는 시스템 호출과 라이브러리 함수, 200개가 넘는 예제 프로그램, 88개의 표, 115개의 다이어그램에 대한 설명을 담고 있다. 특히 2권은 고급편으로, 좀더 세련되고 복잡한 리눅스 프로그램을 만들 때 사용되는 POSIX 스레드를 이용한 멀티스레드 프로그램 작성법, 파이프, 메시지 큐, 공유 메모리, 세마포어를 이용한 프로세스 간 통신, 소켓 API를 이용한 네트워크 프로그램 작성법 등을 다루고 있다. 시스템 프로그래밍 기술을 마스터하는 데 필요한 시스템 호출과 라이브러리 함수를 익히는 데 유용한 자료가 될 것이다.

목차
1장 스레드: 소개
1·1 개요
1·2 Pthreads API의 세부 배경 지식
1·3 스레드 생성
1·4 스레드 종료
1·5 스레드 ID
1·6 종료된 스레드와 조인하기
1·7 스레드 분리하기
1·8 스레드 속성
1·9 스레드와 프로세스의 비교
1·10 정리
1·11 연습문제

2장 스레드: 스레드 동기화
2·1 공유 변수 접근 보호: 뮤텍스
2·2 상태 변화 알리기: 조건 변수
2·3 정리
2·4 연습문제

3장 스레드: 스레드 안전성과 스레드별 저장소
3·1 스레드 안전성(그리고 재진입성)
3·2 1회 초기화
3·3 스레드별 데이터
3·4 스레드 로컬 저장소
3·5 정리
3·6 연습문제­

4장 스레드: 스레드 취소
4·1 스레드 취소하기
4·2 취소 상태와 종류
4·3 취소 지점
4·4 스레드 취소 요청 확인
4·5 클린업 핸들러
4·6 비동기적 취소 가능성
4·7 정리

5장 스레드: 기타 세부사항
5·1 스레드 스택
5·2 스레드와 시그널
5·3 스레드와 프로세스 제어
5·4 스레드 구현 모델
5·5 POSIX 스레드의 리눅스 구현
5·6 Pthreads API의 고급 기능
5·7 정리
5·8 연습문제

6장 프로세스 간 통신 개요
6·1 IPC 방법의 분류
6·2 통신 방법
6·3 동기화 방법
6·4 IPC 방법 비교하기
6·5 정리
6·6 연습문제

7장 파이프와 FIFO
7·1 개요
7·2 파이프 만들기와 사용하기
7·3 파이프로 프로세스 동기화하기
7·4 필터 연결에 파이프 사용하기
7·5 파이프를 사용해 셸 명령과 대화하기: popen()
7·6 파이프와 stdio 버퍼링
7·7 FIFO
7·8 FIFO를 사용하는 클라이언트/서버 응용 프로그램
7·9 비블로킹 I/O
7·10 파이프와 FIFO에서 read()와 write() 함수의 의미
7·11 정리
7·12 연습문제

8장 시스템 V IPC 소개
8·1 API 개요
8·2 IPC 키
8·3 객체 권한과 데이터 구조체의 조합
8·4 IPC 식별자와 클라이언트/서버 응용 프로그램
8·5 시스템 V IPC get 호출이 사용하는 알고리즘
8·6 ipcs 와 ipcrm 명령
8·7 모든 IPC 객체 목록 얻기
8·8 IPC 설정
8·9 정리
8·10 연습문제

9장 시스템 V 메시지 큐
9·1 메시지 큐 생성하기와 열기
9·2 메시지 교환
9·3 메시지 큐 동작 관리
9·4 메시지 큐와 연관된 데이터 구조
9·5 메시지 큐 설정
9·6 시스템상의 모든 메시지 큐 출력하기
9·7 메시지 큐를 사용해 클라이언트/서버 프로그래밍하기
9·8 메시지 큐를 사용하는 파일 서버 응용 프로그램
9·9 시스템 V 메시지 큐의 불편한 점
9·10 정리
9·11 연습문제

10장 시스템 V 세마포어
10·1 개요
10·2 세마포어 집합 만들고 열기
10·3 세마포어 관리 동작
10·4 세마포어와 관련된 데이터 구조
10·5 세마포어 초기화
10·6 세마포어 동작
10·7 다중 블록된 세마포어 동작 처리
10·8 세마포어 값 복구
10·9 이진 세마포어 프로토콜 구현
10·10 세마포어 한도
10·11 시스템 V 세마포어의 단점
10·12 정리
10·13 연습문제

11장 시스템 V 공유 메모리
11·1 개요
11·2 공유 메모리 세그먼트 생성과 열기
11·3 공유 메모리 사용
11·4 예제: 공유 메모리를 통한 데이터 전송
11·5 가상 메모리상의 공유 메모리 위치
11·6 공유 메모리에 포인터 저장하기
11·7 공유 메모리 제어 동작
11·8 공유 메모리와 관련된 데이터 구조체
11·9 공유 메모리 한도
11·10 정리
11·11 연습문제

12장 메모리 매핑
12·1 개요
12·2 매핑 생성: mmap()
12·3 맵 영역 해제: munmap()
12·4 파일 매핑
12·5 매핑된 영역 동기화: msync()
12·6 mmap() 추가 플래그
12·7 익명 매핑
12·8 매핑된 영역 재매핑: mremap()
12·9 MAP_NORESERVE와 스왑 영역 낭비
12·10 MAP_FIXED 플래그
12·11 비선형 매핑: remap_file_pages()
12·12 정리
12·13 연습문제

13장 가상 메모리 동작
13·1 메모리 보호 모드 변경: mprotect()
13·2 mlock()과 mlockall() 메모리 잠금
13·3 메모리 상주 결정하기: mincore()
13·4 미래의 메모리 사용 패턴: madvise()
13·5 정리
13·6 연습문제

14장 POSIX IPC 소개
14·1 API 개요
14·2 시스템 V IPC와 POSIX IPC 비교
14·3 정리

15장 POSIX 메시지 큐
15·1 개요
15·2 메시지 큐 열기, 닫기, 링크 해제하기
15·3 디스크립터와 메시지 큐의 관계
15·4 메시지 큐 속성
15·5 메시지 교환
15·6 메시지 통지
15·7 리눅스 고유의 특징
15·8 메시지 큐 한도
15·9 POSIX와 시스템 V 메시지 큐 비교
15·10 정리
15·11 연습문제

16장 POSIX 세마포어
16·1 개요
16·2 기명 세마포어
16·3 세마포어 동작
16·4 무기명 세마포어
16·5 기타 동기화 기법과의 비교
16·6 세마포어 한도
16·7 정리
16·8 연습문제

17장 POSIX 공유 메모리
17·1 개요
17·2 공유 메모리 객체 생성
17·3 공유 메모리 객체 사용
17·4 공유 메모리 객체 제거
17·5 공유 메모리 API 비교
17·6 정리
17·7 연습문제

18장 파일 잠금
18·1 개요
18·2 flock()을 이용한 파일 잠금
18·3 fcntl()을 이용한 레코드 잠금
18·4 의무 잠금
18·5 /proc/locks 파일
18·6 프로그램의 하나의 인스턴스만 실행
18·7 오래된 잠금 기법
18·8 정리
18·9 연습문제

19장 소켓: 소개
19·1 개요
19·2 socket() 소켓 생성: socket()
19·3 소켓을 주소에 결속하기: bind()
19·4 일반적인 소켓 주소 구조: struct sockaddr
19·5 스트림 소켓
19·6 데이터그램 소켓
19·7 정리

20장 소켓: 유닉스 도메인
20·1 유닉스 도메인 소켓 주소: struct sockaddr_un
20·2 유닉스 도메인의 스트림 소켓
20·3 유닉스 도메인의 데이터그램 소켓
20·4 유닉스 도메인 소켓 접근 권한
20·5 연결된 소켓 쌍 생성: socketpair()
20·6 리눅스 추상 소켓 네임스페이스
20·7 정리
20·8 연습문제

21장 소켓: TCP/IP 네트워크 기초
21·1 인터넷
21·2 네트워킹 프로토콜과 계층
21·3 데이터 링크 계층
21·4 네트워크 계층: IP
21·5 IP 주소
21·6 전송 계층
21·7 RFC(Requests for Comments)
21·8 정리

22장 소켓: 인터넷 도메인
22·1 인터넷 도메인 소켓
22·2 네트워크 바이트 순서
22·3 데이터 표현
22·4 인터넷 소켓 주소
22·5 호스트와 서비스 변환 함수
22·6 함수 inet_pton()과 inet_ntop()
22·7 클라이언트/서버 예제(데이터그램 소켓)
22·8 DNS(Domain Name System)
22·9 /etc/services 파일
22·10 프로토콜 독립적인 호스트와 서비스 변환
22·11 클라이언트 서버 예제(스트림 소켓)
22·12 인터넷 도메인 소켓 라이브러리
22·13 더 이상 사용하지 않는 호스트와 서비스 변경 API
22·14 유닉스 소켓과 인터넷 도메인 소켓
22·15 더 읽을거리
22·16 정리
22·17 연습문제

23장 소켓: 서버 설계
23·1 반복 서버와 병렬 서버
23·2 반복 UDP 에코 서버
23·3 병렬 TCP 에코 서버
23·4 다른 병렬 서버 설계
23·5 inetd(인터넷 슈퍼서버) 데몬
23·6 정리
23·7 연습문제

24장 소켓: 고급 옵션
24·1 스트림 소켓에서 부분 읽기와 부분 쓰기
24·2 shutdown() 시스템 호출
24·3 소켓 전용 I/O 시스템 호출: recv()와 send()
24·4 sendfile() 시스템 호출
24·5 소켓 주소 가져오기
24·6 TCP에 대한 고찰
24·7 소켓 모니터링: netstat
24·8 tcpdump를 이용한 TCP 트래픽 감시
24·9 소켓 옵션
24·10 SO_REUSEADDR 소켓 옵션
24·11 accept()를 통한 Flags와 Options 상속
24·12 TCP와 UDP
24·13 고급 기능
24·14 정리
24·15 연습문제

25장 터미널
25·1 개요
25·2 터미널 속성값 읽기와 수정
25·3 stty 명령
25·4 터미널 특수문자
25·5 터미널 플래그
25·6 터미널 I/O 모드
25·7 터미널 라인 속도(비트 전송률)
25·8 터미널 라인 제어
25·9 터미널 윈도우 크기
25·10 터미널 식별
25·11 정리
25·12 연습문제

26장 대체 I/O 모델
26·1 개요
26·2 I/O 멀티플렉싱
26·3 시그널 기반 I/O
26·4 epoll API
26·5 시그널과 파일 디스크립터 기다리기
26·6 정리
26·7 연습문제

27장 가상 터미널
27·1 개요
27·2 유닉스 98 가상 터미널
27·3 마스터 열기: ptyMasterOpen()
27·4 프로세스를 가상 터미널과 연결: ptyFork()
27·5 가상 터미널 I/O
27·6 스크립트(1) 구현
27·7 터미널 속성과 윈도우 크기
27·8 BSD 가상 터미널
27·9 정리
27·10 연습문제

부록 A 연습문제 해답
출판사 서평
리눅스에서 프로그램을 작성할 때 사용하는 시스템 호출과 라이브러리 함수를 설명한 책으로, 해당 함수를 사용할 수 있는 리눅스 버전, 버전별 차이 등을 꼼꼼하게 정리했다. 워낙 방대한 내용이라 1권과 2권으로 나눠 구성했으며, 2권은 고급편으로, 좀더 세련되고 복잡한 리눅스 프로그램을 만들 때 사용되는 스레드 관리, IPC 사용법, 소켓 사용법 등을 다룬다.소개리눅스와 유닉스 시스템 프로그래밍 인터페이스를 빠짐없이 다룬 최고의 안내서!『리눅스 API의 모든 것』은 리눅스와 유닉스 프로그래밍 인터페이스(리눅스나 유닉스 시스템에서 동작하는 거의 모든 응용 프로그램이 사용하는 인터페이스)을 위한 최고의 안내서다. 리눅스 프로그래밍 전문가 마이클 커리스크는 이 권위 있는 책에서, 시스템 프로그래밍 기술을 마스터하는 데 필요한 시스템 호출과 라이브러리 함수를 자세히 설명하며, 이에 덧붙여 명확하고 완전한 예제 프로그램을 제공한다.이 책에서는 1권과 2권 통틀어 500개가 넘는 시스템 호출과 라이브러리 함수, 200개가 넘는 예제 프로그램, 88개의 표, 115개의 다이어그램에 대한 설명이 들어 있으며, 2권에서는 다음과 같은 내용을 설명한다.■ POSIX 스레드를 이용한 멀티스레드 프로그램 작성법
■ 파이프, 메시지 큐, 공유 메모리, 세마포어를 이용한 프로세스 간 통신
■ 소켓 API를 이용한 네트워크 프로그램 작성법『리눅스 API의 모든 것』이 epoll, inotify, /proc 파일 시스템 등 수많은 리눅스 고유 기능을 다루지만, 유닉스 표준(POSIX.1­2001/SUSv3와 POSIX.1­2008/SUSv4)을 강조하기 때문에 여타 유닉스 플랫폼에서 작업하는 프로그래머들에게도 마찬가지로 가치가 크다.『리눅스 API의 모든 것』은 리눅스와 유닉스 프로그래밍 인터페이스를 다룬 가장 포괄적인 책이며, 새로운 고전이 되리라 믿어 의심치 않는다.이 책의 대상 독자● 리눅스나 기타 유닉스, 기타 POSIX 호환 시스템용 응응 프로그램을 작성하는 프로그래머와 소프트웨어 설계자
● 리눅스와 기타 유닉스 구현 간이나 리눅스와 기타 운영체제 간에 응용 프로그램을 이식하는 프로그래머
● 리눅스/유닉스 프로그래밍 인터페이스와, 시스템 소프트웨어의 다양한 부분이 어떻게 구현됐는지를 좀 더 잘 이해하고자 하는 시스템 관리자와 ‘파워 유저’이 책에 쏟아진 각계의 찬사리눅스용 소프트웨어를 작성할 때 컴퓨터 옆에 놓을 책을 하나만 고를 수 있다면, 이 책이 바로 그 책일 것이다.
­ 마틴 랜더스 / 구글의 소프트웨어 엔지니어이 책은 자세한 설명과 예제가 많고, 리눅스의 저수준 프로그래밍 API의 상세한 내용과 뉘앙스를 이해하는 데 필요한 모든 것을 담고 있다. 독자의 수준과 상관없이, 이 책에서 뭔가 배울 게 있을 것이다.
­ 멜 고먼, 『Understanding the Linux Virtual Memory Manager』의 저자마이클 커리스크는 리눅스 프로그래밍과, 그것이 다양한 표준과 어떻게 연관되는지를 상세히 다룬 훌륭한 책을 썼다. 뿐만 아니라, 그가 발견한 버그들이 수정되고 매뉴얼 페이지들이 (엄청나게) 개선되도록 노력했다. 이와 같은 세 가지 방법을 통해 마이클은 리눅스 프로그래밍을 더욱 쉽게 만들었다. 모든 주제를 깊이 있게 다룬 『리눅스 API의 모든 것』은 초보이건 고수이건 리눅스 프로그래머라면 꼭 한 권씩 지녀야 할 필독 참고서다.
­ 안드레아스 예거 / 노벨 오픈수세 프로그램 매니저올바른 정보를 명확하고 간결하게 표현하려는 마이클의 무궁무진한 투지로 인해 프로그래머를 위한 든든한 참고서가 만들어졌다. 이 책은 리눅스 프로그래머를 주요 대상으로 하지만, 유닉스/POSIX 생태계에서 작업하는 모든 프로그래머에게 가치 있는 책일 것이다.”
­ 데이비드 부텐호프 / 『Programming with POSIX Threads』의 저자이자 POSIX 및 유닉스 표준 기여자리눅스 시스템에 중점을 두고, 유닉스 시스템과 네트워크 프로그래밍에 대해 매우 철저하면서도 읽기 쉽게 설명했다. (일반적인) 유닉스 프로그래밍을 시작하려는 사람이나, 인기 있는 GNU/리눅스 시스템은 ‘무엇이 새로운지’를 알고자 하는 고급 유닉스 프로그래머 모두에게 강력하게 추천하고 싶은 책이다.
­ 페르난도 곤트 / 네트워크 보안 연구원, IETF 참가자이자RFC 저자백과사전처럼 폭넓고 깊게 다루면서도, 교과서처럼 많은 예제와 연습문제가 풍부한 책이다. 이론부터 실제 작동하는 코드까지 각 주제를 명확하고 철저하게 다뤘다. 전문가, 학생, 교사들이여, 이것이 당신들이 지금까지 기다리던 리눅스/유닉스 참고서의 결정판이다.
­ 앤소니 로빈스 / 오타고대학교 컴퓨터공학과 부교수마이클 커리스크가 이 책에 쏟아놓은 정보의 정확함, 품질, 상세함에 매우 감명받았다. 리눅스 시스템 호출에 관한 훌륭한 전문가인 마이클은 이 책에서 리눅스 API에 대한 자신의 지식과 이해를 공유해줬다.
­ 크리스토프 블라 / 『Programmation systeme en C sous Linux』의 저자진지하고 전문성을 갖춘 리눅스/유닉스 시스템 프로그래머를 위한 필독서다. 마이클 커리스크는 리눅스와 유닉스 시스템 인터페이스의 모든 핵심 API를 명확한 설명과 예제로 다루고, 단일 유닉스 규격과 POSIX 1003.1 같은 표준을 따르는 방식의 중요성과 혜택을 강조한다.
­ 앤드류 조시 / 오픈 그룹 표준 디렉터이자 POSIX 1003.1 워킹 그룹 의장시스템 프로그래머의 입장에서, 매뉴얼 페이지를 관리하는 사람이 직접 쓴 리눅스 시스템에 대한 백과사전 같은 참고서보다 더 좋은 것이 있을까? 『리눅스의 모든 것』은 포괄적이면서 상세하다. 이 책은 분명히 내 프로그래밍 책꽂이에 빠져서는 안 될 기본서로 자리잡을 것이다.
­ 빌 갤마이스터 / 『POSIX.4 Programmer’s Guide: Programming for the Real World』의 저자리눅스와 유닉스 시스템 프로그래밍을 다룬 최신 완벽 가이드다. 리눅스 시스템 프로그래밍을 새로 시작한다거나, 리눅스 방식을 배우는 데 관심이 있고 이식성에 중점을 두고 있는 유닉스 베테랑이거나, 또는 그냥 리눅스 프로그래밍 인터페이스에 대한 훌륭한 참고서를 찾고 있다면, 마이클 커리스크의 책이야말로 당신의 책꽂이에 반드시 구비해야 할 안내서다.
­ 루이 도미니 / CORPULS.COM의 수석 소프트웨어 아키텍트(임베디드), 저자 서문이 책은 리눅스 프로그래밍 인터페이스를 설명한다. 리눅스는 무료로 사용할 수 있는 유닉스 운영체제로서, 리눅스 프로그래밍 인터페이스에는 리눅스가 제공하는 시스템 호출, 라이브러리 함수, 기타 저수준 인터페이스가 포함된다. 리눅스에서 실행되는 모든 프로그램이 이 인터페이스를 직간접적으로 사용한다. 응용프로그램은 이 인터페이스를 사용해 파일 I/O, 파일이나 디렉토리 생성/삭제, 새 프로세스 생성, 프로그램 실행, 타이머 설정, 같은 컴퓨터 안의 프로세스와 스레드 간 통신, 네트워크로 연결된 각기 다른 컴퓨터에 존재하는 프로세스 간의 통신 등을 할 수 있다. 이 저수준 인터페이스를 시스템 프로그래밍(system programming) 인터페이스라고도 한다.이 책은 주로 리눅스에 초점을 맞췄지만, 표준과 이식성 이슈도 소홀히 다루지 않았고, 리눅스 고유사항에 대한 논의와, 대부분의 유닉스 구현에서 공통적이고 POSIX와 단일 유닉스 명세(Single UNIX Specification)에 의해 표준화된 사항에 대한 논의를 분명히 구별했다. 따라서 이 책은 유닉스/POSIX 프로그래밍 인터페이스도 광범위하게 기술했고, 여타 유닉스 시스템을 대상으로 응용 프로그램을 작성하거나 여러 시스템에 이식할 수 있는 응용프로그램을 작성하려는 프로그래머가 활용할 수 있다.옮긴이의 말리눅스가 지배하는 세상이 됐다. 최소한, 리눅스가 도처에서 쓰이는 세상이 되었다. 데스크탑을 정복하지는 못했지만 데스크탑보다 훨씬 많은 곳에서 리눅스가 쓰인다. 보이지 않는 곳에서 인터넷을 움직이는 서버와, 매일 들고 다니는 핸드폰과 태블릿, 자동차마다 달려 있는 내비게이션과 블랙박스, 아침에 일어나자마자, 그리고 퇴근해서 집에 오면 무심코 켜는 TV, 셋톱박스, 블루레이 플레이어, 냉장고, 인터넷 공유기, 프린터, 가정용 파일 서버 등이 리눅스로 구동된다.『리눅스 API의 모든 것』은 리눅스에서 프로그램을 작성할 때 사용하는 시스템 호출과 라이브러리 함수를 설명한 책이다. 서버에서 동작하는 리눅스용 프로그램을 작성하는 사람들에게 좋은 참고서가 될 것이고, 역자처럼 임베디드 시스템용 프로그램을 작성하는 사람들의 경우, 임베디드 리눅스에서는 서버에서 제공되는 모든 기능을 사용할 수는 없겠지만, 많은 부분이 겹칠 것이고 활용할 수 있으리라 믿는다.채원석 님의 제안대로 구글 닥스를 사용해 용어집을 공유하고, 번역 뒤 리뷰를 해서 문체를 다듬기는 했지만 여러 역자가 함께 작업하다 보니 문체라든지 용어 등이 약간씩 차이가 날 수 있는 점 양해 부탁드린다. 엄청난 두께의 책을 저술하고, 역자의 질문에 바로 답해준 저자의 열정에 경의를 표한다.원서의 양이 매우 방대하고 번역 과정에서 두께가 더 두꺼워지는 바람에 저자와의 협의 끝에 두 권으로 나누어 출간하게 되었다. 1권은 기초 리눅스 API 편으로, 리눅스 프로그래밍에서 흔히 쓰이는 파일, 메모리, 사용자, 프로세스, 시간, 시그널, 타이머, 라이브러리 사용법과 작성법 등을 설명하고, 2권은 고급 리눅스 API 편으로, 좀더 세련되고 복잡한 리눅스 프로그램을 만들 때 사용되는 스레드, IPC, 소켓, 고급 I/O 등을 설명한다. 이 책은 예제가 많아 리눅스 프로그래밍을 배우고자 하는 사람들도 쉽게 따라 하면서 배울 수 있으리라 생각한다. 숙련된 프로그래머의 경우에는 인덱스를 활용해 참고서로 사용할 수 있을 것이다. 비록 두 권으로 나뉘었지만, 인덱스에는 1권과 2권에 나오는 모든 용어를 담고, 각 용어가 어느 권에 나오는지 명시했으므로, 용어를 찾는 데 어려움이 없으리라 믿는다.리눅스는 항상 개발 중이며, 최근에는 커널 3.3이 발표되었다. 책이 출판된 뒤에 바뀐 내용에 대해서도 저자가 자신의 사이트에서 정오표(지은이의 말 참조)를 통해 안내하고 있으므로, 참고하면 도움이 될 것이다.- 대표 역자 김기주
상품 정보 고시
도서명 리눅스 API의 모든 것 고급 리눅스 API Vol. 2
저자 마이클 커리스크
출판사 에이콘출판
ISBN 9788960773202 (8960773204)
쪽수 848
출간일 2012-07-12
사이즈 188 * 255 * 40 mm /1474g
목차 또는 책소개 1장 스레드: 소개
1·1 개요
1·2 Pthreads API의 세부 배경 지식
1·3 스레드 생성
1·4 스레드 종료
1·5 스레드 ID
1·6 종료된 스레드와 조인하기
1·7 스레드 분리하기
1·8 스레드 속성
1·9 스레드와 프로세스의 비교
1·10 정리
1·11 연습문제

2장 스레드: 스레드 동기화
2·1 공유 변수 접근 보호: 뮤텍스
2·2 상태 변화 알리기: 조건 변수
2·3 정리
2·4 연습문제

3장 스레드: 스레드 안전성과 스레드별 저장소
3·1 스레드 안전성(그리고 재진입성)
3·2 1회 초기화
3·3 스레드별 데이터
3·4 스레드 로컬 저장소
3·5 정리
3·6 연습문제­

4장 스레드: 스레드 취소
4·1 스레드 취소하기
4·2 취소 상태와 종류
4·3 취소 지점
4·4 스레드 취소 요청 확인
4·5 클린업 핸들러
4·6 비동기적 취소 가능성
4·7 정리

5장 스레드: 기타 세부사항
5·1 스레드 스택
5·2 스레드와 시그널
5·3 스레드와 프로세스 제어
5·4 스레드 구현 모델
5·5 POSIX 스레드의 리눅스 구현
5·6 Pthreads API의 고급 기능
5·7 정리
5·8 연습문제

6장 프로세스 간 통신 개요
6·1 IPC 방법의 분류
6·2 통신 방법
6·3 동기화 방법
6·4 IPC 방법 비교하기
6·5 정리
6·6 연습문제

7장 파이프와 FIFO
7·1 개요
7·2 파이프 만들기와 사용하기
7·3 파이프로 프로세스 동기화하기
7·4 필터 연결에 파이프 사용하기
7·5 파이프를 사용해 셸 명령과 대화하기: popen()
7·6 파이프와 stdio 버퍼링
7·7 FIFO
7·8 FIFO를 사용하는 클라이언트/서버 응용 프로그램
7·9 비블로킹 I/O
7·10 파이프와 FIFO에서 read()와 write() 함수의 의미
7·11 정리
7·12 연습문제

8장 시스템 V IPC 소개
8·1 API 개요
8·2 IPC 키
8·3 객체 권한과 데이터 구조체의 조합
8·4 IPC 식별자와 클라이언트/서버 응용 프로그램
8·5 시스템 V IPC get 호출이 사용하는 알고리즘
8·6 ipcs 와 ipcrm 명령
8·7 모든 IPC 객체 목록 얻기
8·8 IPC 설정
8·9 정리
8·10 연습문제

9장 시스템 V 메시지 큐
9·1 메시지 큐 생성하기와 열기
9·2 메시지 교환
9·3 메시지 큐 동작 관리
9·4 메시지 큐와 연관된 데이터 구조
9·5 메시지 큐 설정
9·6 시스템상의 모든 메시지 큐 출력하기
9·7 메시지 큐를 사용해 클라이언트/서버 프로그래밍하기
9·8 메시지 큐를 사용하는 파일 서버 응용 프로그램
9·9 시스템 V 메시지 큐의 불편한 점
9·10 정리
9·11 연습문제

10장 시스템 V 세마포어
10·1 개요
10·2 세마포어 집합 만들고 열기
10·3 세마포어 관리 동작
10·4 세마포어와 관련된 데이터 구조
10·5 세마포어 초기화
10·6 세마포어 동작
10·7 다중 블록된 세마포어 동작 처리
10·8 세마포어 값 복구
10·9 이진 세마포어 프로토콜 구현
10·10 세마포어 한도
10·11 시스템 V 세마포어의 단점
10·12 정리
10·13 연습문제

11장 시스템 V 공유 메모리
11·1 개요
11·2 공유 메모리 세그먼트 생성과 열기
11·3 공유 메모리 사용
11·4 예제: 공유 메모리를 통한 데이터 전송
11·5 가상 메모리상의 공유 메모리 위치
11·6 공유 메모리에 포인터 저장하기
11·7 공유 메모리 제어 동작
11·8 공유 메모리와 관련된 데이터 구조체
11·9 공유 메모리 한도
11·10 정리
11·11 연습문제

12장 메모리 매핑
12·1 개요
12·2 매핑 생성: mmap()
12·3 맵 영역 해제: munmap()
12·4 파일 매핑
12·5 매핑된 영역 동기화: msync()
12·6 mmap() 추가 플래그
12·7 익명 매핑
12·8 매핑된 영역 재매핑: mremap()
12·9 MAP_NORESERVE와 스왑 영역 낭비
12·10 MAP_FIXED 플래그
12·11 비선형 매핑: remap_file_pages()
12·12 정리
12·13 연습문제

13장 가상 메모리 동작
13·1 메모리 보호 모드 변경: mprotect()
13·2 mlock()과 mlockall() 메모리 잠금
13·3 메모리 상주 결정하기: mincore()
13·4 미래의 메모리 사용 패턴: madvise()
13·5 정리
13·6 연습문제

14장 POSIX IPC 소개
14·1 API 개요
14·2 시스템 V IPC와 POSIX IPC 비교
14·3 정리

15장 POSIX 메시지 큐
15·1 개요
15·2 메시지 큐 열기, 닫기, 링크 해제하기
15·3 디스크립터와 메시지 큐의 관계
15·4 메시지 큐 속성
15·5 메시지 교환
15·6 메시지 통지
15·7 리눅스 고유의 특징
15·8 메시지 큐 한도
15·9 POSIX와 시스템 V 메시지 큐 비교
15·10 정리
15·11 연습문제

16장 POSIX 세마포어
16·1 개요
16·2 기명 세마포어
16·3 세마포어 동작
16·4 무기명 세마포어
16·5 기타 동기화 기법과의 비교
16·6 세마포어 한도
16·7 정리
16·8 연습문제

17장 POSIX 공유 메모리
17·1 개요
17·2 공유 메모리 객체 생성
17·3 공유 메모리 객체 사용
17·4 공유 메모리 객체 제거
17·5 공유 메모리 API 비교
17·6 정리
17·7 연습문제

18장 파일 잠금
18·1 개요
18·2 flock()을 이용한 파일 잠금
18·3 fcntl()을 이용한 레코드 잠금
18·4 의무 잠금
18·5 /proc/locks 파일
18·6 프로그램의 하나의 인스턴스만 실행
18·7 오래된 잠금 기법
18·8 정리
18·9 연습문제

19장 소켓: 소개
19·1 개요
19·2 socket() 소켓 생성: socket()
19·3 소켓을 주소에 결속하기: bind()
19·4 일반적인 소켓 주소 구조: struct sockaddr
19·5 스트림 소켓
19·6 데이터그램 소켓
19·7 정리

20장 소켓: 유닉스 도메인
20·1 유닉스 도메인 소켓 주소: struct sockaddr_un
20·2 유닉스 도메인의 스트림 소켓
20·3 유닉스 도메인의 데이터그램 소켓
20·4 유닉스 도메인 소켓 접근 권한
20·5 연결된 소켓 쌍 생성: socketpair()
20·6 리눅스 추상 소켓 네임스페이스
20·7 정리
20·8 연습문제

21장 소켓: TCP/IP 네트워크 기초
21·1 인터넷
21·2 네트워킹 프로토콜과 계층
21·3 데이터 링크 계층
21·4 네트워크 계층: IP
21·5 IP 주소
21·6 전송 계층
21·7 RFC(Requests for Comments)
21·8 정리

22장 소켓: 인터넷 도메인
22·1 인터넷 도메인 소켓
22·2 네트워크 바이트 순서
22·3 데이터 표현
22·4 인터넷 소켓 주소
22·5 호스트와 서비스 변환 함수
22·6 함수 inet_pton()과 inet_ntop()
22·7 클라이언트/서버 예제(데이터그램 소켓)
22·8 DNS(Domain Name System)
22·9 /etc/services 파일
22·10 프로토콜 독립적인 호스트와 서비스 변환
22·11 클라이언트 서버 예제(스트림 소켓)
22·12 인터넷 도메인 소켓 라이브러리
22·13 더 이상 사용하지 않는 호스트와 서비스 변경 API
22·14 유닉스 소켓과 인터넷 도메인 소켓
22·15 더 읽을거리
22·16 정리
22·17 연습문제

23장 소켓: 서버 설계
23·1 반복 서버와 병렬 서버
23·2 반복 UDP 에코 서버
23·3 병렬 TCP 에코 서버
23·4 다른 병렬 서버 설계
23·5 inetd(인터넷 슈퍼서버) 데몬
23·6 정리
23·7 연습문제

24장 소켓: 고급 옵션
24·1 스트림 소켓에서 부분 읽기와 부분 쓰기
24·2 shutdown() 시스템 호출
24·3 소켓 전용 I/O 시스템 호출: recv()와 send()
24·4 sendfile() 시스템 호출
24·5 소켓 주소 가져오기
24·6 TCP에 대한 고찰
24·7 소켓 모니터링: netstat
24·8 tcpdump를 이용한 TCP 트래픽 감시
24·9 소켓 옵션
24·10 SO_REUSEADDR 소켓 옵션
24·11 accept()를 통한 Flags와 Options 상속
24·12 TCP와 UDP
24·13 고급 기능
24·14 정리
24·15 연습문제

25장 터미널
25·1 개요
25·2 터미널 속성값 읽기와 수정
25·3 stty 명령
25·4 터미널 특수문자
25·5 터미널 플래그
25·6 터미널 I/O 모드
25·7 터미널 라인 속도(비트 전송률)
25·8 터미널 라인 제어
25·9 터미널 윈도우 크기
25·10 터미널 식별
25·11 정리
25·12 연습문제

26장 대체 I/O 모델
26·1 개요
26·2 I/O 멀티플렉싱
26·3 시그널 기반 I/O
26·4 epoll API
26·5 시그널과 파일 디스크립터 기다리기
26·6 정리
26·7 연습문제

27장 가상 터미널
27·1 개요
27·2 유닉스 98 가상 터미널
27·3 마스터 열기: ptyMasterOpen()
27·4 프로세스를 가상 터미널과 연결: ptyFork()
27·5 가상 터미널 I/O
27·6 스크립트(1) 구현
27·7 터미널 속성과 윈도우 크기
27·8 BSD 가상 터미널
27·9 정리
27·10 연습문제

부록 A 연습문제 해답
상품 정보 고시
도서명 상품페이지 참고
저자 상품페이지 참고
출판사 상품페이지 참고
크기 상품페이지 참고
쪽수 상품페이지 참고
제품구성 상품페이지 참고
출간일 상품페이지 참고
목차 또는 책소개 상품페이지 참고
배송공지

사용후기

회원리뷰 총 0개

사용후기가 없습니다.

상품문의

등록된 상품문의

상품문의 총 0개

상품문의가 없습니다.

교환/반품

[반품/교환방법]
마이페이지> 주문배송조회 > 반품/교환신청 또는 고객센터 (070-4680-5689)로 문의 바랍니다.

[반품주소]
- 도로명 : (10882) 경기도 파주시 산남로 62-20 (산남동)
- 지번 : (10882) 경기도 파주시 산남동 305-21

[반품/교환가능 기간]
변심반품의 경우 수령 후 14일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

[반품/교환비용]
단순 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담

[반품/교환 불가 사유]
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
(단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
- 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
* (1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시
‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)

[상품 품절]
공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.

[소비자 피해보상, 환불지연에 따른 배상]
- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됩니다.
- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함.

회원로그인

오늘 본 상품

  • 리눅스 API의 모든 것 고급 리눅스 API Vol. 2
    리눅스 API의 모
    31,500
  • 지루한 여행을 떠났으면 해
    지루한 여행을 떠났
    13,320