장바구니 담기 close

장바구니에 상품을 담았습니다.

유닉스 리눅스 사용에서 프로그래밍까지

유닉스 리눅스 사용에서 프로그래밍까지

  • 창병모
  • |
  • 생능출판
  • |
  • 2012-07-05 출간
  • |
  • 466페이지
  • |
  • 188 X 254 X 30 mm
  • |
  • ISBN 9788970507347
판매가

24,000원

즉시할인가

23,760

배송비

2,500원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
23,760

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




유닉스/리눅스 운영체제는 소프트웨어 경쟁력의 핵심

유닉스 운영체제는 슈퍼컴퓨터, 메인프레임, 워크스테이션, PC, 스마트폰에 이르기까지 거의 모든 컴퓨터에서 광범위하게 사용되고 있다. 특히 PC를 위한 운영체제인 리눅스로 인해 보다 광범위하게 사용되게 되었으며, 애플 사의 맥 OS X 역시 유닉스 기반의 운영체제로 애플의 강력한 소프트웨어 경쟁력의 원천이 되고 있다.
또한 최근 들어서는 스마트폰, 태블릿 PC 등을 위해 맥 OS X를 기반으로 iOS와 리눅스를 기반으로 안드로이드 운영체제가 개발되어 전 세계적으로 사용됨으로써 유닉스/리눅스 사용은 이제 일상이 되었다.

MS 윈도우즈만을 사용하는 우리나라 현실

이 책의 저자는 지난 수년간 유닉스/리눅스 기반의 시스템 프로그래밍을 강의하였다. 그러면서 느꼈던 점은 유닉스/리눅스가 대세임에도 불구하고 우리나라 대부분의 학생들은 시스템 프로그래밍을 배우기 이전에 MS 윈도우즈만을 사용할 뿐 유닉스/리눅스를 사용해본 경험 자체가 별로 없다는 점이다.
또한 이에 따라 유닉스/리눅스 시스템의 사용과 시스템 프로그래밍을 모두 균형 있게 다루는 책 역시 거의 없는 실정이다. 이 책은 이러한 상황에서 시스템 프로그래밍을 보다 효과적으로 공부할 수 있도록 전반부는 유닉스/리눅스 사용과 활용을 중심으로 구성하였고, 후반부는 시스템 프로그래밍을 중심으로 구성하였다.

