Linux Kernel(4.19) Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

8200
629
98815


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

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

[리눅스커널] 가상파일시스템/파일객체: 파일 객체 함수 오퍼레이션

가상 파일시스템에서 파일 시스템 별로 파일을 열고 쓰고 읽는 함수 포인터 테이블을 지원합니다. 이 정보를 파일 함수 오퍼레이션이라고 하며 다음 해더 파일에 정의돼 있습니다.[https://github.com/raspberrypi/linux/blob/rpi-4.19.y/include/linux/fs.h]struct file_operations { stru...

[리눅스커널] 가상파일시스템/소개: 함수 오퍼레이션이란 무엇인가

이번 절에서 소개했듯이, 각각 파일 시스템에 액세스를 하기 위해서 먼저 가상 파일시스템에 접근합니다. 이 때 가상 파일 시스템에서 지원하는 4가지 객체에서 지정한 함수 포인터를 통해 파일 시스템 세부 함수에 접근합니다.      4개 객체별로 지정한 함수 포인터 연산을 함수 오퍼레이션이라고 말합니다.  &n...

[리눅스커널] 메모리관리/디버깅: kmalloc() 함수로 메모리 할당 후 슬랩 캐시 종류 확인하기

[리눅스커널] 메모리관리/디버깅: 가상주소를 물리주소로 변환 확인 실습

이번 소절에서는 가상주소를 물리주소로 변환하는 과정을 실습으로 알아봅시다.3장 3.6 절에 소개한 rpi_debugfs.c 소스를 활용해 실습을 진행합니다. 먼저 rpi_debugfs.c 소스를 입력하고 커널 빌드를 하시기 바랍니다. 패치 코드 입력 방법 알아보기먼저 입력할 패치 코드부터 소개합니다.[drivers/soc/bcm/rpi_debu...

[리눅스커널] 메모리관리/디버깅: ftrace로 메모리 할당 해제 확인하기

ftrace에서 지원하는 kmalloc와 kfree 이벤트를 사용하면 kmalloc()와 kfree() 함수를 호출할 때 세부 정보를 알 수 있습니다. kmalloc 이벤트: kmalloc() 함수로 메모리 할당을 요청했을때 동작  kfree 이벤트: 할당한 메모리를 해제했하는 동작 kmalloc와 kfree 이벤트 소개하기그러면 ...

[리눅스커널] 메모리 관리: 슬럽 오브젝트 해제하는 kfree() 함수 분석하기

kmalloc() 함수로 동적 메모리를 할당하고 난 후 사용하지 않으면 메모리를 반환해야 합니다. 이 때 kfree() 함수를 사용하면 됩니다.이번 시간에는 kfree() 함수를 분석하면서 커널 내부에서 반환하는 동적 메모리를 어떻게 처리하는지 살펴보겠습니다.[https://github.com/raspberrypi/linux/blob/rpi-4.19.y...

[리눅스커널] 메모리 관리: kmalloc 캐시 슬럽 오브젝트 할당 커널 함수 분석하기

우리는 'kmalloc() 함수를 호출하면 동적 메모리를 할당할 수 있다.'란 사실을 알고 있습니다. 하지만 kmalloc() 함수에서 호출하는 커널 내부 함수는 거의 분석하지는 않는 듯 합니다.이번 시간에는 kmalloc() 함수와 이 함수에서 호출하는 다음 함수를 분석합니다. kmalloc_index() kmem_cache_alloc_trace(...

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

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

[리눅스커널] 스핀락 플러그인 함수: spin_lock_irq()/spin_unlock_irq()

리눅스 커널 코드를 조금만 분석하면 spin_lock() 함수뿐만 아니라 spin_lock_irq() 함수를 써서 임계 영역을 보호하는 코드를 많이 볼 수 있습니다. 이렇게 커널은 스핀락 기능을 확장한 플러그인 형태 스핀락 함수들을 제공합니다.이번 소절에서는 spin_lock() 함수 기능을 확장한 스핀락 플러그인 함수를 소개합니다. spin_lock...

[리눅스커널] 메모리 관리: 가상 메모리 기법의 주요 개념 소개

가상 메모리의 주요 개념 소개가상 메모리의 주요 개념을 다음 그림을 보면서 배워 보겠습니다. [그림 1] 가상주소와 물리주소 및 페이지와의 관계위 그림과 함께 가상 주소를 물리 주소로 변환하는 실행 흐름을 배워봅시다.    가장 왼쪽에 보이는 주소 맵이 가상 메모리입니다. 가장 윗 부분에 0x0000_0000 주소가 ...
1 2 3 4 5 6 7 8 9 10 다음