메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT EXPERT, 리눅스 커널 프로그래밍

한빛미디어

집필서

절판

  • 저자 : 한동훈
  • 출간 : 2007-01-02
  • 페이지 : 1104 쪽
  • ISBN : 8979144601
  • 물류코드 :1460
  • 초급 초중급 중급 중고급 고급
5점 (5명)
좋아요 : 39
보충자료(동영상)
kernelprog1.wmv
- VMware 설정(VMware v 6.0)

kernelprog2.wmv
- 데비안 설치

kernelprog3.wmv
- 커널 컴파일에 필요한 개발 환경 구축
- gcc 3.3을 시스템 기본 컴파일러로 설정하는 법
- 커널 2.4.32 컴파일 및 재부팅 시연
- 커널 2.6.14.6 컴파일 및 재부팅 시연
다양한 커널 프로그램 실습을 통해 커널의 구조를 이해한다!

이 책은 커널을 과감히 뜯어고쳐가면서 다양한 실습을 하는 데 집중하고 있다. 눈으로 보고, 머릿 속으로 생각하는 것이 아니라 손가락을 바삐 움직이면서 커널을 이해하는 것을 목표로 하고 있다. 이 책의 실습들을 통해 커널을 하나의 장난감처럼 자유롭게 다룰 수 있기를 기대한다.

주요내용
  • VMWare 환경 구성, 리눅스 설치, 개발 환경 설정, 부트 로더
  • 커널 빌드, VI 사용법, 커널 분석 도구, VMWare Tools 설정, 커널 변경 사항
  • 사용자 공간과 커널 공간, 인터럽트 처리과정 이해, 시스템 호출 처리과정, 시스템 호출 추가, 시스템 호출 관련 커널 분석
  • 모듈 프로그래밍 절차 및 실습, 모듈의 상호 참조, 모듈 매개변수 처리, 시스템 호출 래핑, 모듈을 이용한 커널 해킹
  • 디바이스 이해, 문자 디바이스 작성, 커널의 메모리 할당 API, IOCTL 프로그래밍, cdev를 이용한 문자 디바이스 프로그래밍, 문자 디바이스 관련 커널 분석
  • proc 파일시스템 소개, proc 작성, 타이머와 jiffies, 정교한 시간 타이머 작성, procfs 관련 커널 분석
  • 하드디스크의 구조, 블록 디바이스 구조, I/O 스케줄러 및 커널 분석, 가상 램 디스크 작성
  • CPU의 메모리 모델, 리눅스 커널의 메모리 모델, 메모리 관리 및 커널 분석, 버디 시스템, 슬랩 할당자, 메모리 매핑 및 실습, 커널의 연결 리스트 자료구조, 프로세스 메모리 뷰어 실습, LRU 정책
  • 프로세스 관련 커널 분석, 프로세스 생성 과정 분석 및 실습, 프로세스 스케줄링 분석, SJF 스케줄러 구현 실습, O(1) 스케줄러 구현 실습
  • 가상 파일 시스템(VFS) 분석, SFS 파일 시스템 구현 실습
  • OSI 모델과 TCP/IP 스택, 네트워크 프로그래밍 실습, 리눅스의 네트워크 모델 분석, MSN 메신저 차단기 구현 실습, 넷필터 분석, 넷필터로 MSN 메신저 차단, 패킷 뷰어 실습, 프로토콜 후킹
  • WDM 개발환경 준비, WDM의 구조, echo 디바이스 작성 실습
한동훈 저자

한동훈

최근에 31번째 언어를 익히고 있다고 주장하는 저자는 다양한 프로그래밍 언어를 사용하는 것이 취미이다. 첫 프로그래밍 일은 코볼로 된 50만 라인 규모의 코드를 디버깅하는 것이었으며, 그 이후로도 코드를 작성하기 보다는 작성된 코드를 보는 일이 주를 이루고 있다. 물류 시스템, ERP 시스템, 일본과 국내 웹 사이트 개발에 참여했다. 관심분야는 임베디드와 보안이다.
번역서로는 한빛미디어의 『C#과 VB.NET을 활용한 ASP.NET』, 『PHP 보안』이 있으며, 온라인 강의로는 ‘C 프로그래밍 입문’, ‘효율적인 DB 설계와 웹 응용프로그램 구축’이 있다.

