유닉스 시스템 프로그래밍
없습니다
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자(글) 아담 후버
저자 아담 후버(Adam Hoover)는 사우스 플로리다 대학의 컴퓨터 공학과에서 학부부터 박사 과정까지 밟았다. 그는 1996년에 캘리포니아 대학교의 컴퓨터 공학과에서 강의를 시작하였으며, 1999년에 클렘슨 대학의 컴퓨터 공학과로 옮겼으며, 현재 이 대학에서 부교수로 근무하고 있다. 후버 박사는 IEEE의 회원으로서, 그의 주된 관심 분야는 인텔리전트 시스템이다.
번역 고현영
역자 고현영은 광운대학교 전자통신공학과와 동대학원을 졸업했다. 역서로는 “Ajax 보안(에이콘, 2008)”, “CCNA ICND 2 AUTHORIZED SELF-STUDY GUIDE(피어슨에듀케이션코리아, 2009), "Objective-C 프로그래밍(비팬북스, 2010)”이 있다. 그리드 컴퓨팅과 보안에 관심이 많다.
번역 이정택
역자 이정택은 광운대학교 컴퓨터공학과를 졸업하였다. 역서로는 “Objective-C 프로그래밍(비팬북스, 2010)”이 있다. 시스템 프로그래밍에 경험이 많으며, 현재는 광운대학교 통신정보시스템 연구실에서 효율적인 3D 영상 전송을 위한 네트워크 프로그래밍 및 3D 영상 휴먼팩터 정량화를 위한 연구를 하고 있다.
목차
- 1장 소개
1.1 시스템 프로그래밍
1.1.1. 필요한 배경 지식
1.1.2 왜 Unix인가?
1.1.3 왜 C인가?
1.2 세 가지 툴
1.2.1 쉘
1.2.2 텍스트 에디터
1.2.3 디버거
1.2.4 통합 개발 환경(IDE)
1.3 디버깅 방법
1.3.1 프로그램 크래시
1.3.2 무한 루프에 빠졌을 때
1.3.3 프로그램의 부분 실행
1.3.4 루프가 오동작할 때
1.4 프로그램 개발
1.5 C의 리뷰
1.5.1 기본 데이터 타입
1.5.2 기본 수치 연산
1.5.3 루프
1.5.4 조건문과 블록
1.5.5. 흐름 제어
연습 문제
2장 비트, 바이트, 데이터 타입
2.1 비트 모델
2.1.1 magnitude-only 비트 모델
2.1.2 sign-magnitude 비트 모델
2.1.3 2의 보수 비트 모델
2.1.4 부동 소수점 비트 모델
2.1.5 ASCII와 유니코드 비트 모델
2.1.6. 비트 모델 요약
2.2 비트 연산
2.2.1 이진 논리 연산
2.2.2 비트 연산자
2.2.3 비트마스크 연산7
2.3 메모리 맵
연습 문제
3장 배열과 스트링
3.1 배열
3.1.1 다차원 배열
3.2 스트링2
3.2.1 다차원 스트링
3.3 스트링 라이브러리 함수
3.3.1 스트링 길이: strlen()
3.3.2 스트링 비교: strcmp()
3.2.3 스트링 복사: strcpy()
3.3.4 스트링 연결하기: strcat()
3.3.5 스트링 출력: sprint()
3.3.6 스트링 함수 예제
3.3.7 라이브러리로 해결할 수 없는 문제들
3.4 커맨드 라인 인자
연습 문제
4장 포인터와 구조체
4.1 포인터
4.1.1. 포인터 연산
4.2 포인터 사용
4.2.1 함수의 값을 되돌려 주기
4.2.2 포인터와 배열
4.2.3 동적 메모리 할당
4.2.4 이중 포인터
4.3 구조체
4.4 구조체 사용
4.4.1 배열과 구조체
4.4.2 정의와 스코프
4.4.3 중첩 구조체
4.4.4 포인터와 구조체
연습 문제
5장 입출력
5.1 스트림
5.1.1 스트림을 통한 바이트 이동
5.1.2 시스템 입출력 함수
5.1.3 표준 스트림
5.2. 버퍼
5.3 파이프
5.3.1 파이프라인 체인
5.3.2 프로그램 테스트
5.4 파일
5.4.1 파일 포인터
5.4.2 파일 속성
5.4.3 디렉토리
5.5 디바이스
5.5.1 디바이스 드라이버
연습 문제
6장 프로그램 관리
6.1 프로그램 빌딩
6.1.1 목적 코드와 링크
6.1.2 컴파일
6.1.3 Makefiles
6.1.4 기타 빌드 툴
6.2 코드 구성
6.2.1 함수
6.2.2 다중 파일
6.2.3 변수 스코프
6.2.4 주석, 들여쓰기, 변수 이름
6.2.5 전처리
6.2.6 typedef
6.2.7 토론
6.3 프로그램 배포 방법
6.3.1 아카이브
6.3.2 패키지
연습 문제
7장 시스템 콜
7.1 오퍼레이션 패밀리
7.2 라이브러리와 시스템 콜
7.3 프로세스 시스템 콜
7.3.1 프로세스
7.3.2 fork()
7.3.3 exec() 류
7.3.4 wait()
7.4 시그널 시스템 콜
7.4.1 signal()
7.4.2 kill()
7.5 소켓 시스템 콜
7.5.1 네트워크 개념과 시스템 명령
7.5.2 클라이언트 서버 모델
7.5.3 예제
연습 문제
8장 라이브러리
8.1 라이브러리 사용
8.1.1 헤더 파일
8.1.2 라이브러리 파일
8.2 라이브러리의 목적
8.3 C 표준 라이브러리
8.4 Curses 라이브러리
8.4.1 I/O 콘트롤
8.4.2 동적 그래픽
8.5 X 라이브러리
8.5.1 윈도우
8.5.2 2차원 그래픽
8.5.3 그래픽 속성
8.5.4 사용자 입력
8.5.5 폰트
8.6 라이브러리 만들기
8.7 라이브러리의 함정
연습 문제
9장 스크립트 언어
9.1 스크립트 언어를 시작하며
9.2 쉘 스크립트
9.2.1 입력/출력
9.2.2 변수
9.2.3 루프
9.2.4 조건문
9.2.5 쉘 외부 프로그램
9.2.6 기타 기능
9.3 펄
9.3.1 입/출력
9.3.2 변수
9.3.3 루프와 조건문
9.3.4 패턴 대체
9.3.5 기타
9.4 MATLAB
9.4.1 입출력
9.4.2 변수
9.4.3 반복문과 조건문
9.4.4 내장 수학 함수
9.4.5 그리기
9.4.6 기타 기능
9.5 토론
연습 문제
부록 A ASCII 표
부록 B 공통 쉘 명령어
부록 C 시스템 프로그램
찾아보기
책 속으로
본 책은 독자가 시스템 프로그래밍의 도구와 리소스를 보다 효과적으로 다루어 프로그램을 작성케 하는 것이 목표다. 라이브러리는 무엇이고 어떻게 쓰는가? 디버거는 무엇이고 개발 때 어떤 도움을 주나? 스크립트 언어란 무엇이고 언제 유용한가? 시스템 콜이란 무엇이고 언제 유용한가? 혹자는 GUI 환경보다 쉘 환경을 더 좋아하는데 그 이유는 무엇일까? 본 책으로 시스템 프로그램을 공부하면 질문에 답할 수 있을 것이다.
시스템 프로그램과 함께 이 책은 저수준 데이터 타입에 대해서도 다룬다. 비트, 바이트, 비트 연산, 배열, 스트링, 구조체와 포인터를 다룬다. 이런 류는 메모리에 대해 논할 때 살펴보고 언제 어떻게 사용되는지도 알아볼 것이다. 메모리 레벨에서 코드를 이해하는 것이 보다 고급 주제의 프로그래밍 개념을 잡을 때 도움이 된다. 저수준 데이터 타입을 다루면서 이전에 배웠던 내용을 보다 확실히 이해할 것이다. 점점 수준을 높여가며 프로그램을 익히게 하여 책에서 다룬 주제를 확실히 알고 사용할 수 있게 하였다. (저자 서문 중에서)
시스템을 이해해야 이를 활용할 수 있다. 이는 당연한 말입니다. 하지만 이 당연한 말을 잊고 사는 것 같다는 생각이 듭니다. 취업을 위해서 C를 해야 하나요 자바를 해야 하나요라고 묻는 후배들을 볼 때 C나 자바보다 시스템을 아는 것이 중요하다고 얘기해 줍니다. C나 자바라는 언어는 시스템의 자원을 가져다가 쓰게 해 주는 방법입니다. 프로세스를 만들고 쓰레드를 만들고 네트워크를 통한 데이터를 전송하는 것은 결국 시스템의 자원을 활용하는 것입니다. 프로그램을 처음 만들 때는 시스템에 대해 별 고민 없이 만들지 모르지만 점점 더 대규모의 프로그램을 만들어야 하는 상황이 오게 되면 가장 효과적인 방법을 고민해야 하고 한계가 무엇인지 알아야 합니다. 이것은 시스템을 이해할 때 가능한 것입니다. 기본을 잘 해야 깊이 있는 프로그래머가 될 수 있습니다. 본 책은 시스템 프로그램에 대해 쉽고 체계적으로 설명하고 있습니다. 개념과 필요성 그리고 간결한 예제로 설명하고 있습니다. 특히 처음 시작하는 사람들이 어려워하는 포인터나 메모리 개념을 메모리 맵을 활용하여 잘 설명하고 있는 것이 인상적입니다. 본 책을 통해 시스템을 보는 눈의 폭이 넓어질 뿐 아니라 구현을 할 때도 도움이 되리라 생각합니다. (역자 서문 중에서)
출판사 서평
이 책은 유닉스와 리눅스 환경에서 시스템 프로그래밍을 배우려는 이들을 위한 책이다. 사용 언어는 C이며, 독자들이 최소한 C 기본 문법은 안다는 가정 하에서 내용을 전개하고 있다. 난이도는 아주 어렵지도 않고 아주 쉽지도 않다. 그래서 강의를 한다면 한 학기 교재로 사용하기 적절하고, 독학을 한다면 시스템 프로그램 전반에 대해서 알 수 있는 책이다. 책의 전반부에서는 시스템 프로그래밍을 익힐 때 가장 많이 활용되는 배열, 스트링, 포인터, 구조체 등을 전체적으로 다시 짚어준다. 그리고 시스템 프로그래밍의 핵심 요소인 입출력, 시스템 호출, 프로그램 관리 방법, 라이브러리를 설명한다. 마지막으로 시스템 프로그램을 강화할 수 있는 스크립트 언어에 대해 설명한다. 각 장의 마지막에는 연습문제가 수록되어 있어서 개인별/팀별 프로젝트에 활용할 수 있다.
본 책은 독자가 시스템 프로그래밍의 도구와 리소스를 보다 효과적으로 다루어 프로그램을 작성케 하는 것이 목표다. 라이브러리는 무엇이고 어떻게 쓰는가? 디버거는 무엇이고 개발 때 어떤 도움을 주나? 스크립트 언어란 무엇이고 언제 유용한가? 시스템 콜이란 무엇이고 언제 유용한가? 혹자는 GUI 환경보다 쉘 환경을 더 좋아하는데 그 이유는 무엇일까? 본 책으로 시스템 프로그램을 공부하면 질문에 답할 수 있을 것이다.
시스템 프로그램과 함께 이 책은 저수준 데이터 타입에 대해서도 다룬다. 비트, 바이트, 비트 연산, 배열, 스트링, 구조체와 포인터를 다룬다. 이런 류는 메모리에 대해 논할 때 살펴보고 언제 어떻게 사용되는지도 알아볼 것이다. 메모리 레벨에서 코드를 이해하는 것이 보다 고급 주제의 프로그래밍 개념을 잡을 때 도움이 된다. 저수준 데이터 타입을 다루면서 이전에 배웠던 내용을 보다 확실히 이해할 것이다. 점점 수준을 높여가며 프로그램을 익히게 하여 책에서 다룬 주제를 확실히 알고 사용할 수 있게 하였다. (저자 서문 중에서)
시스템을 이해해야 이를 활용할 수 있다. 이는 당연한 말입니다. 하지만 이 당연한 말을 잊고 사는 것 같다는 생각이 듭니다. 취업을 위해서 C를 해야 하나요 자바를 해야 하나요라고 묻는 후배들을 볼 때 C나 자바보다 시스템을 아는 것이 중요하다고 얘기해 줍니다. C나 자바라는 언어는 시스템의 자원을 가져다가 쓰게 해 주는 방법입니다. 프로세스를 만들고 쓰레드를 만들고 네트워크를 통한 데이터를 전송하는 것은 결국 시스템의 자원을 활용하는 것입니다. 프로그램을 처음 만들 때는 시스템에 대해 별 고민 없이 만들지 모르지만 점점 더 대규모의 프로그램을 만들어야 하는 상황이 오게 되면 가장 효과적인 방법을 고민해야 하고 한계가 무엇인지 알아야 합니다. 이것은 시스템을 이해할 때 가능한 것입니다. 기본을 잘 해야 깊이 있는 프로그래머가 될 수 있습니다. 본 책은 시스템 프로그램에 대해 쉽고 체계적으로 설명하고 있습니다. 개념과 필요성 그리고 간결한 예제로 설명하고 있습니다. 특히 처음 시작하는 사람들이 어려워하는 포인터나 메모리 개념을 메모리 맵을 활용하여 잘 설명하고 있는 것이 인상적입니다. 본 책을 통해 시스템을 보는 눈의 폭이 넓어질 뿐 아니라 구현을 할 때도 도움이 되리라 생각합니다. (역자 서문 중에서)
기본정보
ISBN | 9788994797021 | ||
---|---|---|---|
발행(출시)일자 | 2011년 09월 30일 | ||
쪽수 | 377쪽 | ||
크기 |
180 * 235
* 30
mm
/ 710 g
|
||
총권수 | 1권 | ||
원서명/저자명 | System programming with C and Unix/Hoover, Adam |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립