이미 소장하고 있다면 판매해 보세요.
|
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 메시지 큐 열기, 닫기, 링크 해제하기 |
|
리눅스와 유닉스 시스템 프로그래밍 인터페이스를 빠짐없이 다룬 최고의 안내서!
『리눅스 API의 모든 것』은 리눅스와 유닉스 프로그래밍 인터페이스(리눅스나 유닉스 시스템에서 동작하는 거의 모든 응용 프로그램이 사용하는 인터페이스)을 위한 최고의 안내서다. 리눅스 프로그래밍 전문가 마이클 커리스크는 이 권위 있는 책에서, 시스템 프로그래밍 기술을 마스터하는 데 필요한 시스템 호출과 라이브러리 함수를 자세히 설명하며, 이에 덧붙여 명확하고 완전한 예제 프로그램을 제공한다. 이 책에서는 1권과 2권 통틀어 500개가 넘는 시스템 호출과 라이브러리 함수, 200개가 넘는 예제 프로그램, 88개의 표, 115개의 다이어그램에 대한 설명이 들어 있으며, 1권에서는 다음과 같은 내용을 설명한다. ■ 파일을 효율적으로 읽고 쓰기 ■ 시그널, 클록, 타이머 사용법 ■ 프로세스를 만들고 프로그램 실행하기 ■ 안전한 프로그램 작성법 ■ 공유 라이브러리 만들고 사용하기 『리눅스 API의 모든 것』이 epoll, inotify, /proc 파일 시스템 등 수많은 리눅스 고유 기능을 다루지만, 유닉스 표준(POSIX.1-2001/SUSv3와 POSIX.1-2008/SUSv4)을 강조하기 때문에 여타 유닉스 플랫폼에서 작업하는 프로그래머들에게도 마찬가지로 가치가 크다. 『리눅스 API의 모든 것』은 리눅스와 유닉스 프로그래밍 인터페이스를 다룬 가장 포괄적인 책이며, 새로운 고전이 되리라 믿어 의심치 않는다. |