이 책은 유닉스/리눅스의 사용 및 활용뿐만 아니라 시스템 프로그래밍까지 포괄적으로 다루고 있다. 그러면서도 시스템 프로그래밍에 대해서도 상당히 깊이 있는 내용까지 다루고 있다. 중요한 개념들은 핵심개념을 통해 다시 한 번 강조하였으며 QnA를 통해 초보자들이 궁금해할 수 있는 질문들에 대해 보다 상세히 설명하였다. 또한 매 장마다 실습문제와 연습문제를 제공하여 배운 내용을 충분히 실습할 수 있도록 구성하였다.
이 책의 전반부에서는 유닉스/리눅스 시스템의 사용 및 활용을 중심으로 공부할 수 있도록 구성하였으며, 후반부에서는 시스템 프로그래밍을 중심으로 공부할 수 있도록 구성하였다. 또한 이 책은 어떠한 유닉스/리눅스 시스템에서도 활용될 수 있도록 구성하였으며, 필요에 따라 우분투(http://www.ubuntu.com), 페도라(http://fedoraproject.org), CentOS (http://www.centos.org) 등의 웹페이지에서 배포판을 다운로드하여 설치 CD/DVD를 만들어 설치하여 사용할 수 있도록 하였다.
우분투 리눅스는 웹페이지에서 온라인으로 직접 설치할 수도 있으며 CentOS는 CentOS 6 설치 DVD를 부록으로 제공하고 있다. 또한 손쉬운 접근을 위해 우분투, 페도라, CentOS 등의 대표적인 배포판 파일과 설치에 관한 내용을 출판사 홈페이지를 통해서도 제공하고 있다.

1장 ‘유닉스 소개’에서는 유닉스 계열 운영체제에 대해 전반적으로 소개한다. 특히 유닉스가 많이 사용되는 이유, 유닉스 시스템의 구조, 유닉스 역사 및 버전, 리눅스 설치 등을 중심으로 살펴본다. 2장 ‘유닉스 사용’에서는 유닉스/리눅스를 처음 사용하는 초보자로서 알아야 할 기본적인 기능과 관련 명령어 등에 대해서 살펴본다. 또한 파일 속성, 입출력 재지정, 프로세스 등에 관한 보다 고급 기능에 대해서도 살펴본다. X 윈도우는 유닉스/리눅스의 표준 윈도우 시스템으로 사용자가 쉽게 사용할 수 있는 그래픽 사용자 인터페이스를 제공한다. 3장 ‘X 윈도우’에서는 X 윈도우에 대한 소개와 함께 구조, 사용법 등에 대해서 살펴본다.
유닉스는 네트워크 및 인터넷이 시작된 운영체제라고 할 수 있다. 지금 우리가 사용하고 있는 대부분의 인터넷 관련 서비스 역시 유닉스를 기반으로 하여 발전하였으며 다른 시스템으로 확대되었다. 4장 ‘인터넷’에서는 유닉스가 제공하는 네트워크 및 인터넷 관련 서비스를 중심으로 살펴본다. 유닉스는 기본 명령어 외에 다양한 유틸리티 프로그램들을 제공한다. 5장 ‘유틸리티’에서는 유닉스가 제공하는 대표적인 유틸리티들을 파일 관련 유틸리티, 명령어 스케줄링, 압축 및 아카이브, AWK, vi 에디터 등으로 분류하여 각 절에서 소개한다. 쉘(shell)은 운영체제와 사용자 사이의 인터페이스를 제공하는 소프트웨어이다. 쉘이라는 단어는 사용자와 운영체제의 내부(커널) 사이의 인터페이스를 감싸는 층이기 때문에 그러한 이름이 붙었다. 6장 ‘쉘’에서는 유닉스의 쉘에 대해서 일반적으로 소개한다.
Bash(Borune-again shell) 쉘은 본 쉘을 대체하기 위한 자유 소프트웨어로서 GNU 프로젝트를 위해 브라이언 폭스(Brian Fox)가 개발한 쉘이다. 1989년 발표되어 리눅스, 맥 OS X 등의 운영체제의 기본 쉘로 탑재되어 광범위하게 사용되고 있다. Bash 문법은 본 쉘의 문법을 대부분 수용하면서 확장되었다. 7장 ‘Bash 쉘’에서는 Bash에 대해서 자세히 살펴본다. 1장에서 소개한 것처럼 유닉스는 C 언어와 매우 밀접히 연관되어 있다. 이러한 배경에서 버클리 대학의 대학원생인 빌 조이(Bill Joy)에 의해 개발된 C 쉘은 C 언어의 구문 구조의 특징을 되도록 많이 반영하여 C 언어 사용자들이 쉽게 배우고 사용할 수 있도록 설계되었다. 8장 ‘C 쉘’에서는 C 쉘에 대해 자세히 살펴본다. 대부분의 유닉스 유틸리티와 상용 프로그램들은 C 언어로 작성되었으며 유닉스 자체도 C 언어로 작성되었다. 이렇게 유닉스 시스템은 C 언어와 매우 밀접하게 연관되어 있으며 유닉스시스템을 깊이 있게 이해하기 위해서는 반드시 C 언어를 알아야 한다. 9장 ‘C 프로그래밍 환경’에서는 유닉스/리눅스상에서 C 프로그래밍 하는 데 필요한 기본적인 도구들에 대해서 살펴본다.
프로그램 내에 유지하고 있는 데이터 혹은 정보들은 프로그램이 종료되면 모두 사라지게 된다. 따라서 영속적으로 유지할 데이터 혹은 정보들은 따로 어딘가에 저장해 두어야 한다. 보통 이렇게 영속적으로 저장해야 할 데이터들은 파일에 저장한다. 그리고 나중에 다시 필요하면 그 파일에 저장된 데이터를 읽어서 다시 활용하거나 새로운 데이터들을 추가하게 된다. 10장 ‘C 표준 파일 입출력’에서는 C 언어에서 표준으로 제공하는 파일 입출력에 대해서 살펴본다. 유닉스가 제공하는 가장 중요한 서비스 중의 하나가 파일을 관리하는 것이다. 또한 파일은 거의 모든 응용 프로그램에서 어떤 형태로든 사용하고 있을 만큼 매우 중요한 자원이다. 11장 ‘파일’에서는 파일 관련 시스템 호출과 이를 이용한 프로그래밍에 대해서 살펴본다. 프로세스는 파일과 더불어 유닉스 운영체제가 제공하는 핵심 개념 중의 하나이다. 유닉스 시스템을 깊이 있게 이해하기 위해서는 프로세스에 대해 정확히 이해해야 한다. 12장 ‘프로세스’에서는 프로그램이 시작되는 과정, 프로세스의 구조, 프로세스 생성 및 프로그램 실행 메커니즘, 프로세스 사이의 시그널 등에 대해서 자세히 살펴본다.
시그널을 이용하면 프로세스 사이에 신호를 보낼 수 있어서 다른 프로세스에게 어떠한 사건을 알리거나 다른 프로세스를 제어하는 데 사용할 수 있다. 그러나 시그널을 이용하여 프로세스 사이에 데이터를 주고받는 것은 불가능하다. 프로세스 사이에 데이터를 주고받기 위해서는 별도의 프로세스 사이의 데이터 통신 방법이 필요하다. 13장 ‘프로세스 사이의 통신’에서는 프로세스 사이의 통신(Interprocess Communication, IPC)을 파일과 파이프를 중심으로 살펴본다. 파이프는 한 시스템 내의 프로세스 사이의 통신에만 사용될 수 있으며 단방향 통신이라는 단점을 가지고 있다. 14장 ‘소켓’에서는 파이프의 이러한 한계를 개선한 소켓을 중심으로 네트워크 통신(network communication)을 살펴본다.


목차


Chapter 1 유닉스 소개
1.1 왜 유닉스인가?
1.2 유닉스 시스템 구조
1.3 유닉스 역사 및 버전
1.4 리눅스 설치
1.5 사용 환경
1.6 사용자 계정 관리
핵심개념
실습문제

Chapter 2 유닉스 사용
2.1 기본 명령어
2.2 파일 및 디렉터리
2.3 파일 속성
2.4 입출력 재지정 및 파이프
2.5 후면 처리 및 프로세스
2.6 문서편집기
핵심개념
실습문제
연습문제

Chapter 3 X 윈도우
3.1 X 윈도우 소개
3.2 윈도우 관리자
3.3 GNOME
3.4 KDE
3.5 X 윈도우 구조
3.6 MS 윈도우즈에서 X 윈도우 사용
핵심개념
실습문제
연습문제

Chapter 4 인터넷
4.1 네트워크 구성
4.2 인터넷
4.3 사용자 통신
4.4 파일 전송
4.5 원격 접속
4.6 월드 와이드 웹
핵심개념
실습문제
연습문제

Chapter 5 유틸리티
5.1 파일 관련 유틸리티
5.2 명령어 스케줄링
5.3 디스크 및 아카이브
핵심개념
실습문제
연습문제

Chapter 6 쉘
6.1 쉘 소개
6.2 쉘의 기본 기능
6.3 쉘 명령어 처리
6.4 쉘 스크립트
6.5 작업 제어
6.6 내장 명령어
핵심개념
실습문제
연습문제

Chapter 7 Bash 쉘
7.1 Bash 쉘 소개
7.2 별명 및 히스토리 기능
7.3 변수
7.4 지역변수와 환경변수
7.5 Bash 쉘 스크립트
7.6 식
7.7 제어구조
7.8 고급 기능
핵심개념
실습문제
연습문제

Chapter 8 C 쉘
8.1 C 쉘의 특징
8.2 C 쉘의 추가 기능
8.3 변수
8.4 지역변수와 환경변수
8.5 C 쉘 스크립트
8.6 수식
8.7 제어구조
8.8 고급 기능
핵심개념
실습문제
연습문제

Chapter 9 C 프로그래밍 환경
9.1 컴파일러
9.2 make 시스템
9.3 디버거
실습문제

Chapter 10 C 표준 파일 입출력
10.1 파일 및 파일 포인터
10.2 파일 입출력 함수
10.3 이진 파일
10.4 임의 접근
핵심개념
실습문제
연습문제

Chapter 11 파일
11.1 시스템 호출
11.2 파일
11.3 현재 파일 위치
11.4 파일 상태 정보
11.5 디렉터리
핵심개념
실습문제
연습문제

Chapter 12 프로세스
12.1 프로그램 시작 및 종료
12.2 프로세스 구조
12.3 프로세스 생성
12.4 프로그램 실행
12.5 입출력 재지정
12.6 시스템 부팅
12.7 시그널
핵심개념
실습문제
연습문제

Chapter 13 프로세스 사이의 통신
13.1 파일 및 레코드 잠금
13.2 파이프
13.3 이름 있는 파이프
핵심개념
실습문제
연습문제

Chapter 14 소켓
14.1 소켓
14.2 인터넷 소켓
핵심개념
실습문제
연습문제

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.