리눅스 커널 소스 해설2 [소스 실행 분석기]

24,000원 28,000원
기본 할인4,000원
* 커널 소스 실행 분석기 개요
* 작업 메뉴별 기능 소개
* 환경설정 소스 설명
* 기본훈련 소스 설명
* 알고리즘 및 구조체 소스 설명
* 커널 시작 소스 설명
* 스케쥴러 소스 설명
* WorkQueue 이해
* 드라이버 소스 설명
* 커널연구회 멤버쉽
수량
품절된 상품입니다.
주문 수량   0개
총 상품 금액 0원
페이스북
네이버 블로그
밴드

리눅스 커널 소스 해설2 [소스 실행 분석기]  

저자 정재준

 

"리눅스 커널 소스 해설2 [소스 실행 분석기]"는 커널연구회에서 제작한 어플리케이션 입니다.  리눅스 커널 소스를 qt 어플리케이션 프로젝트로 구성하여 사용자 콘솔에서 직접 실행하면서 분석할 수 있습니다.  커널 소스는 커널 모드에서 실행해야 하는 특성으로 인해서 소스를 빌드하고 실행 및 디버깅하기가 상당히 까다롭습니다.  커널연구회는 그동안 커널 소스를 분석하면서 이런 불편한 점들을 해결하기 위해서 많은 노력을 했습니다. 커널 소스 중에서 하드웨어 의존적인 소스는 커널 모드에서 하드웨어를 직접 제어해야 하므로 따로 분리해서 실행하기 어렵습니다.  그러나 하드웨어에 상관없이 소프트웨어 알고리즘으로 동작하는 소스들(자료구조, 구조체, 공통 라이브러리, 스케쥴러 등)은 별도로 분리하여 사용자 어플리케이션으로 실행할 수 있습니다. 이렇게 하면 소스를 분석 및 디버깅하기 좋아지고 소스도 쉽게 익힐 수 있습니다.  커널연구회는 다년간의 노력과 노하우로 커널 소스 중에서 단독으로 분리할 수 있는 소스들을 파일 단위로 분리하여 qt 프로젝트로 구성하여 사용자 콘솔 어플리케이션으로 실행할 수 있도록 했습니다.  이렇게 하면 커널 소스를 행단위로 하나씩 실행하면서 자세히 분석 및 디버깅 할 수 있습니다.

 

커널연구회의 "리눅스 커널 소스 해설2 [소스 실행 분석기]”는 위의 내용을 이해하기 쉽도록 설명한 책입니다.  리눅스 커널 소스들중에서 환경설정, 초기화, 자료구조, 구조체, 공통 라이브러리, 스케쥴러, 디바이스 트리 파싱, 디바이스 코어 소스를 따로 분리 했습니다.  분리한 소스들은 파일 단위로 qt 어플리케이션 프로젝트로 구성하여 qt에서 실행 및 디버깅할 수 있습니다.  또한 사용자 콘솔 화면에서 직접 실행하여 소스를 분석할 수 있습니다.  소스 파일 경로 구조는 리눅스 커널 소스 구조와 동일하게 구성하여 소스를 학습할때 혼선없이 일관성을 유지할 수 있도록 했습니다. 리눅스 커널 소스는 Long Term 안정화 버전인 v5.4을 기준으로 분석기에 적용 했습니다.

 

책내용 요약


  • 커널 소스 실행 분석기 개요
  • 작업 메뉴별 기능 소개
  • 환경설정 소스 설명
  • 기본훈련 소스 설명
  • 알고리즘 및 구조체 소스 설명
  • 커널 시작 소스 설명
  • 스케쥴러 소스 설명
  • WorkQueue 이해
  • 드라이버 소스 설명
  • 커널연구회 멤버쉽

 

책정보


  • 리눅스 커널 소스 해설2 [소스 실행 분석기]
  • 저자 정재준
  • 발행인:                   정재준
  • 발행처:                   커널연구회
  • 출판사등록번호:       제2011-75호
  • 출판사등록일:          2011년 09월 27일
  • 전화:                       031-592-0478 
  • 팩스:                       031-594-5307
  • 발행일:                    2021년 03월 15일
  • ISBN:                     978-89-97750-15-3
  • 페이지수:                 348
  • 가격:                       2만8천원
  • 책크기:                    257*188mm (B5) 

 

전체 목차


Table of Contents

리눅스 커널 소스 해설2 [소스 실행 분석기]

저작권 2

ISBN 3

저자 소개 4

머리말 5

목차 8

