이미지 확대/축소가 가능합니다.

닫기


유닉스를 좀 더 효율적으로 활용할 수 있도록 돕고자 한다. 유닉스를 처음 접하는 독자들을 위해 필히 익혀야 하는 유닉스의 개념과 C와 C++ 관련 부분을 추가해 유닉스를 쉽게 배울 수 있도록 하였으며 나중에는 실제 프로젝트와 유사하게 예제 시스템을 구현해보는 자리도 마련하였다. 특히 유닉스 시스템과 네트워크 프로그래밍과 관련된 내용들을 저자의 경험을 바탕으로 해 풍부한 예제를 가지고 설명하고 있다.



Part I. 유닉스

Chapter 01. 유닉스
- 유닉스 시스템
- 유닉스의 특징
- 시스템 사용

Chapter 02. 유닉스 명령어
- 파일/디렉토리 관련 명령어
- 파일 접근 권한 관리 명령어
- 파일 내용보기 관련 명령어
- 검색 관련 명령어
- 디스크 관련 명령어
- 파일 비교 관련 명령어
- 파일 추출 관련 명령어
- 압축과 풀기 관련 명령어

Chapter 03. 유닉스 관련 유용한 툴
- vi 편집기
- TELNET
- FTP
- CYGWIN

Chapter 04. 쉘을 이용한 프로그래밍
- 쉘 문법
- 쉘 프로그래밍
- 쉘 스크립트 호출하기

Part II. C/C++ 프로그래밍

Chapter 05. C를 이용한 프로그래밍
- C 언어 소개
- 컴파일러
- C 프로그래밍
- 라이브러리

Chapter 06. C++를 이용한 프로그래밍1
- 입출력과 관련된 클래스들
- 스트림을 이용한 입력과 출력
- 파일 입출력
- 입출력 스트링 스트림

Chapter 07. C++를 이용한 프로그래밍2
- 메소드와 스코프의 이해
- 메소드의 파라미터로 레퍼런스 활용
- 클래스에 메모리 할당
- 메모리 관리

Chapter 08. 시스템 개발
- make와 Makefile
- 디버깅
- 예외처리
- 시스템 배포

Part III. 유닉스 시스템 프로그래밍

Chapter 09. 입력과 출력
- 입출력과 파일 시스템
- 표준 I/O 라이브러리
- STL을 이용한 파일 입출력

Chapter 10. 자원 관리
- 시스템 관리
- 자원 관리 및 체크
- 시스템 체크 프로그래밍

Chapter 11. 프로세스
- 프로세스 구조
- 프로세스 시스템 호출
- 프로세스 프로그래밍

Chapter 12. 시그널
- 시그널 소개
- 시그널 처리
- 시그널 전송
- 시그널 프로그래밍

Chapter 13. 스레드
- 스레드 소개
- 스레드를 위한 시스템 호출
- 스레드 프로그래밍

Part IV. 유닉스 네트워크 프로그래밍

Chapter 14. 유닉스 네트워크
- 네트워크 개요
- 프로토콜
- 유닉스와 네트워크

Chapter 15. 프로세스간 통신1 : 파이프와 세마포어
- IPC
- 파이프
- FIFO
- 세마포어
- 레코드 락

Chapter 16. 프로세스간 통신2 : 공유 메모리와 메시지 큐
- 공유 메모리
- 메시지 큐
- C++ 언어를 이용한 IPC 구현 예제

Chapter 17. 시스템간 통신1
- 소켓 통신
- 소켓 시스템 호출
- 소켓 프로그래밍

Chapter 18. 시스템간 통신2
- 호스트 정보 수집(UDP, TCP)
- 메시지 송수신(타임아웃)
- 다중 클라이언트 접속 프로그램(fork, select)

Part V. 종합 예제 프로그래밍

Chapter 19. 시스템 소개
- 목적 및 기능
- 시스템 명세와 기능 명세

Chapter 20. 시스템 분석 및 설계
- 시스템 분석 및 설계
- 프로토타입 작성

Chapter 21. 시스템 개발
- 유틸리티 모듈
- 메시지 분석 및 작성
- 장비 통신 모듈
- 프레임워크

Chapter 22. 시스템 테스트
- 시뮬레이터 구현
- 시스템 마무리



유닉스 시스템부터 네트워크까지 철저히 분석한 실전 가이드북!

유닉스는 미국 벨 연구소에서 개발한 운영체제 & 소프트웨어 시스템을 말하는데, 시스템의 기간망이나 분산 컴퓨팅 환경에서 유닉스는 중요한 위치를 차지하고 있습니다. 그래서 네트워크나 시스템 프로그래밍 분야로 진출하고자 하면 반드시 다뤄봐야 하며 대학에서도 주요 과목으로 채택하고 있습니다.

이 책은 유닉스 시스템과 네트워크 프로그래밍과 관련된 내용들을 저자의 경험을 바탕으로 해 풍부한 예제를 가지고 설명하고 있습니다. 이 책은 총 5개의 파트(Part)에 22개의 챕터(Chapter)로 구성되어 있습니다.

Part 1에서는 유닉스의 역사와 주요 명령어, 그리고 유닉스와 관련된 툴 등 유닉스를 시작하기 전에 필요한 내용들을 다루고 있습니다. 유닉스를 처음 접한다면 필히 숙지해야 할 내용들이 담겨있습니다. Part 2에서는 유닉스를 사용하기 위해 반드시 익혀야 하는 C와 C++ 언어를 다루며 이를 이용해 유닉스 환경에서 어떻게 프로그래밍을 하는지 실습할 수 있습니다. Part 3에서는 본격적으로 유닉스 시스템 프로그래밍을 다루게 됩니다. 입출력과 자원 관리, 프로세스, 파이프와 세마포어 등등 주요 개념들을 예제와 함께 소개하고 있습니다. 그리고 Part 4에서는 네트워크와 관련된 내용과 이에 대한 프로그래밍을 다루고 있습니다. 마지막으로 Part 5에서는 지금까지 배워왔던 내용들을 종합해 실전 프로젝트를 진행할 수 있도록 구성하였습니다.

