이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
UNIX 고급 프로그래밍
제2판
베스트
IT 모바일 top100 1주
가격
45,000
45,000
YES포인트?
1,350원 (3%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

책소개

목차

역자의 글
추천사
서문
제1판 서문
일러두기

제1장. UNIX 시스템의 개요
1.1 소개
1.2 UNIX 아키텍처
1.3 로그인
1.4 파일과 디렉터리
1.5 입력과 출력
1.6 프로그램과 프로세스
1.7 오류 처리
1.8 사용자 식별
1.9 신호
1.10 시간 값
1.11 시스템 호출과 라이브러리 함수
1.12 요약

제2장. UNIX 표준화와 구현들
2.1 소개
2.2 UNIX 표준화
2.2.1 ISO C
2.2.2 IEEE POSIX
2.2.3 단일 UNIX 규격
2.2.4 FIPS
2.3 UNIX System 구현들
2.3.1 UNIX System V Release 4
2.3.2 4.4BSD
2.3.3 FreeBSD
2.3.4 Linux
2.3.5 Mac OS X
2.3.6 Solaris
2.3.7 그 밖의 UNIX 시스템들
2.4 표준과 구현의 관계
2.5 한계들
2.5.1 ISO C가 정의하는 한계들
2.5.2 POSIX가 정의하는 한계들
2.5.3 XSI가 정의하는 한계들
2.5.4 sysconf, pathconf, fpathconf 함수
2.5.5 미결정 실행시점 한계
2.6 옵션들
2.7 기능 판정 매크로
2.8 기본 시스템 자료 형식
2.9 표준들의 충돌
2.10 요약

제3장. 파일 I/O
3.1 소개
3.2 파일 서술자
3.3 open 함수
3.4 creat 함수
3.5 close 함수
3.6 lseek 함수
3.7 read 함수
3.8 write 함수
3.9 I/O 효율성
3.10 파일 공유
3.11 원자적 연산들
3.12 dup 함수와 dup2 함수
3.13 sync 함수, fsync 함수, fdatasync 함수
3.14 fcntl 함수
3.15 ioctl 함수
3.16 /dev/fd
3.17 요약

제4장. 파일과 디렉터리
4.1 소개
4.2 stat, fstat, lstat 함수
4.3 파일의 종류
4.4 SUID와 SGID
4.5 파일 접근 권한
4.6 새 파일과 디렉터리의 소유권
4.7 access 함수
4.8 umask 함수
4.9 chmod 함수와 fchmod 함수
4.10 끈적이 비트
4.11 chown, fchown, lchown 함수
4.12 파일 크기
4.13 파일 절단
4.14 파일 시스템
4.15 link, unlink, remove, rename 함수
4.16 기호 링크
4.17 symlink 함수와 readlink 함수
4.18 파일 시간들
4.19 utime 함수
4.20 mkdir 함수와 rmdir 함수
4.21 디렉터리 읽기
4.22 chdir, fchdir, getcwd 함수
4.23 장치 특수 파일
4.24 파일 접근 권한 비트 요약
4.25 요약

제5장. 표준 I/O 라이브러리
5.1 소개
5.2 스트림과 FILE 객체
5.3 표준 I/O 스트림들 - 표준 입력, 표준 출력, 표준 오류
5.4 버퍼링
5.5 스트림 열기
5.6 스트림 읽고 쓰기
5.7 줄 단위 I/O
5.8 표준 I/O의 효율성
5.9 이진 I/O
5.10 스트림 위치 조회 및 설정
5.11 서식화된 I/O
5.12 구현 세부사항
5.13 임시 파일
5.14 표준 I/O 라이브러리의 대안들
5.15 요약
제6장. 시스템 자료 파일과 시스템 정보
6.1 소개
6.2 패스워드 파일
6.3 그림자 패스워드
6.4 그룹 파일
6.5 추가 그룹 ID
6.6 구현상의 차이점
6.7 기타 자료 파일들
6.8 로그인 계정 관리
6.9 시스템 식별
6.10 시간 및 날짜 함수들
6.11 요약

제7장. 프로세스 환경
7.1 소개
7.2 main 함수
7.3 프로세스 종료
7.4 명령줄 인수들
7.5 환경 목록
7.6 C 프로그램의 메모리 구성
7.7 공유 라이브러리
7.8 메모리 할당
7.9 환경 변수
7.10 setjmp 함수와 longjmp 함수
7.11 getrlimit 함수와 setrlimit 함수
7.12 요약

제8장. 프로세스 제어
8.1 소개
8.2 프로세스 식별자
8.3 fork 함수
8.4 vfork 함수
8.5 exit 함수들
8.6 wait 함수와 waitpid 함수
8.7 waitid 함수
8.8 wait3 함수와 wait4 함수
8.9 경쟁 조건
8.10 exec류 함수들
8.11 사용자 ID들과 그룹 ID들의 변경
8.12 해석기 파일
8.13 system 함수
8.14 프로세스 사용 통계
8.15 사용자 식별
8.16 프로세스 시간
8.17 요약

제9장. 프로세스 관계
9.1 소개
9.2 터미널 로그인
9.3 네트워크 로그인
9.4 프로세스 그룹
9.5 세션
9.6 제어 터미널
9.7 tcgetpgrp, tcsetpgrp, tcgetsid 함수
9.8 작업 제어
9.9 셸의 프로그램 실행
9.10 고아 프로세스 그룹
9.11 FreeBSD 구현
9.12 요약

제10장. 신호
10.1 소개
10.2 신호의 개념
10.3 signal 함수
10.4 신뢰성 없는 신호
10.5 가로채인 시스템 호출
10.6 재진입 함수
10.7 SIGCLD의 의미론
10.8 신뢰성 있는 신호에 관련된 용어와 의미론
10.9 kill 함수와 raise 함수
10.10 alarm 함수와 pause 함수
10.11 신호 집합
10.12 sigprocmask 함수
10.13 sigpending 함수
10.14 sigaction 함수
10.15 sigsetjmp 함수와 siglongjmp 함수
10.16 sigsuspend 함수
10.17 abort 함수
10.18 system 함수
10.19 sleep 함수
10.20 작업 제어용 신호들
10.21 추가 기능들
10.22 요약

제11장. 스레드
11.1 소개
11.2 스레드의 개념
11.3 스레드 식별
11.4 스레드 생성
11.5 스레드 종료
11.6 스레드 동기화
11.7 요약

제12장. 스레드 제어
12.1 소개
12.2 스레드에 대한 한계들
12.3 스레드 특성
12.4 스레드 동기화 객체의 특성들
12.5 재진입성
12.6 스레드 고유 자료
12.7 스레드 취소 관련 특성들
12.8 스레드와 신호
12.9 스레드와 fork
12.10 스레드와 I/O
12.11 요약

제13장. 데몬 프로세스
13.1 소개
13.2 데몬의 특징
13.3 데몬 코딩 규칙
13.4 오류 기록
13.5 단일 인스턴스 데몬
13.6 데몬의 관례
13.7 클라이언트-서버 모형
13.8 요약

제14장. 고급 I/O
14.1 소개
14.2 비차단 I/O
14.3 레코드 잠금
14.4 STREAMS
14.5 I/O 다중화
14.5.1 select 함수와 pselect 함수
14.5.2 poll 함수
14.6 비동기 I/O
14.6.1 System V의 비동기 I/O
14.6.2 BSD 비동기 I/O
14.7 readv 함수와 writev 함수
14.8 readn 함수와 writen 함수
14.9 메모리 맵드 I/O
14.10요약

제15장. 프로세스 간 통신
15.1 소개
15.2 파이프
15.3 popen 함수와 pclose 함수
15.4 코프로세스
15.5 FIFO
15.6 XSI IPC
15.6.1 식별자와 키
15.6.2 접근 권한 구조체
15.6.3 설정 한계들
15.6.4 XSI IPC의 장단점
15.7 메시지 대기열
15.8 세마포
15.9 공유 메모리
15.10 클라이언트-서버 속성들
15.11 요약

제16장. 네트워크 IPC: 소켓
16.1 소개
16.2 소켓 서술자
16.3 주소 지정
16.3.1 바이트 순서
16.3.2 주소 형식
16.3.3 주소 조회
16.3.4 주소를 소켓에 연관시키기
16.4 연결 수립
16.5 자료 전송
16.6 소켓 옵션
16.7 대역 밖 자료
16.8 비차단 I/O와 비동기 I/O
16.9 요약

제17장. 고급 IPC
17.1 소개
17.2 STREAMS 기반 파이프
17.2.1 STREAMS 파이프에 이름 붙이기
17.2.2 고유한 연결
17.3. UNIX 도메인 소켓
17.3.1 UNIX 도메인 소켓에 이름 붙이기
17.3.2 고유한 연결
17.4. 파일 서술자 전달
17.4.1 STREAMS 파이프를 이용해서 파일 서술자 넘겨주기
17.4.2 UNIX 도메인 소켓을 이용해서 파일 서술자 넘겨주기
17.5 열기 서버 버전 1
17.6 열기 서버 버전 2
17.7 요약

제18장. 터미널 I/O
18.1 소개
18.2 개요
18.3 특수 입력 문자
18.4 터미널 특성 조회, 설정
18.5 터미널 옵션 플래그들
18.6 stty 명령
18.7 보드율 함수들
18.8 회선 제어 함수들
18.9 터미널 식별
18.10 표준 모드
18.11 비표준 모드
18.12 터미널 창 크기
18.13 termcap, terminfo, curses
18.14 요약

제19장. 유사 터미널
19.1 소개
19.2 개요
19.3 유사 터미널 장치 열기
19.3.1 STREAMS 기반 유사 터미널
19.3.2 BSD 기반 유사 터미널
19.3.3 Linux 기반 유사 터미널
19.4 pty_fork 함수
19.5 pty 프로그램
19.6 pty 프로그램의 활용
19.7 고급 기능들
19.8 요약

제20장. 데이터베이스 라이브러리의 설계와 구현
20.1 소개
20.2 역사
20.3 apue_db 라이브러리
20.4 구현의 개요
20.5 집중인가 탈집중인가
20.6 동시성
20.7 라이브러리 구축
20.8 소스 코드
20.9 성능
20.10 요약

제21장. 네트워크 프린터와의 통신
21.1 소개
21.2 인터넷 인쇄 프로토콜, IPP
21.3 하이퍼텍스트 전송 프로토콜, HTTP
21.4 프린터 스풀링
21.5 소스 코드
21.6 요약

■ 부록 A 함수 원형들
■ 부록 B 기타 소스 코드 963B.1. apue.h 헤더 파일 963B.2 표준 오류 루틴들
■ 부록 C 선별된 연습문제 해답
■ 참고문헌
■ 찾아보기

저자 소개

저자 : 리처드 스티븐스 (W. Richard Stevens)
고(故) 리처드 스티븐스W. Richard Stevens는 이 책의 제1판뿐만 아니라 UNIX 네트워킹의 고전으로 널리 받아들여진 UNIX® Network Programming 제1, 2권과 TCP/IP Illustrated 제1, 2, 3권도 저술한 유명 저자이다.
저자 : 스티븐 레이고 (Stephen A. Rago)
스티븐 레이고Stephen A. Rago는 UNIX® System V Network Programming(Addison-Wesley, 1993)의 저자이다. 또한 UNIX System V, Release 4를 개발한 Bell Laboratories의 개발자들 중 한 명이며, Advanced Programming in the UNIX® Environment의 기술 검토자이기도 했다. 현재는 NEC Laboratories의 Robust and Secure Systems Department의 연구원으로 일하고 있다.
역자 : 류광
옮긴이 류광은 1996년부터 활동해온 프로그래밍 서적 전문 번역가로, 『Game Programming Gems』 시리즈를 비롯한 게임 프로그래밍 서적 다수와 Knuth 교수의 고전 『컴퓨터 프로그래밍의 예술(The Art Of Computer Programming)』 시리즈 전권(1, 2, 3), 『Beautiful Code: 38인의 코딩 명장들이 말하는 내 생애 가장 아름다운 코드』, 『한국어판 Beginning Linux Programming(4판)』, 『C++ 병렬·분산 프로그래밍』 등 다양한 분야의 프로그래밍 서적 다수를 번역했다.

번역과 프로그래밍 외에 소프트웨어 문서화에도 많은 관심을 가지고 있으며, 수많은 오픈소스 프로젝트들의 표준 문서 형식으로 쓰이는 DocBook의 국내 사용자 모임인 닥북 한국(http://docbook.kr/)의 일원이다. 현재 번역서 정보 사이트 occam's Razor(http://occamsrazr.net/)와 Game Programming Gems 스터디 사이트 GPGstudy.com(http://www.gpgstudy.com/)을 운영하고 있다.

관련 분류

품목정보

발행일
2009년 01월 09일
쪽수, 무게, 크기
1065쪽 | 2530g | 187*234*60mm
ISBN13
9788986044744

출판사 리뷰

10년이 넘는 시간동안, 진지한 C 프로그래머들은 UNIX와 Linux 커널을 구동하는 프로그래밍 인터페이스에 대한 실용적이고도 상세한 지식을 담은 한 권의 책, 바로 스티븐스W. Richard Stevens의 Advanced Programming in the UNIX® Environment에 의존해왔다. 이제 스티븐스의 동료 스티븐 레이고Stephen Rago가 최근 기술 발전을 반영하고 현재의 주도적인 UNIX 및 Linux 플랫폼들에 대한 내용을 추가해서 그 고전을 상세하게 갱신했다.

제2판의 저자 레이고는 이 책을 고전으로 자리 잡게 한 특성과 접근방식을 고수했다. 스티븐스의 작업을 기반으로, 저자는 파일, 디렉터리, 프로세스 등의 기본 주제들에서 출발해 신호 처리와 터미널 I/O 같은 보다 고급 주제들의 이해에 필요한 토대를 신중하게 쌓아 나간다. 제1판에는 없던 새로운 내용도 많이 포함되었다. 스레드와 다중 스레드 프로그래밍, 소켓 인터페이스를 이용한 프로세스 간 통신(IPC)에 대한 장들이 추가되었으며, 최신 POSIX.1 버전에 추가된 인터페이스들도 상세히 다룬다. 책의 거의 모든 예제들이 오늘날 가장 널리 쓰이는 네 가지 UNIX/Linux 플랫폼들인 FreeBSD 5.2.1, Linux 2.4.22, Solaris 9, Mac OS X 10.3(FreeBSD/Mach 기반의 Darwin 7.4.0)에서 시험을 거쳤다.

제1판과 마찬가지로, 독자는 10,000여 줄이 넘는 예제들을 통해서 이 책을 학습하게 된다. 예제들은 모두 ANSI C로 작성되었으며 인터넷에서 다운받을 수 있다. 책에는 400개가 넘는 시스템 호출들 및 함수들의 용법과 인수, 반환값을 보여주는 간결하고 완결적인 예제들이 나온다. 그리고 앞서 배운 것들을 하나로 통합하는 의미에서, 여러 장(chapter) 분량의 실질적인, 그리고 최신 환경에 맞게 갱신된 사례 연구 예제들도 제공된다. Advanced Programming in the UNIX® Environment 제1판은 한 세대의 프로그래머들이 이례적인 능력과 성능, 그리고 신뢰성을 가진 코드를 작성하는 데 도움을 주었다. 오늘날의 UNIX/Linux 시스템들에 맞게 개정된 제2판 역시 현 세대의 프로그래머들에게 없어서는 안 될 고전이 될 것이다.

리뷰/한줄평0

리뷰

첫번째 리뷰어가 되어주세요.

한줄평

첫번째 한줄평을 남겨주세요.