리눅스 시스템 프로그래밍
2020년 03월 05일 출간
- eBook 상품 정보
- 파일 정보 PDF (4.87MB) | 282 쪽
- ISBN 9791159017537
- 지원기기 교보eBook App, PC e서재, 리더기
-
교보eBook App
듣기(TTS) 불가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)

쿠폰적용가 13,500원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
제1장 Linux Overview 9
1.1 Linux 운영체제의 역사 9
1.2 리눅스 운영체제의 특징 11
제2장 리눅스 활용을 위한 기본 지식 16
2.1 리눅스의 사용자 계정 16
2.2 리눅스의 부팅 과정 17
2.3 GNU gcc 컴파일러 18
2.4 쉘 22
2.5 환경 설정 23
2.6 계층 구조적 파일 시스템 24
제3장 프로세스(Process)와 스레드(Thread) 27
3.1 프로세스의 상태 28
3.1.1 프로세스의 상태 전이 29
3.1.2 리눅스 프로세스의 상태 30
3.2 프로세스의 문맥 교환(context switch) 34
3.2.1 프로세스의 문맥(context)과 태스크 구조체 34
3.2.2 프로세스 간의 문맥 교환(context switch) 36
3.3 시스템 호출과 프로세스의 상태 전이 38
3.4 프로세스의 생성과 소멸 49
3.4.1 프로세스의 종료와 child 프로세스 종료 대기 52
3.4.2 child 프로세스의 상속 54
3.5 프로세스의 프로그램 교체(로딩)를 위한 시스템 호출 exec 그룹 56
제4장 리눅스 스케줄링 61
4.1 성능 향상을 위한 선점 스케줄링의 고려 사항 62
4.2 리눅스 스케줄링 63
4.2.1 스케줄링 관련 시스템 호출 65
제5장 파일 시스템 70
5.1 개요 70
5.2 파일 시스템 inode 71
5.3 파일 시스템과 마운트(mount) 72
5.4 파일 시스템(파티션) 구조 73
5.4.1 inode 내의 파일 데이터 블록 정보 74
5.5 디렉토리 파일과 파일 접근 75
5.6 파일 입출력 77
5.6.1 파일 입출력 함수 79
5.7 파일에의 임의 접근(Random Access) 83
5.8 파일의 제어 87
제6장 메모리 관리 91
6.1 프로세스의 가상 주소 공간 92
6.2 동적 메모리 할당 96
제7장 메모리 사상 파일(Memory Mapped file) 101
7.1 개요 101
7.2 기타 함수들 108
제8장 Pipe: IPC(Inter-Process Communication) I 111
8.1 Pipe에 의한 IPC 112
8.1.1 pipe에 의한 파일 복사 114
8.1.2 pipe의 크기 115
8.1.3 Non-blocking pipe 입출력 116
8.1.4 pipe와 shell 118
8.2 Named pipe와 FIFO 파일 121
제9장 시그널 : IPC II 127
9.1 사용자 정의 시그널 처리기 131
9.2 시그널과 시스템 호출 133
9.3 시그널에 의한 동기화 138
제10장 병행 프로세스 간의 임계 구역 및 상호배제 : IPC III 제146
10.1 임계 구역과 상호배제 146
10.2 fcntl 함수에 의한 Readers’ lock과 Writer’s lock 148
10.2.1 lockf 함수에 의한 파일/레코드 locking 154
10.3 교착 상태(Deadlock) 155
10.3.1 Lock 획득 요청의 순서 정렬에 의한 방법 157
10.4 세마포어(Semaphore) 158
10.4.1 세마포어와 상호배제 159
10.4.2 세마포어에 의한 동기화 160
10.4.3 바이너리 세마포어와 카운팅 세마포어 161
10.4.4 리눅스 계열의 세마포어 161
제11장 프로세스 간 고급 통신 도구 : IPC IV 169
11.1 메시지 큐(Message Queue) 170
11.2 공유 메모리(Shared memory) 177
11.2.1 병행 프로세스에 의한 double buffering의 예 180
11.2.2 IPC 관리를 위한 쉘 명령어들 185
제12장 시간관리187
12.1 시간 표시를 위한 구조체 187
12.1.1 달력시간 187
12.1.2 struct tm 188
12.1.3 시간처리 함수들 188
12.2 인터벌 타이머(Interval Timer) 193
제13장 Network Programming 197
13.1 개요 197
13.2 Connection-oriented(연결형) 통신과 Connectionless(비연결형) 통신 200
13.3 소켓의 사용에 의한 통신 기법 201
13.3.1 클라이언트 - 서버 모델 201
13.3.2 포트 203
13.3.3 소켓과 프로토콜 204
13.3.4 소켓 주소 구조체 206
13.3.5 소켓의 바인딩(binding) 207
13.4 연결형 통신을 위한 함수들과 예제 프로그램 208
13.4.1 통신 접속을 위한 함수들 208
13.5 메시지 송수신을 위한 함수들 211
13.5.1 바이트 순서 및 연산(Byte Ordering) 213
13.5.2 네트워크 정보 214
13.5.3 주소 변환 함수 216
13.5.4 연결형 통신 절차 및 예제 216
13.6 비연결형 통신을 위한 함수들과 예제 프로그램 221
13.6.1 관련 함수들 222
13.6.2 비연결형 통신과 예제 프로그램 224
제14장 스레드 프로그래밍 229
14.1 스레드(thread) 개요 229
14.2 프로세스와 스레드의 관계 230
14.2.1 스레드간에 공유하는 자원들 231
14.2.2 스레드간에 공유하지 않는 자원들 231
14.3 POSIX Thread(Pthread) 232
14.3.1 Pthread의 생성과 종료 233
14.3.2 Pthread 식별자(identifiers) 237
14.3.3 스레드의 조인(Joining threads) 238
14.3.4 스레드의 분리와 조인(Detaching/Joining) 239
14.4 다중 스레드(Multi-threaded) 프로그래밍 244
14.4.1 Boss/Worker 모델 244
14.4.2 Peer 모델 249
14.4.3 파이프라인(Pipeline) 모델 250
14.5 스레드의 임계구역(Critical Section)과 상호 배제(mutual Exclusion) 252
14.5.1 스레드를 이용한 생산자/소비자 문제 254
14.5.2 스레드의 상호배제(Mutual Exclusion) 257
14.5.3 mutex 사용 함수들(pthread_mutex(3)) 259
14.6 스레드의 동기화와 컨디션(Condition) 변수 263
14.6.1 컨디션 변수의 생성과 제거 함수들 263
14.6.2 컨디션 변수에 대한 waiting 및 signaling 264
14.7 Pthead의 세마포어에 의한 동기화 272
14.8 Pthread 스케줄링 276
머리말
오늘날 리눅스 운영체제는 클라우드, 서버, 데스크탑, 임베디드 시스템 및 모바일 기기 등에서 광범위하게 사용되고 있다. 본 교재는 컴퓨터공학 관련 학과에서 “운영체제”를 이수하기 위한 선수 과목인 “시스템 프로그래밍”의 교재로서 리눅스 운영체제 API의 활용을 주로 다루며, 그 외에 운영체제의 개념을 포함한 다음 내용을 다룬다.
- 리눅스 운영체제의 역사와 간략한 특징 소개
- 병행 프로세스/스레드의 개념 및 커널과의 관계
- 시스템 호출과 인터럽트 및 context switching의 관계
- 프로세스 스케줄링
- 주요 시스템 호출과 디스크 및 타이머 인터럽트 핸들러의 내부 소개
- 프로세스 기반 병행 프로그래밍 및 관련 리눅스 API의 활용
- 리눅스 파일 시스템과 관련 API의 활용
- 메모리 관리 및 관련 API의 활용
- 프로세스 간 통신과 관련 API의 활용
- 임계구역과 상호배제 및 세마포어
- 데드락과 처리
- 시간 관리와 관련 API의 활용
- 소켓 기반 네트워크 프로그래밍
- Pthread를 활용한 병행 스레드 프로그래밍
위와 같은 내용이 심도 있는 리눅스 커널의 이해 및 활용의 기초 도서로 참고 되기를 바란다.
2014년 2월
저자 김 정 국
이 책에서는 컴퓨터공학 관련 학과에서 운영체제를 이수하기 위한 선수 과목인 ‘시스템 프로그래밍’의 교재이다.
본 도서에서는 리눅스 운영체제의 역사와 특징 소개, 병행 프로세스/스레드의 개념 및 커널과의 관계, 시스템 호출과 인터럽트 및 context switching의 관계, 프로세스 스케줄링, 주요 시스템 호출과 디스크 및 타이머 인터럽트 핸들러의 내부 소개, 프로세스 기반 병행 프로그래밍 및 관련 리눅스 API의 활용, 리눅스 파일 시스템과 관련 API의 활용 등을 다루고 있으며, 이러한 내용이 리눅스 커널을 이해하고 활용하는데 도움이 될 것이다.
작가정보
저자(글) 김정국
현 한국외국어대학교 공과대학 컴퓨터공학과 교수
경력
▶ 서울대학교 계산통계학과 졸업
▶ KAIST 전산학과 석사 및 박사학위
▶ 임베디드S/W 경진대회 심사위원 및 심사위원장(2004년)
▶ 미래창조과학부/전자신문 주최 신S/W상품대상 선정위원회 위원장
▶ 2010년 11월, S/W 산업발전 기여 공로, 대통령 표창 수상
연구
▶ 리눅스 기반 실시간 스레드 스케줄링
▶ 고 신뢰성 차량용 1Gbps급 동기식 이더넷 통합통신 기반 기술 및 안전제어 시스템 적용기술개발 외 다수
저 서
▶ 김정국, 김길창, 운영체제개념, 홍릉과학출판사, 2003.3
▶ 김정국, 손재기, 박상현, 임베디드리눅스의 이해, 상학당, 2005
논문
Jung Guk Kim, Dong-Min Kim, et. al, “A TMO-based flight program for an unmanned helicopter”, Aircraft Engineering and Aerospace Technology, an International Journal, Vol. 83, No 6. pp. 353-362, SCI, 2011. 외 국내외 다수
특허
▶ 김정국 외 공동, 시간 시스템에서의 데드라인 기반 우선순위상속 기법, 출원번호 10-2011-0086061, 2011
▶ 김정국 외 공동 CAN 기반 TMO 실시간 분산프로세스 간 통신방법, 출원번호 10- 2010- 0014537, 2010.
▶ 김정국 외 공동, 티엠오 모델 기반의 무인 헬리콥터 비행운 용 시스템 및 그 방법, 출원번호 10-2010-0103099, 2010.
▶ 김정국 외 공동, TMO 기반 실시간 분산 메시지 전송 장치, 등록번호 10-2007-0015854, 2007.
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 5,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 5,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

- 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
- 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
- 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
가장 와 닿는 하나의 키워드를 선택해주세요.
총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.
신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.
허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
있으니 유의하시어 신중하게 신고해주세요.
이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.
구매 후 90일 이내 작성 시, e교환권 100원 적립
eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.
차감하실 sam이용권을 선택하세요.
차감하실 sam이용권을 선택하세요.
선물하실 sam이용권을 선택하세요.
-
보유 권수 / 선물할 권수0권 / 1권
-
받는사람 이름받는사람 휴대전화
- 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
- 열람권은 1인당 1권씩 선물 가능합니다.
- 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
- 선물한 열람권의 등록유효기간은 14일 입니다.
(상대방이 기한내에 등록하지 않을 경우 소멸됩니다.) - 무제한 이용권일 경우 열람권 선물이 불가합니다.
첫 구매 시 교보e캐시 지급해 드립니다.

- 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
- 한 ID당 최초 1회 지급 / sam 이용권 제외
- 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
- 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)