chapter 1 리눅스 커널 프로그래밍 환경 구축
01 리눅스 배포판의 종류
02 가상 머신 소프트웨어: VMWare, VirtualPC
03 VMWare 환경 설정
04 데비안 설치하기
05 데비안 패키지 관리
06 ssh 환경 설정하기
07 bash 환경 설정하기
08 커널 프로그래밍 개발 도구 설치하기
09 Hello World 테스트 컴파일
10 부트 로더: LILO, GRUB
참고자료 89
 
chapter 2 커널 컴파일 및 개발 환경 구축
01 커널 소스 코드 구하기
02 커널 빌드 과정
03 커널 2.4 빌드
04 커널 2.6 빌드
05 리눅스 환경의 커널 분석 도구
06 윈도우 환경의 커널 분석 도구 142
07 윈도우와 VMWare 간에 파일 공유하기 148
참고자료 158
 
chapter 3 리눅스 시스템 호출
01 사용자 공간과 커널 공간
02 인터럽트 처리
03 IDT와 리눅스 시스템 호출
04 리눅스 시스템 호출
05 나만의 시스템 호출 추가하기
06 매개변수를 이용한 시스템 호출
07 구조체를 이용한 시스템 호출
08 CPU 정보를 보여주는 시스템 호출
09 _syscall# 매크로에서는 무슨 일이?
10 프로세스 주소 공간 매크로
11 시스템 호출, call과 sysenter
참고자료 215
 
chapter 4 모듈 프로그래밍
01 모듈과 일체형 커널
02 모듈 개발
03 모듈에 대해 알아야 할 것들
04 모듈의 상호참조
05 모듈과 매개변수
06 매개변수 처리의 깊은 곳!
07 시스템 호출 래핑
08 커널 모듈 Hacks
참고자료
 
chapter 5 문자 디바이스 프로그래밍
01 디바이스의 이해
02 문자 디바이스 관련 커널 구조
03 문자 디바이스 작성
04 kmalloc( ) 함수
05 디바이스 사용 횟수 처리
06 구조체의 함수 포인터 선언 방법
07 IOCTL 프로그래밍
08 cdev를 이용한 문자 디바이스 작성
09 register_chrdev( ) 분석
10 MD5 디바이스 실습
11 문자 디바이스 관련 커널 소스 분석
참고자료
 
chapter 6 proc 파일시스템
01 proc 파일시스템이란?
02 procfs 함수
03 simple proc 작성
04 adder proc 작성
05 fun proc으로 root되기
06 타이머와 jiffies
07 정교한 시간측정
08 procfs의 동작
참고자료
 
chapter 7 블록 디바이스 프로그래밍
01 하드디스크의 구조
02 하드디스크의 성능
03 블록 디바이스 구조
04 I/O 관련 기본 자료구조
05 블록 디바이스 드라이버 관련 구조(커널 2.4)
06 가상 램디스크 실습(커널 2.4)
07 블록 디바이스 드라이버 관련 구조(커널 2.6)
08 가상 램디스크 실습(커널 2.6)
참고자료
 
chapter 8 메모리 관리
01 메모리 모델
02 가상 메모리와 페이지 테이블
03 x86 아키텍처의 메모리 모델
04 리눅스 커널의 메모리 모델
05 프로세스에서 바라본 메모리
06 메모리 존
07 메모리 할당 함수
08 버디 시스템(Buddy System)
09 슬랩 할당자(Slab Allocator)
10 메모리 매핑
11 커널 자료구조: 연결 리스트
12 프로세스 메모리 뷰어 645
13 LRU 정책
참고자료
 
chapter 9 프로세스 관리
01 프로세스 자료 구조
02 프로세스 생성
03 프로세스 종료
04 프로세스 스케줄링
05 리눅스의 스케줄링
06 SJF 스케줄러 구현
07 O(1) 스케줄러를 커널 2.4에 포팅하기
참고자료
 
chapter 10 파일시스템
01 가상 파일시스템
02 SFS 파일시스템 구현
참고자료
 
