하드웨어

/

임베디드 · IoT

한국에서 제일 쉬운 리눅스 커널 강의

이제 나도 리눅스 커널 분석을 할 수 있다! 리눅스 커널 강의 중에 가장 쉬운 커널 강의.

(5.0) 수강평 2개

수강생 171명

Thumbnail

초급자를 위해 준비한
[임베디드 · IoT, 리눅스커널] 강의입니다.

이런 걸
배워요!

  • 리눅스 커널 분석

  • 커널 디버깅 방법

  • 운영체제의 이론이 어떻게 코드로 구현되는지

  • 프로세스, 인터럽트의 실체

13년차 개발자의 10년의 갈망, 1년의 연구를 담은

한국에서 제일 쉬운 리눅스 커널 강의 🐧


오랜 기간 임베디드 프로그래머로 활동하면서 다양한 드라이버 구현과 시스템 프로그래밍을 해왔지만, 커널은 늘 겉핥기 식으로만 알고 있었습니다. 구현은 했지만, 그 내부에 대해서는 깊이 알지 못했죠.

커널의 내부 구조를 제대로 알고 싶은 갈망을 10년 넘게 품었고, 그 갈망을 풀고자 1년 넘게 커널을 연구했습니다. 연구하며 체득한 내용을 바탕으로 만든 강의를 통해 같은 길을 걷고 있는 프로그래머들에게 힘이 되고 싶습니다.

프로그래머로서 성장을 갈망하는 모든 분들이 더 이상 리눅스 커널 공부에서 좌절하지 않고, 배움을 즐길 수 있기를 바랍니다!

왜 커널 공부를 해야하나요?

경쟁력을 갖춘 개발자가 됩니다

리눅스 커널은 프로그래머가 알아야 할 끝판왕급 지식이자, 프로그래머들 사이에서 인정받는 고급 기술입니다. 커널을 공부하면 한 단계 더 높은 프로그래머로 성장할 수 있습니다.

코딩의 피지컬이 달라집니다

코딩 실력의 핵심 중 하나는 버그를 잘 해결하려면 컴퓨터와 시스템 구조를 깊이 이해할 필요가 있습니다. 커널 지식은 이러한 구조를 이해하는데 큰 도움이 됩니다.

커널 공부, 그 자체로 성공 경험입니다

개발자로서 가장 중요한 것은 "이 문제도 해결할 수 있다"는 자신감입니다. 어려운 커널 공부를 해냈을 때 얻는 자신감은 앞으로의 개발자 생활에서 큰 자산이 될 겁니다.

문제해결 능력을 키울 수 있습니다

커널을 배우면 코드 구현과 이해의 깊이가 달라집니다. 내가 알고 있던 개념을 C언어와 어셈블리어로 직접 구현해보는 과정을 통해 개발을 위한 사고의 폭을 넓힐 수 있습니다.

이런 내용을 배워요

1. Linux 커널 컴파일부터 디버깅까지

커널을 실제로 컴파일하고 어떻게 디버깅하는지 배웁니다. 커널 코드를 어떻게 찾아 헤매는지, ftrace를 사용해서 어떻게 디버깅하는지 등을 학습할 수 있습니다.


2. 운영체제 이론을 실제로 구현

프로세스,인터럽트등, 운영체제에 대한 이론을 배우고, 그 이론이 실제로 어떻게 구현이 되었는지 배웁니다. 무섭게만 느껴졌던 asm(어셈블리어) 코드도 보고 이게 무엇을 뜻하는지 이해할 수 있습니다. 강의를 듣다보면 '막상 해보니 별거 아니네' 라는 생각이 들겁니다.

3. 스스로 연구하는 방법을 터득할 수 있도록

어떤식으로 스스로 커널을 분석하고 공부해야 할지를 배울 수 있습니다. 단순히 따라 하는 것이 아니라 개념을 설명합니다. 나중에 소스코드나, 환경이 바뀌어도 스스로 연구할 수 있도록 그 방법들을 가르쳐 드립니다. 결국엔 스스로 해야하니깐요.


4. 현존하는 강의 중 가장 쉬운 강의

진짜 따라 할 수 있게 쉽게 강의를 진행합니다. 경력이 오래되고 한 분야에 오래 있다 보면, 상대방도 당연히 알 거라고 생각하고 설명하는 경우가 많습니다. 이 강의는 그런 점을 최대한 줄여서 설명을 하였습니다.

수강평 미리보기 👀

* 아래 수강평은 지식공유자가 본 강의와 유사한 커리큘럼으로 업로드한 유튜브 영상에 올라온 댓글입니다.

