서브메뉴

본문

리눅스 API의 모든 것 고급 리눅스 API
리눅스 API의 모든 것 고급 리눅스 API
저자 : 마이클 커리스크
출판사 : 에이콘출판
출판년 : 2012
정가 : 35000, ISBN : 9788960773202

책소개


리눅스에서 프로그램을 작성할 때 사용하는 시스템 호출과 라이브러리 함수를 설명한 책으로, 해당 함수를 사용할 수 있는 리눅스 버전, 버전별 차이 등을 꼼꼼하게 정리했다. 워낙 방대한 내용이라 1권과 2권으로 나눠 구성했으며, 1권은 기초편으로, 리눅스 프로그래밍에서 흔히 쓰이는 파일 관리, 메모리 관리, 프로세스 관리, 시그널 처리, 타이머 사용법 등을 다룬다.

목차


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 메시지 큐 열기, 닫기, 링크 해제하기