이미 소장하고 있다면 판매해 보세요.
|
1장 소개와 핵심 개념
시스템 프로그래밍 API와 ABI 표준 리눅스 프로그래밍 개념 시스템 프로그래밍을 시작하며 2장 파일 입출력 파일 열기 read()로 읽기 write()로 쓰기 동기식 입출력 직접 입출력 파일 닫기 lseek()으로 탐색하기 위치를 지정한 읽기와 쓰기 파일 잘라내기 다중 입출력 커널 내부 결론 3장 버퍼 입출력 사용자 버퍼 입출력 표준 입출력 파일 열기 파일 기술자로 스트림 열기 스트림 닫기 스트림에서 읽기 스트림에 쓰기 버퍼 입출력을 활용하는 예제 프로그램 스트림 탐색하기 스트림 강제 출력(버퍼 비우기) 오류와 EOF 관련된 파일 기술자 얻기 버퍼 제어하기 스레드 안전 표준 입출력 비판 결론 4장 고급 파일 입출력 이합/집산 입출력 epoll(Event Poll) 인터페이스 파일을 메모리에 사상하기 일반 파일 입출력을 위한 조언 동기화, 동기식, 비동기식 연산 입출력 스케줄러와 성능 결론 5장 프로세스 관리 프로세스 ID 새로운 프로세스 실행하기 프로세스 종료하기 자식 프로세스 종료 기다리기 사용자와 그룹 세션과 프로세스 그룹 데몬 결론 6장 고급 프로세스 관리 프로세스 스케줄링 프로세서 양보하기 프로세스 우선순위 프로세서 친화도 실시간 시스템 자원 제한 7장 파일과 디렉터리 관리 파일과 메타자료 디렉터리 링크 파일 복사와 이동 디바이스 노드 대역 외 통신 파일 사건 감시하기 8장 메모리 관리 프로세스 주소 공간 동적 메모리 할당하기 자료 세그먼트 관리하기 익명 메모리 사상 고급 메모리 할당 메모리 할당 디버깅 스택 기반 할당 메모리 할당 메커니즘 선택하기 메모리 조작하기 메모리 잠그기 기회주의적인 할당 전략 9장 시그널 시그널 개념 기초적인 시그널 관리 시그널 보내기 재진입성 시그널 집합 시그널 차단하기 고급 시그널 관리 페이로드와 더불어 시그널 보내기 결론 10장 시간 시간을 표현하는 자료 구조 POSIX 시계 현재 시각 얻기 현재 날짜와 시각 설정하기 시간 다루기 시스템 시계 조율 잠들기와 기다리기 타이머 부록 C 언어를 위한 GCC 확장 |
|
시스템 프로그래밍은 포털, 게임, 서버 등 수많은 IT 분야에서 이용되고 있다. 이에 수많은 개발자들이 학습의 필요성을 느끼고 있고, 시스템 프로그래머를 육성하기 위해 학과 커리큘럼도 다양하게 준비되어 있다. 이런 열기 때문에 시중에는 다양한 시스템 프로그래밍 학습서가 나와 있지만 주로 유닉스 위주로, 리눅스 개발자를 위한 책은 찾아보기 어려운 실정이다. 이 책은 기본적인 시스템 프로그래밍 기법은 물론 리눅스 기반 프로그래밍 시 알아두면 좋은 내용까지 담았기 때문에 특히 리눅스 환경에서 업무를 수행하는 개발자들에게 도움을 준다.
- 시스템 프로그래밍을 처음 배우는 사람은 누구라도 쉽게 이해 가능하도록 눈높이를 낮추었다. - 꼭 필요한 부분만 넣었다. 실제 프로그래밍 시 활용도가 높은 내용을 위주로 구성했다. - 유닉스와 달리 리눅스 환경에서만 적용되는 특징을 설명한다. 이로 인해 유닉스 위주 시스템 프로그래밍 책으로는 얻기 어려운 생생한 리눅스 프로그래밍 기법을 학습할 수 있다. - 일반적으로 리눅스 기반 환경에서 시스템 프로그래밍을 수행하거나 리눅스 환경에 익숙한 개발자 - 일반적으로 유닉스나 리눅스 기반 시스템 프로그래밍을 수행해 왔지만, 새 프로젝트에 투입되거나 업무 환경이 변화하여 리눅스에 특화된 시스템 프로그래밍 기법을 알고 싶은 개발자 리눅스 기반 개발 방법과 예제를 다룬 리눅스 전용 시스템 프로그래밍 가이드 시스템 프로그래밍 기법은 임베디드를 비롯한 수많은 IT 현장에서 꾸준히 활용되고 있다. 하지만 유닉스에 비해 완전히 리눅스 기반으로 개발 방법과 예제를 설명하는 책은 드물었다. 이 책은 리눅스 전용 시스템 프로그래밍 기법에 대해서 항상 2% 부족하게 느껴왔던 프로그래머를 위한 책이다. 전체적인 구성을 살펴보면, 기본적인 시스템 소프트웨어를 작성하는 프로그래밍 기법과 더불어 커널/핵심 시스템 라이브러리와 직접 통신하며 저수준에서 동작하는 코드를 상세히 설명한다. 특히 리눅스에서 제공하는 시스템 호출 기법은 하나하나 꼼꼼히 짚어가면서, 사용자 영역이 어떤 방식으로 커널이 제공하는 서비스에 접근하는지 설명하기 때문에 누구라도 쉽고 편리하게 학습할 수 있다. 또한 빈번하게 사용하지는 않지만, 고급 프로그래머가 되기 위해서 알아두면 좋은 시스템 호출법은 물론 이미 알고 있는 시스템 호출법 중에서도 숨어 있는 유용한 옵션을 소개한다. 이 책을 통해 필수적인 시스템 호출과 프로그래밍 비법을 학습하여, 더 훌륭한 리눅스 시스템 프로그래머로 도약해보자. |