Thumbnail
얼리버드 할인 중(D-8)
NEW
보안 · 네트워크 시스템

리눅스 커널의 구조와 원리: 프로세스 [저자 직강 1부-4] 대시보드

28명이 수강하고 있어요.

30%

38,500원

55,000원
지식공유자: 김동현 (Austin Kim)
총 70개 수업 (9시간 31분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[시스템, Linux] 강의입니다.

시스템 소프트웨어에서 가장 많이 쓰이는, 최신 리눅스 커널(v6.1)의 프로세스 핵심 개념을 "디버깅을 통해 배우는 리눅스 커널의 구조와 원리"의 저자가 제대로 설명합니다.

✍️
이런 걸
배워요!
리눅스 커널에서 프로세스의 역할
프로세스의 기본 동작 방식
프로세스의 스택의 구조
TRACE32로 프로세스의 다양한 실행 흐름을 디버깅하는 방법
멀티 코어 시스템 구조에서 프로세스의 동작 방식

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
시스템 반도체, 전기 자동차 분야(자율주행, 인포테인먼트)를 포함한 시스템 소프트웨어 분야에서 역량을 키우고 싶은 주니어 개발자
시스템 반도체, 전기 자동차 분야와 같은 시스템 소프트웨어 개발을 하고 싶은 취업 준비생
시스템 소프트웨어 분야(메모리, 파일 시스템, 운영체제)의 대학원 진학을 목표로 하는 대학생
시스템 소프트웨어 분야로 커리어를 전환하려는 다른 분야의 개발자
📚
선수 지식,
필요할까요?
운영체제
컴퓨터구조
C언어

안녕하세요
김동현 (Austin Kim) 입니다.
김동현 (Austin Kim)의 썸네일

국내 시스템 소프트웨어 분야에서 전무후무한! 'Arm 아키텍처(Armv8-A, Armv7-A)'와 '리눅스 커널' 책을 쓴 저자이며, 최신 시스템 소프트웨어 트렌드(전기자동차, 시스템 반도체- 시스템 소프트웨어)를 가장 잘 알고 있는 현업 개발자입니다. 또한 시스템 소프트웨어 분야에서 가장 지식 전파 활동을 활발하게 하는 교육자입니다. 

  • '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2023년) 저자

  • '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' (2021년, 대한민국 학술원 우수도서상) 저자

  • '프로그래머스 데브 코스: 리눅스 시스템 및 커널 전문가' 메인 강사

  • 2022년 6월, 한국컴퓨터종합학술대회 (KCC2022) - 튜토리얼 발표 [ftrace를 이용해 리눅스 커널 정복하기]

  • LG전자 '리눅스 커널' 및 'Armv8 아키텍처' 사내 강사(국내 및 해외 개발자 포함) - (2020년~현재)

국내에서 어느 누구보다 리눅스 커널과 Arm 아키텍처(Armv8-A, Armv7-A)를 잘 설명할 수 있는 교육자라고 자신있게 말씀드릴 수 있습니다.

주요 로드맵 🎯

'시스템 소프트웨어 개발자를 위한 Arm - basic course'

'시스템 소프트웨어 개발자를 위한 Arm - advanced course'

로드맵_이미지_스킨.png

 

시스템 소프트웨어 개발자를 위한 Linux kernel - basic course

image

체계적으로 Arm 아키텍처(Armv8-A, Armv7-A)와 리눅스 커널을 배우시려는 분은 로드맵(전체 강의 30% 할인)을 활용하시면 좋습니다.

커리큘럼 총 70 개 ˙ 9시간 31분의 수업
이 강의는 영상, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 강의 소개
강의 및 교육자 소개 06:23
강의 자료(TRACE32 프로그램 설치 문서)
실습 프로그램: TRACE32 교육용 프로그램
섹션 1. 프로세스 소개
리눅스 3대 리소스 중 프로세스란 05:30
프로세스 소개 미리보기 06:20
유저모드와 커널모드란 08:26
유저 프로세스와 커널 프로세스란 미리보기 06:37
프로세스와 태스크란 04:29
프로세스를 왜 잘 알아야 할까-Part.1 (커널의 주요 기능을 잘 이해하기 위해) 17:32
프로세스를 왜 잘 알아야 할까-Part.2 (커널 소스를 실행하는 주인공은 프로세스) 06:53
섹션 2. 디버깅으로 프로세스 알아보기
Crash-Utility로 프로세스 기본 동작 디버깅하기 10:02
TRACE32로 유저 프로세스와 커널 프로세스 확인하기 11:47
섹션 3. 프로세스 주요 동작-유저 프로세스
유저 프로세스-생성 과정 13:17
커널 소스 분석-프로세스 생성 13:17
프로세스가 종료되는 흐름 11:07
섹션 4. 프로세스의 주요 동작-커널 스레드
커널 프로세스 소개 12:33
커널 프로세스-생성 과정 05:42
주요 커널 스레드 소개 10:09
섹션 5. 프로세스 자료 구조-task_struct
task_struct 구조체 소개 미리보기 04:30 thread_info: 아키텍처에 의존적인 프로세스 상태 미리보기 06:13
CPU 아키텍처 별 thread_info 구조체 07:26
__state: 프로세스 상태 09:37
flags 필드 - 프로세스의 세부 동작 07:38
mm 필드 - 유저 프로세스의 가상 주소 공간 06:28
tasks - 프로세스의 링크드 리스트 04:27
섹션 6. current 매크로
current 매크로 소개 07:17
current 매크로를 사용한 2가지 디버깅 패치 06:10
current 매크로 구현부-Armv8 아키텍처 08:26
current 매크로 상세 분석-SP_EL0가 업데이트되는 함수 호출 흐름 12:25
섹션 7. 프로세스 컨텍스트 - TRACE32 디버깅
인터럽트 컨텍스트와 preempt_count-Part.1: 콜 스택 흐름 분석 미리보기 07:12
인터럽트 컨텍스트와 preempt_count-Part.2: 인터럽트 컨텍스트 활성화 코드 분석 16:55
인터럽트 컨텍스트와 preempt_count-Part.3: ftrace 분석 11:56
flags 필드와 유저 프로세스의 Preemption-Part1: 콜 스택 흐름 분석 03:46
flags 필드와 유저 프로세스의 Preemption-Part2: 커널 소스와 자료 구조 분석 16:08
flags 필드와 유저 프로세스의 Preemption-Part3: Preemption 실행 흐름 분석 07:31
커널 공간의 Preemption과 preempt_count-Part.1: 덤프 소개 및 실행 흐름 05:41
커널 공간의 Preemption과 preempt_count-Part.2: 커널 소스와 자료 구조 분석 08:28
커널 공간의 Preemption과 preempt_count-Part.3: ftrace 분석 11:18
섹션 8. 스택(Stack) - Basic
프로세스의 스택 기본 구조 12:13
프로세스 스택 디버깅 - Part.1 (TRACE32, crash-utility 사용) 09:21
프로세스 스택 디버깅 - Part.2 (TRACE32, crash-utility 사용) 10:59
프로세스 스택 디버깅 - 커널 스레드 11:33
프로세스 스택 주요 이슈 08:20
섹션 9. 스택(Stack) - Advanced
Stack Corruption Crash debugging - Part.1 07:40
Stack Corruption Crash debugging - Part.2 06:23
Stack Corruption Crash debugging - Part.3 16:10
Stack Overflow Crash debugging 11:46
섹션 10. 멀티 코어 환경: 프로세스 동작
Multicore 시스템- 프로세스 동작 방식 10:13
Multicore 시스템- 프로세스 자료 구조: thread_info.cpu 08:21
smp_processor_id() 함수 13:12
섹션 11. ftrace 디버깅 - 프로세스 생성, 소멸
프로세스 생성 및 소멸: ftrace 이벤트 소개 07:54
프로세스 생성: ftrace 메시지 분석 11:40
프로세스 생성: ftrace 메시지를 출력하는 커널 소스 분석 07:04
프로세스 소멸: ftrace 메시지 분석 16:22
프로세스 소멸: ftrace 메시지를 출력하는 커널 소스 분석 03:46
섹션 12. 프로세스 생성 및 소멸 - 메모리 덤프 디버깅(TRACE32)
프로세스 생성: 콜 스택 흐름 분석 - kernel_clone() 07:58
프로세스 생성: 상태와 부모 프로세스 확인 13:17
프로세스 생성: 복제된 리소스 확인(파일 객체, 스택 데이터) 14:38
프로세스 생성: 덤프에서 ftrace 확인하기 08:10
프로세스 소멸: 콜 스택 흐름 분석 - do_exit() 13:14
프로세스 소멸: do_exit() 소스 코드와 소멸 과정 분석 12:09
프로세스 소멸: do_exit() 자료 구조 분석 09:50
섹션 13. 리눅스 커널 메모리 덤프(실습 자료)
1-process_dump-panic
2-process_dump- Stack Corruption
3-process_dump: Stack Overflow
4-process_dump-유저 프로세스 생성
5-process_dump-프로세스: 종료
6-process_dump-유저 공간 preemption
7-process_dump- 커널 공간 preemption
8-process_dump- 인터럽트 컨텍스트
강의 게시일 : 2024년 04월 09일 (마지막 업데이트일 : 2024년 04월 09일)
수강평
수강생분들이 직접 작성하신 수강평입니다.
아직 평가를 충분히 받지 못한 강의 입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!😄️️
연관 로드맵
이 강의가 포함된 잘 짜여진 로드맵을 따라 학습해 보세요!