[리눅스커널] 커널 디버깅과 코드 학습: 디버깅과 코드 학습 능력

Guillermo Austin Kim|2020년 2월 23일
Posts

[리눅스커널] 커널 디버깅과 코드 학습: 디버깅과 코드 학습 능력

Guillermo Austin Kim|2020년 2월 23일

디버깅과 코드 학습 능력 디버깅하면서 리눅스 커널 코드를 함께 분석하면 다음과 같은 정보를 더 얻을 수 있습니다.  분석 대상 코드가 동작하는 콜스택 함수가 실행될 때 변경되는 자료구조 함수가 실행되는 빈도와 실행 시각 분석 대상 코드를 실행하는 프로세스 대부분 리눅스 커널을 공부할 때는 커널 소스코드를 열어 봅니다. 코드를 이해하는 능력은 리눅스 개발자의 기본 소양이므로 소스를 이해하는 능력은 중요합니다. 하지만 소스코드를 분석하면 실행 흐름을 보는 시야가 좁아집니다. 그래서 코드 분석과 함께 함수 실행 흐름과 실행 빈도를 알 필요가 있습니다. 커널 소스코드만 분석한 분이 있다고 가정해 봅시다. 또 다른 분은 커널 디버깅과 함께 커널 코드를 함께 분석했습니다. 둘 중에서 누가 더 빨리 커널

Related Posts

3 posts
아이폰 에어팟 프로 연결 안됨 하는법

아이폰 에어팟 프로 연결 안됨 하는법

안녕하세요, IT 전문가 신남입니다. 출근길에 음악을 듣거나 중요한 통화를 하려고 에어팟을 귀에 꽂았는데, 한쪽만 들리거나 아예 아이폰에 연결조차 되지 않아 답답했던 경험, 다들 한 번쯤 있으실 겁니다. 분명 어제까지 잘 사용했는데 갑자기 왜 이러는지, 혹시 고장 난 건 아닐까 걱정이 앞서죠. 대부분의 경우 간단한 조치로 해결할 수 있습니다. 오늘은 답답한 아이폰 에어팟 프로 연결 안됨 현상을 해결하고 다시 페어링하는 법을 단계별로 자세히 알려드리겠습니다. 아이폰 에어팟 프로 연결 안됨 해결법 먼저 시도해야 할 가장 확실한 방법은 바로 '초기화'입니다. 에어팟 연결 안됨 현상은 기기 간의 통신 정보가 일시적으.......

리눅스 커널, 드디어 6.0 버전대 시대로 진입

며칠 지난 소식이지만, 새로운 10월의 시작과 함께 하듯이 10월 2일 리눅스 커널의 6.0 릴리즈가 등장했습니다. 기존 안정 버전 5.19 버전대에서 6.0 대에서 한 번에 올라왔지만, 메이저 버전업에 기대하는 천지개벽 같은 요소는 그리 없습니다. 버전을 6.0으로 올린 것도 5.19에서 5.20으로 가기에는 서브 버전이 좀 숫자가 크다... 고 해서 올린 의미 정도이니까요. 하지만 지속적으로 진행 중인 변화의 폭 자체는 그리 작지 않습니다. 이번 커널 6.0에서도 최신 하드웨어들에 대한 지원들이 추가되었습니다. 프로세서에서는 3세대 제온 스케일러블 ''아이스 레이크''나 AMD 라이젠 쓰레드리퍼, AMD 에픽 프로세서 등에서의 성능 최적화 등이 적용되었고, 인텔의 차세대 프로세서가 될 4세대 제온 스케일러

[리눅스커널] IPI(Inter Processor Interrupt) Call 요청 루틴(하이 레벨 뷰)

Guillermo Austin Kim|2022년 3월 21일

IPI(Inter Processor Interrupt)의 약자로 지정한 CPU 코어를 타겟으로 인터럽트(소프트웨어적)를 유발하는 매커니즘입니다. 이번 포스트에서는 리눅스 커널에서 IPI Call을 요청하는 루틴을 리뷰하겠습니다. IPI Call은 아키텍처에 의존적으로 처리되므로 하이 레벨과 로우 레벨로 코드가 구현돼 있습니다. * High Level 코드 위치 kernel/sched/core.c kernel/smp.c kernel/irq/ipi.c * Low Level (Arm 아키텍처) 코드 위치 arch/arm64/kernel/smp.c drivers/irqchip/irq-gic-v3.c IPI Call 요청 루틴(하이 레벨) 아래 함수는 Qualcomm Watchdog