지식공유자 소개 💁‍♂

임베디드를 통해 개발자 인생을 시작했습니다.
그후에 웹과 앱도 개발하면서 어느덧 13년 차 개발자가 되었습니다.
지금은 오제이라는 작은 주식회사를 운영하는 대표로 있습니다.

유튜브를 4년간 운영했고, 현재 2만 4천명의 구독자를 보유하고 있습니다.
현재는 회사를 운영하면서 틈틈이 강의를 하고 있습니다.
제가 알고 있는 지식들이 개발자를 꿈꾸는 학생들에게 도움이 되었으면 좋겠습니다.


포트폴리오/개인 영상

궁금한 점이 있나요?

Q. 필요한 준비물이 있나요?

네 있어요. 아래 장비는 필수예요.

1. 라즈베리 파이 4 Model B (실습 전에 별도로 구입해주세요)
2. MicroSD 32GB (64GB를 권장 합니다. 32GB는 정말 용량이 간당간당 합니다.)
3. 5V 3A C타입 아답터
4. 실습 컴퓨터 또는 노트북

Q. 라즈베리 파이를 꼭 같은 버전을 사용해야 하나요?

초보자라고 가정했을 때, 다른 하드웨어를 선택해서 실습을 따라오는 것은 너무 어렵다고 판단이 돼요. 하지만 다른 하드웨어를 사용해도 수업을 듣고 응용해서 따라올 수 있는 실력이 있다면 상관없습니다.

Q. 커널 버전은 최신으로 하면 되나요?

초보자라면 강의에서 진행하는 버전 그대로 사용하기를 권장드려요. 처음 배울 때는 스펠링 하나만 달라도 당황할 수 있어요. 강의를 완강하신 후에 다른 버전의 커널을 연구하시는 걸 추천드립니다!

Q. 강의에서 언급한, 강사님이 진행한 C언어 강의는 무엇인가요? 꼭 들어야 할까요?

C언어 강의는 유튜브에서 보실 수 있어요. 보러가기 >>
꼭 들어야 하는 건 아니지만 "[C언어 실시간 강의5] 임베디드 개발자를 위한 비트 연산 강의"는 들어 보시는 것을 추천 드립니다. 보통 다른 C언어 강의에서는 비트연산을 깊게 알려주지 않아서 그래요.

수강 전 참고 사항

실습 환경

  • 준비물 :


    1. 라즈베리 파이 4 Model B


    2. 2. MicroSD 32GB (64GB를 권장 합니다. 32GB는 정말 용량이 간당간당 합니다.)
    3. 5V 3A C타입 아답터
    4. 실습 컴퓨터 또는 노트북

  • 실습 컴퓨터
    1. ssh 접속할 수 있는 컴퓨터 (Windows, 리눅스 어떤 운영체제이든 상관 없음)


학습 자료

  • [0. 오리엔테이션 강의] 첨부 파일에 실습자료가 있어요.


선수 지식 및 유의사항

  • C언어 문법은 반드시 알고 있어야 합니다. (비트 연산 필수)

  • 자료 구조 중 링크드 리스트(Linked List)에 대한 개념을 알고 있으면 좋아요.

  • 리눅스 운영체제를 사용해본 경험이 있어야해요.

  • 리눅스 드라이버나, 리눅스 시스템 프로그래밍을 해본 경험이 있으면 강의에 큰 도움이 돼요. 하지만 필수는 아닙니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 나의 코딩 피지컬을 높이고 싶은 분

  • 운영체제가 어떻게 실제로 동작하는지 알고 싶은 분

  • 어디가서 인정 받는 프로그래머 되고 싶으신 분

  • 임베디드 프로그래머가 되고 싶으신 분

  • 리눅스 커널을 분석 해보고 싶으신 분

선수 지식,
필요할까요?

  • C언어(비트연산, 링크드리스트), 리눅스 사용 해본 경험, 운영체제 기초 지식

안녕하세요
ojtube5입니다.

임베디드를 통해 개발자 인생을 시작했습니다.
그후에 웹과 앱도 개발하면서 어느덧 13년차 개발자가 되었습니다.
지금은 '오제이 주식회사'라는 작은 회사를 운영하고 있습니다.

유튜브를 4년간 운영했고, 현재 2만 4천 명의 구독자를 보유하고 있습니다.
정말 더디게 성장하고 있지만, 꾸준히 운영하였습니다.

제가 알고있는 지식들이 개발자를 꿈꾸는 학생들에게 도움이 되었으면 좋겠습니다.

커리큘럼

전체

97개 ∙ (20시간 30분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!