Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

72261
1501
219114


태그 : 커널 요약보기전체보기목록닫기

1 2 3 4 5 6 7 8 9 10 다음

[리눅스커널][시그널] 시그널 설정은 어떻게 할까?

이번 절에서는 시그널을 설정하면 유저 공간에서 커널 공간까지 어떤 흐름으로 처리하는지 소스 코드를 보면서 살펴 보겠습니다.유저 공간 시그널 설정 유저 레벨 프로세스에서 시그널 설정을 어떻게 하는지 소스 코드와 함께 살펴봅시다. 유저 공간에서 시그널을 설정하는 간단한 코드입니다.1 #include <unistd.h>2 #include ...

[라즈베리파이] 시그널 - 시그널을 받으면 프로세스 어떻게 반응할까?

프로세스가 시그널은 받아 동작하는 방식은 우리가 이메일을 받았을 때와 비슷합니다. 대부분 자신에게 온 메일을 읽고 답장을 하지만 스팸 이메일이 오면 무시할 수도 있습니다. 시그널을 전달받은 프로세스가 이를 처리하는 방식은 2 가지로 분류할 수 있습니다. 1단계: 시그널을 무시한다.말 그대로 아무런 동작을 하지 않습니다. 하지만 SIGK...

[리눅스커널][시그널] 시그널이란 무엇일까?

커널 입장에서 시그널은 프로세스에게 보내는 단순한 형태의 메시지라고 할 수 있습니다.시그널 정보와 PID를 프로세스에게 전달하는 것입니다.유저 프로세스 입장에서 프로세스는 무엇일까요? 유저 프로세스 관점으로 시그널은 실행 흐름을 제어하는 비동기적인 중단입니다. 이렇게 유저 프로세스와 커널 입장에서 시그널은 약간 다른 관점에서 볼 수 있습니다.다음 소절에...

[리눅스커널] 시간관리: jiffies란 무엇인가

많은 리눅스 커널 세부 함수에서 jiffies를 써서 실행 시간 기준으로 알고리즘을 제어합니다. 이번 시간에 jiffies의 개념을 소개하고 리눅스 커널에서 jiffies로 시간의 흐름을 제어하는 코드를 소개합니다.jiffies 소개jiffies는 커널 타이머를 실행하는 시간 단위입니다. 공학 용어로 Resolution와 비슷한 개념입니다. jiffie...

[리눅스커널] 메모리관리: 가상 주소를 물리 주소로 직접 변환해보기

지금까지 가상 주소를 물리 주소로 변환하는 원리를 배웠습니다. 이어서 이번에는 실제 가상 주소를 물리 주소로 변환하는 과정을 살펴보겠습니다.다음 그림을 같이 보겠습니다. [그림 14.21] 가상 주소를 물리 주소로 변환하는 예시위 그림에서 페이지 테이블 관련 시스템 정보는 다음과 같습니다. 변환 테이블 시작 주소: 0x8000_4000 가상...

[리눅스커널] 메모리관리: 가상 주소를 물리 주소 변환하는 세부 원리 알아보기

가상 주소를 물리 주소 변환하는 세부 원리 알아보기이번에는 가상 주소를 물리 주소로 변환하는 과정을 살펴보겠습니다. 다음 그림을 같이 보겠습니다. [그림 14.18] 가상 주소를 물리 주소로 변환하는 과정 전체 흐름도가상 주소를 물리 주소로 변환하는 과정은 크게 2 단계로 나눌 수 있습니다. [그림 14.19] 가상 주소를 물리 주소로...

[리눅스커널] 시스템 콜: strace와 ftrace로 시스템 콜 디버깅하기

이전 소절에서 strace를 활용해 유저 공간에서 시스템 콜 동작을 확인했습니다. 이번에는 strace와 ftrace를 함께 보면서 시스템 콜 세부 동작을 분석해보겠습니다. 먼저 설정 방법을 단계별로 알아봅시다. ftrace 설정  strace 실행 ftrace 이벤트를 설정하고 strace를 실행하기시스템 콜 ftrace...

[리눅스커널] 커널 소스 읽기가 제일 쉬었어요(1) - /proc/cpuinfo

[리눅스커널] 워크큐: 워크큐 주요 개념 알아보기

이번 소절에서는 워크큐를 이루는 주요 개념을 소개합니다. -   워크 -   워커스레드 -   워커풀 -   풀워크큐먼저 워크큐의 기본 실행 단위인 워크를 배워볼까요?워크란워크는 워크큐를 실행하는 단위입니다. 워크는 누가 실행할까요? 워크는 실행하...

[리눅스커널] 시그널: 유저 공간에서 pause() 함수 호출 시 커널 실행 흐름 파악하기

유저 공간에서 pause() 함수를 호출하면 커널 공간에서 어떤 함수가 실행할까요? 다음 시그널 설정 흐름도에서 가장 하단에 표시된 박스를 확인합시다.  [그림 ] 유저 공간에서 pause() 함수 호출 시 실행 흐름도pause() 함수는 시그널을 기다릴 때 호출합니다.라즈베리파이에서 다음 명령어를 입력해 pause 명령어에 대한 매뉴얼을 확인...
1 2 3 4 5 6 7 8 9 10 다음