chapter 11 네트워크
01 OSI 모델
02 TCP/IP 스택
03 네트워크 프로그래밍
04 리눅스의 네트워크 모델
05 net_device 구조체
06 리눅스의 패킷 처리
07 MSN 메신저 차단(커널 2.4)
08 넷필터
09 MSN 메신저 차단(넷필터)
10 패킷 뷰어
11 프로토콜 후킹
참고자료
 
부록 A 레드햇9 설치
부록 B 페도라 코어6 설치
부록 C 데비안에서 GUI 환경 구축하기
부록 D 커널 변경 사항
부록 E 윈도우 디바이스 드라이버
 
주요 그림 찾아보기
찾아보기

괜찮은 책입니다. 내용과 구성 모두 좋고, 읽기도 수월합니다.

예제소스에 올린 vmware_full_img.zip 다시 올려 주세요

4기가 인데 다운 받으려고하면 용량이 적게 나와서

압축풀때 오류 납니다.

kernel에 대한 기본 개념뿐만 아니라
심층분석으로 초보자도 책 내용을 이해하며
그저 따라하기만 해도 고수에 이를 수 있는 책입니다.
어떤 분야의 프로그래밍에 종사하더라도
한 번 쯤 꼭 봐야 할 책

리눅스 커널에 대해 처음으로 공부하시는 분이 있다면 주저않고 저는 이 책을 추천하고 싶습니다.

기존의 리눅스 커널 책 들은 개념 위주의 그런 책들이라 한다면
이 책은 그 개념들을 실제 테스트 해 볼수 있다는 점이 큰 매력으로 다가옵니다.

프로그래밍을 배움에 있어 "백문이 불여일타" 라는 말을 몸소 느낄 수 있게 해주는 이 책을 써주신 저자분께 무한 감사 보내는 바입니다

아직 읽는 중입니다만 아직 서평이 없어 몇자 적어봅니다. 이 책은 자세한 설명과 실습이 혼합된 적절한 운영체제에 대한 참고서입니다.



흔히 리눅스를 사용하는 운영체제 수업에서는 첫시간 과제로 시스템콜 추가하기가 나옵니다. 그런데 막상 시중에 어떤 책을 가져와도, 도서관에서 어떤책을 빌려와도 숙제를 해내기가 만만하지 않습니다. 어디서 커널을 받아야하는지, 어떻게 컴파일하는지를 세세하게 설명한 책도 구하기 힘들고, 어떤 소스를 어떻게 수정해야할지도 알기 어렵기 때문이죠. 심지어 리눅스 커널 프로그래밍 책에 어떻게 커널을 컴파일하는지 안써놓은 경우도 많습니다. 반면 이 책의 첫번째 실습 내용이 바로 시스템 콜 추가하기이고, 단순히 실습에 머물지 않고 어떻게 시스템 콜이 수행되는가에 대한 자세한 설명역시 덧붙여져 있습니다.



물론 관련된 유명서적이 많이 있는 것은 사실이지만, 이 책을 통해서 리눅스에서 시스템콜이 실제로 어떻게 이루어지는지를 처음으로 제대로 깨달았습니다. 제가 참조한 지금까지의 책들은 너무 지엽적인 설명에 머물고, 어떤 책들은 너무 일반론에만 머물기 때문입니다. 운영체제를 공부하는 또 다른 친구는 "1. 이책은 한글이고, 2. 그럼에도 불구하고 설명히 자세하다"라는 점에서 이 책을 탐내더군요. 그 두가지 점에 대해서 저도 상당히 공감합니다. 아마 향후 대학에서 운영체제 수업을 들어야하는 학생들에게는 필수 참고서적이 되지 않을까 생각합니다.



특히 저자의 vim 에 대한 간단한 설명 부분이 있는데, cscope나 ctags등에 미숙한 초보 vimpire 분들께 많은 도움이 되리라 봅니다. ㅎㅎ 저 역시 골수 vimpire임에도 몇가지 팁은 새로 보는 것이었습니다.



더욱 관심있는 분야로 프로세스 스케쥴링 등의 파트도 있지만 아직 거기까지 읽지 못한 이유로 추가적인 서평은 나중에 또 등록하겠습니다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
IT EXPERT, 리눅스 커널 프로그래밍
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
IT EXPERT, 리눅스 커널 프로그래밍
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
IT EXPERT, 리눅스 커널 프로그래밍
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1