소개
국내 시스템 소프트웨어 분야에서 전무후무한! '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'
시스템 소프트웨어 개발자를 위한 Linux kernel - basic course
체계적으로 Arm 아키텍처(Armv8-A, Armv7-A)와 리눅스 커널을 배우시려는 분은 로드맵(전체 강의 30% 할인)을 활용하시면 좋습니다.
강의
전체14로드맵
전체3수강평
- 좋은 강의 감사합니다
simsonmin
2024.05.09
0
게시글
질문&답변
2024.05.15
캐시의 친화적인 코드
캐시에 친화적인 코드는 캐시 히트를 높힐 수 있습니다. 3가지 예시만 들어보겠습니다. 1> 특정 프로세스가 자주 실행되면 특정 core(예시: CPU1, CPU2)에서만 실행되도록 설정할 수 있습니다. 만약 프로세스가 CPU1 코어에서 자주 실행되면 해당 프로세스가 실행했던 코드나 데이터가 L1 캐시에 남아 있을 가능성이 높기 때문입니다. 그 결과 캐시 히트율을 높힐 수 있습니다. 2> 되도록 어떤 메모리 데이터에 접근할 때 되도록 근접한 원소에 접근하거나 순차적으로 처리하면 캐시 히트율을 높힐 수 있습니다. 캐시에 데이터나 코드를 로딩할 때 캐시 라인의 크기 만큼 로딩하기 때문입니다. 3> 버퍼에 되도록 접근하려는 데이터를 많이 로딩하고 접근하면 또한 캐시 히트율을 높힐 수 있습니다. 감사합니다.
- 0
- 1
- 31
질문&답변
2024.05.12
EL1 IRQ??
질문 주신 내용에 대해 답신 드립니다. (1) IRQ를 EL2에서 후킹 여기서 말하는 IRQ는 외부 페리퍼럴 디바이스에서 유발되는 인터럽트를 뜻합니다. IRQ를 EL2에서 후킹하는 동작이 비활성화된 상태와 활성화된 상태를 비교해서 설명드리면 다음과 같습니다. [비활성화] 1. EL1(리눅스 커널: 게스트 OS)에서 코드가 실행 2. 외부 페리퍼럴에서 인터럽트가 유발 3. EL1에 있는 익셉션 핸들러에서 인터럽트를 핸들링 [활성화] 1. EL1(리눅스 커널: 게스트 OS)에서 코드가 실행 2. 외부 페리퍼럴에서 인터럽트가 유발 3. EL1 대신 EL2(하이퍼바이저)에 있는 익셉션 핸들러에서 인터럽트를 핸들링 (2) irq마다 EL1 irq EL2 irq와 같이 처리해야하는 EL이 정해져있나 시스템에서 각각 인터럽트는 프로젝트의 스펙에 따라 각각 다른 방식으로 설정할 수 있습니다. 만약 휴대폰에 터치 인터럽트, 조도 센서 인터럽트, 지문 센서 인터럽트 그리고 카메라 인터럽트가 있으면, 각기 다른 방식으로 설정할 수 있습니다. 예시는 다음과 같습니다. 터치 인터럽트, 조도 센서: EL1, 지문 센서 인터럽트: EL3, 카메라 인터럽트: EL2 설명드린 내용을 조금 더 일반화해서 다음과 같이 정리할 수 있습니다. A) 일반적으로 인터럽트가 유발되면 EL1에서 받아서 처리한다. B) 특정 인터럽트를 EL2나 EL3에서 처리하고 싶으면 관련 레지스터 HCR_EL2, SCR_EL3를 설정해야 한다. 추가로 궁금한 점이 있으면 언제든 질문 남겨주세요. 감사합니다.
- 0
- 2
- 31
질문&답변
2024.05.08
강의자료 요청
강의 커리큘럼에 아래 강의 자료를 올렸습니다. - 첨부 파일: Arm아키텍처_2부_강의자료(0505-2024).zip '2부 저자 직강-강의 자료' 섹션에 '수업 0 : 수업 자료'에 가시면 강의 문서를 내려 받을 수 있습니다. 감사합니다.
- 0
- 2
- 52
질문&답변
2024.05.07
T32 맥북 사용
강의 소개에도 명시됐지만, 이번 강의에 업로드된 TRACE32 버전은 윈도우를 제외한 다른 OS에서는 실행되지 않습니다. 이 점 양해 부탁드립니다.
- 0
- 2
- 66
질문&답변
2024.05.07
라즈베리 OS
x86기반의 Virtual Box(우분투 실행)에서도 실습 실행이 가능합니다만, 되도록 라즈베리 파이(Armv8 지원)에서 실습하시는 것을 권장드립니다.
- 0
- 2
- 50