리눅스 시스템 네트워크 프로그래밍(Advanced)(3판)
리눅스 시스템 프로그래밍과 네트워크 프로그래밍에 대한 활용서 『리눅스 시스템 네트워크 프로그래밍』. 유닉스 국제 표준인 Single UNIX Specification version 4 (IEEE std 1003.1 issue7 2013, POSIX.1)을 기준으로 하고, 그 외에 리눅스의 확장 기능을 다룬다. 금융 시스템 및 게임, 애플리케이션 서버 등을 제작하는 데 필요한 기반 기술들에 초점을 맞추었다. 따라서 리눅스 시스템에서 IPC 및 네트워크를 통해 데이터를 처리할 때 고성능 처리를 위한 기법들을 주로 소개하고 있다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
유닉스 국제 표준인 Single UNIX Specification version 4 (IEEE std 1003.1 issue7 2013, POSIX.1)을 기준으로 하고, 그 외에 리눅스의 확장 기능을 다룬다. 금융 시스템 및 게임, 애플리케이션 서버 등을 제작하는 데 필요한 기반 기술들에 초점을 맞추었다. 따라서 리눅스 시스템에서 IPC 및 네트워크를 통해 데이터를 처리할 때 고성능 처리를 위한 기법들을 주로 소개하고 있다.
이 책에서 소개하는 내용은 다음과 같다.
프로세스 관리 기법
fork, exec, posix_spawn
저수준/ 고수준 파일 관리 기법
고급 메모리 관리 기법
메모리 맵(mmap), TLB 최적화, 대용량 페이지(Huge page) 및 THP(Transparent Huge Page)와 성능 최적화
프로세스간 통신(IPC) 기법
XSI와 POSIX의 공유 메모리/메시지 큐/세마포어 기법
고급 TCP/IP 소켓 네트워크 프로그래밍 / IPv6 네트워킹
I/O 멀티플렉싱
select, pselect, poll, epoll, 엣지 트리거
스레드 프로그래밍
POSIX thread(pthread, IEEE std 1003.1c), OpenMP
시그널 처리
리얼 타임 확장 (IEEE std 1003.1b)
비동기 I/O (Asynchronous I/O), 리얼 타임 시그널, 리얼 타임 시계, 스케줄링
리눅스 비표준 기능
타이머, 시그널, 이벤트 파일 기술자(timerfd, signalfd, eventfd)
Advanced (3rd Edition)
리눅스 시스템 네트워크 프로그래밍
- 유닉스, 리눅스 역사를 통해 살펴보는 시스템 프로그래밍 API들의 발자취와 미래
- POSIX 표준 체계와 리눅스 고유의 기법을 함께 다루는 시스템 프로그래밍 가이드
- 신뢰성과 성능 향상을 위한 TCP/IP 소켓 프로그래밍 기법
- IPv6 인터넷에 대응하는 네트워크 프로그래밍 기법
- 대용량 메모리 시스템에서 처리 가능한 IPC 및 메모리 최적화 기법
- 리눅스 커널 파라미터 튜닝과 시스템 프로그래밍 API의 성능 문제
- 멀티 코어 시대의 스레드 및 비동기 처리 기법
목차
목차
01 헤더 파일과 묵시적 선언
02 Feature test macro와 표준
03 유닉스 역사와 표준안
04 용어 및 정의
CHAPTER 01 프로세스
01 프로세스
02 fork
03 exec(3) 계열 함수
04 posix_spawn 계열 함수
CHAPTER 02 파일
01 파일 처리
02 저수준 파일 처리의 사용
03 고수준 파일 처리의 사용
04 저수준과 고수준 파일 처리의 혼용
05 패딩(padding)/팩(pack)과 XDR
06 대용량 파일 지원(LFS)
CHAPTER 03 텍스트 처리
01 텍스트 처리
02 정규 표현식(REGEX)의 이용
03 새롭게 추가된 문자열 관련 함수
CHAPTER 04 메모리
01 메모리
02 메모리 락(memory lock)
CHAPTER 05 IPC
01 IPC(Inter-Process Communication)
02 mmap(memory mapped I/O)
03 mmap의 속성
04 mmap의 사용법
05 메모리 사용 패턴 조언(memory advice)
06 mmap의 대용량 페이지 기능 :
Huge Page
07 SysV와 POSIX의 IPC
08 공유 메모리(shared memory)
09 XSI 공유 메모리
10 POSIX 공유 메모리
11 세마포어(semaphore)
12 XSI 세마포어
13 POSIX 세마포어
14 메시지 큐
15 XSI 메시지 큐
16 POSIX 메시지 큐
CHAPTER 06 I/O 인터페이스
01 I/O 인터페이스
02 파이프(pipe)와 FIFO
03 소켓(socket)
04 바이트 순서(byte order) :
빅 엔디안, 리틀 엔디안
05 TCP 소켓의 기초
(SOCK_STREAM 소켓)
06 UDP 소켓의 기초(SOCK_DGRAM 소켓)
07 유닉스 도메인 소켓
08 TCP와 UDP 네트워크 비교
09 TCP의 효율적인 기법들
10 IPv6로 확장된 소켓 프로그래밍
11 UDP 브로드캐스팅
12 소켓 옵션 제어
13 기타 소켓 관련 함수들
14 넌블록킹 모드
15 TCP 소켓의 아웃 오브 밴드
(Out-Of-Band) 처리
16 I/O 인터페이스의 선택 기준에 대해
CHAPTER 07 I/O 멀티플렉싱
(Multiplexing)
01 I/O 멀티플렉싱(Multiplexing)
02 select, pselect의 사용
03 poll의 사용
04 고성능 I/O 멀티플렉서
05 epoll(event poll)
06 참고 문헌
CHAPTER 08 스레드 프로그래밍
01 무임승차했던 성능 문제
02 멀티 스레딩과 성능 향상
03 병렬 처리 패턴
04 스레드 안전
05 POSIX 스레드(pthread)
06 OpenMP 프로그래밍
07 성능을 고려한 프로그래밍
CHAPTER 09 시그널
01 시그널 처리
02 UNIX 표준 시그널 목록
03 시그널과 시그널 핸들러
04 SIGCHLD 시그널과 자식 프로세스
05 시그널과 세션, 프로세스 그룹
06 시그널 블록 마스크
07 시그널 안전과 원자적 실행
08 멀티 스레드 환경에서의 시그널 처리
09 대체 시그널 스택
CHAPTER 10 리얼타임 확장
01 POSIX 리얼타임 확장
02 리얼타임 시그널 이벤트(sigevent)
03 리얼타임 시그널(RTS)
04 리얼타임 시계
05 비동기적 I/O(AIO)
06 스케줄링
CHAPTER 11 리눅스 비표준 기능
01 리눅스 비표준 기능
02 timerfd 기법
03 eventfd 기법
04 signalfd 기법
05 timerfd와 I/O 멀티플렉싱 기법의 응용
Index
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