출판사 리뷰

IT 분야를 전공하고 있거나 이 분야에서 종사하고 있다면 아마 유닉스 분야를 직간접적으로 접해보았을 것입니다. 대학 시절, 여러 사람들이 vi 편집기를 이용해 C 프로그래밍을 하고 쉘, 그리고 세마포어나 파이프 등등 유닉스때문에 울고 웃었을지도 모릅니다.

현재 수많은 운영체제가 존재하지만 그 중에서도 유닉스는 역사가 오래되었고 종류도 다양합니다. 솔라리스, Sun OS, AIX, HP/UX를 비롯한 유닉스 운영체제와 소위 페도라, 우분투, 데비안 등등의 리눅스도 유닉스의 개인 PC용 무료 운영체제라고 할 수 있을 것입니다. 유닉스는 발전을 거듭해 현재에는 시스템 운영과 네트워크 분야에서는 강력한 힘을 발휘하고 있습니다. 그리고 앞으로도 유닉스는 발전을 거듭할 것으로 예상됩니다.

이 책은 이러한 유닉스를 좀 더 효율적으로 활용할 수 있도록 도와줍니다. 또한 유닉스를 처음 접하는 독자들을 위해 필히 익혀야 하는 유닉스의 개념과 C와 C++ 관련 부분을 추가해 유닉스를 쉽게 배울 수 있도록 하였으며 나중에는 실제 프로젝트와 유사하게 예제 시스템을 구현해보는 자리도 마련하였습니다. 다양한 시각에 입각해 내용을 구성하고 있어 유닉스의 세계에 좀 더 친근해질 수 있을 것이라 자신합니다.

이 책의 구성

Part Ⅰ. 유닉스

유닉스(UNIX)와 관련된 기본적인 내용들을 다루게 된다. 이 Part는 총 4개의 Chapter로 구성되어 있다. 먼저 Chapter 01에서는 유닉스의 기초 내용과 특징들을 알아볼 것이며 Chapter 02에서는 유닉스에서 사용하는 명령어들을 살펴보도록 할 것이다. Chapter 03에서는 vi나 TELNET, FTP, CYGWIN과 같은 유닉스와 관련된 유용한 툴들을 알아볼 것이다. 그리고 Chapter 04에서는 쉘을 이용한 프로그래밍을 공부할 것이다.

Part II. C/C++ 프로그래밍
Part Ⅱ에서는 유닉스 프로그래밍에서 가장 중요하게 알아둬야 되는 언어인 C와 C++에 대해 다루게 된다. 이 Part는 총 4개의 Chapter로 구성되어 있다. Chapter 05에서는 C언어에 대한 내용들을 배우게 된다. 그리고 Chapter 06과 Chapter 07 두 챕터에 걸쳐 C++ 언어를 배우게 될 것이다. 그리고 Chapter 08에서는 make와 Makefile, 디버깅과 예외 처리, 시스템 배포와 관련된 내용들을 차근차근 배우게 될 것이다.

Part III. 유닉스 시스템 프로그래밍
Part Ⅲ에서는 유닉스에서 시스템 프로그래밍과 관련된 내용들을 다룬다. 이 Part는 총 5개의 Chapter로 구성되어 있다. Chapter 09에서 입력과 출력에 대해 배울 것이며 Chapter 10에서는 시스템과 자원 관리를 다룰 것이다. 또한 Chapter 11에서 프로세스에 대한 내용들을 다루고 Chapter 12에서 시그널과 이와 관련된 부분들을 보게 될 것이다. 마지막으로 Chapter 13에서는 스레드에 대한 내용들을 배우게 될 것이다.

Part IV. 유닉스 네트워크 프로그래밍
Part Ⅳ에서는 네트워크 프로그래밍과 이와 관련된 내용들을 다루게 된다. 이 Part는 총 5개의 Chapter로 구성되어 있다. Chapter 14에서는 유닉스 시스템 환경에서의 네트워크의 개요 등을 다룰 것이며 Chapter 15에서는 프로세스간 통신과 관련된 첫 번째 내용으로 파이프와 세마포어를 배울 것이다. 그리고 Chapter 16에서는 프로세스간 통신의 두 번째 내용인 공유 메모리와 메시지 큐에 대 한 부분을 다룬다. Chapter 17과 Chapter 18은 시스템간의 통신과 관련된 내용을 다루며 소켓 통신 과 소켓 프로그래밍, 호스트 정보 수집과 메시지 송수신, 그리고 다중 클라이언트 접속 프로그램에 대 해 알아볼 것이다.

Part V. 종합 예제 프로그래밍
Part Ⅴ에서는 지금까지 배워왔던 내용들을 총망라해 종합적인 시스템을 구현해보면서 실제로 프로젝트를 수행하는 것과 유사하게 진행될 것이다. 이 Part는 총 4개의 Chapter로 구성되어 있다. Chapter 19에서는 Part Ⅴ 전반에 걸쳐 구현할 시스템의 명세를 소개한다. 그리고 이 명세를 바탕으로 Chapter 20에서 시스템을 분석하고 설계해 프로토타입을 작성할 것이다. Chapter 21에서 본격 적으로 시스템을 개발하고 Chapter 22에서 지금까지 구현한 시스템을 테스트하면서 마무리한다.