■ 책소개
리눅스 시스템 프로그래밍과 네트워크 프로그래밍에 대한 활용서 『리눅스 시스템 네트워크 프로그래밍』. 유닉스 국제 표준인 Single UNIX Specification version 4 (IEEE std 1003.1 issue7 2013, POSIX.1)을 기준으로 하고, 그 외에 리눅스의 확장 기능을 다룬다. 금융 시스템 및 게임, 애플리케이션 서버 등을 제작하는 데 필요한 기반 기술들에 초점을 맞추었다. 따라서 리눅스 시스템에서 IPC 및 네트워크를 통해 데이터를 처리할 때 고성능 처리를 위한 기법들을 주로 소개하고 있다.
■ 목차
목차CHAPTER 00 들어가기 전에01 헤더 파일과 묵시적 선언02 Feature test macro와 표준03 유닉스 역사와 표준안04 용어 및 정의CHAPTER 01 프로세스01 프로세스02 fork03 exec(3) 계열 함수04 posix_spawn 계열 함수CHAPTER 02 파일01 파일 처리02 저수준 파일 처리의 사용03 고수준 파일 처리의 사용04 저수준과 고수준 파일 처리의 혼용05 패딩(padding)/팩(pack)과 XDR06 대용량 파일 지원(LFS)CHAPTER 03 텍스트 처리01 텍스트 처리02 정규 표현식(REGEX)의 이용03 새롭게 추가된 문자열 관련 함수CHAPTER 04 메모리01 메모리02 메모리 락(memory lock)CHAPTER 05 IPC01 IPC(Inter-Process Communication)02 mmap(memory mapped I/O)03 mmap의 속성04 mmap의 사용법05 메모리 사용 패턴 조언(memory advice)06 mmap의 대용량 페이지 기능 : Huge Page07 SysV와 POSIX의 IPC08 공유 메모리(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)와 FIFO03 소켓(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
■ 출판사서평
출판사 서평이 책은 리눅스 시스템 프로그래밍과 네트워크 프로그래밍에 대한 활용서이다.유닉스 국제 표준인 Single UNIX Specification version 4 (IEEE std 1003.1 issue7 2013, POSIX.1)을 기준으로 하고, 그? 외에 리눅스의 확장 기능을 다룬다. 금융 시스템 및 게임, 애플리케이션 서버 등을 제작하는 데 필요한 기반 기술들에 초점을 맞추었다. 따라서 리눅스 시스템에서 IPC 및 네트워크를 통해 데이터를 처리할 때 고성능 처리를 위한 기법들을 주로 소개하고 있다.이 책에서 소개하는 ...이 책은 리눅스 시스템 프로그래밍과 네트워크 프로그래밍에 대한 활용서이다.유닉스 국제 표준인 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의 성능 문제- 멀티 코어 시대의 스레드 및 비동기 처리 기법
■ 저자소개