1. 커널 소스 실행 분석기 개요 14

1.1 소스 경로 구조 16

1.2 qt 프로젝트 18

1.3 userspace RCU 패키지 22

1.4 소스 실행 및 디버깅 25

1.5 소스 공유(github) 31

2. 작업 메뉴별 기능 소개 33

2.1 메인 메뉴 34

2.2 환경 설정 메뉴 37    

디버그 메세지 범위 설정 39    

DTB 파일명 설정 42

2.3 기본 훈련 메뉴 43    

Data Types 44    

Basic Pointer Test 46    

Basic Struct Test 46    

Bits Operation Test 48    

CPU Mask Test 49    

Run Time(CPU cycles) Test 51    

Sort Test 51

2.4 알고리즘 및 구조체 학습 메뉴 53    

Linked List Test 55    

List Sort Test 57    

Red-Black Tree Test 58    

XArray Test 62

2.5 커널 시작 소스 테스트 메뉴 68    

setup_arch test 69    

sched_init test 70    

numa_init test 72    

sched_init_smp test 74

2.6 스케쥴러 소스 테스트 메뉴 78    

Basic PELT Test 메뉴 80    

CFS Test 메뉴 82    

DeadLine Test 메뉴 83

2.7 드라이버 소스 테스트 메뉴 85    

Device Tree Test 메뉴 90

3. 환경설정 소스 설명 92

3.1 Config View 95

3.2 함수 호출 스택 깊이 계산 97

3.3 스택 깊이별 디버그 메세지 98

4. 기본 훈련 소스 설명 103

4.1 Data Types 105

4.2 Basic Pointer Test 110

4.3 Basic Struct Test 115

4.4 Bits Operations Test 118

4.5 CPU Mask Test. 122

4.6 Run Time(CPU cycles) Test. 126

4.7 Sort Test. 130

5. 알고리즘 및 구조체 소스 설명 134

5.1 Linked List Test 소스 설명 136

5.2 List Sort Test 소스 설명 150

5.3 Red-Black Tree Test 소스 설명 154

5.4 XArray Test 소스 설명 165    

XArray 구조체 166    

XArray 노드 연결 169    

XArray 노드 삽입 170    

XArray 인덱스 탐색 174    

XArray 인덱스 삭제 177    

XArray의 단점 179    

XArray 소스 테스트 181    

XArray 소스 수정 188

5.5 IDA, IDR Test 소스 설명 205    

idr, ida 구조체 206    

idr 할당 209    

idr 테스트 212    

ida 테스트 214    

idr, ida 점검 테스트 217

6. 커널 시작 소스 설명 220

6.1 setup_arch() test 225

6.2 sched_init() test 234    

sched_init 메모리 할당 237    

sched_init 구조체 연결 242    

sched_init 소스 실행 및 테스트 245

6.3 numa_init() test 248    

NUMA 구조 이해 249    

numa_init() 소스 테스트 252

6.4 sched_init_smp() test 255

7. 스케쥴러 소스 설명 265

7.1 sched_test_menu() 273

7.2 test_sched_new_task 275

7.2 test_sched_current_task_info 278

7.3 test_sched_deactivate_task 279

7.4 test_sched_setscheduler 281

7.5 test_sched_schedule 284

7.6 test_sched_create_group 285

7.7 test_sched_wake_up_process 286

7.8 pr_sched_tg_info 287

7.9 _menu_sched_basic_pelt_test 290

7.10 _menu_sched_cfs_test 291

7.11 _menu_sched_dl_test 292

8. WorkQueue 이해 294

8.1 queue_work 295    

workqueue 구조체 정리 300    

queue_work() 실행 과정 302

8.2 workqueue_init 305    

workqueue_init_early() 소스 설명 305    

workqueue_init() 소스 설명 310

8.3 worker_thread 312

9. 드라이버 소스 설명 316

9.1 Device Tree 구조체 319

9.2 menu_drivers() 323

9.3 dtb_set_file_name 325

9.4 dtb_test_read_file 326

9.5 dtb_test_hex_dump 329

9.6 _menu_of_unittest 331

10. 리눅스 커널 최신 버전 비교 334

11. 커널연구회 멤버쉽 347

 

리눅스 커널 소스 해설2 [소스 실행 분석기]

24,000원 28,000원
추가 금액
수량
품절된 상품입니다.
주문 수량   0개
총 상품 금액 0원
재입고 알림 신청
휴대폰 번호
-
-
재입고 시 알림
페이스북
네이버 블로그
밴드
floating-button-img