Linux Kernel(4.14) Hacks

rousalome.egloos.com

포토로그 Kernel Crash




태그 : 라즈베리파이 요약보기전체보기목록닫기

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

[라즈베리파이] 프로세스: do_exit() 함수 분석

do_exit() 함수로 커널이 프로세스를 종료 시키는 세부 동작 못지 않게 프로세스가 종료되는 흐름을 파악하는 것이 중요합니다. 그 이유는 무엇일까요? 유저 어플리케이션 프로세스나 커널 프로세스가 예외 상황에서 의도하지 않게 종료해서 문제가 발생하는 경우가 있습니다. 이런 문제를 만났을 때 커널 어느 함수부터 분석을 해야할 지 결정할 수 있습...

[라즈베리파이] 프로세스 생성: _do_fork() copy_process() 함수 분석

이전 시간까지 유저 프로세스와 커널 프로세스가 어떤 흐름으로 생성되는지 살펴봤습니다.둘 다 _do_fork() 함수를 호출한다는 사실을 알 수 있습니다.프로세스 생성 시 공통으로 실행하는 _do_fork() 함수 코드를 분석하면서 커널이 어떻게 프로세스를 생성하는지 살펴봅니다._do_fork() 함수_do_fork() 함수을 분석하기 앞서 이 함수 동작...

[라즈베리파이] 프로세스: 커널 스레드는 어떻게 생성하나?

[리눅스] 리눅스 시스템에서 메모리가 부족할 때

[라즈베리파이] 프로세스: 컨택스트 스위칭 이란

마운드에 A란 투수가 있습니다.마운드에는 투수 한 명만 공을 던질 수 있습니다.그런데 마운드에 오르고 싶어하는 B, C란 투수가 불펜에서 몸을 풀고 있습니다.감독은 마운드에서 혼자 공을 던지고 있는 A란 투수가 불펜에 있는 B, C 투수보다 잘 던지는지 꾸준히 모니터링합니다.시간이 흘러 감독이 B란 투수틀 마운드에 올려야 겠다고 결단을 내렸습니다.감독은...

[리눅스커널] 프로세스 상태: 언제 TASK_RUNNING 변경할까?

이번 시간에 프로세스를 RUNNING 상태로 누가 언제 변경하는지 알아봅시다.wake_up_new_task()[set_filter 가능 함수]wake_up_new_task() 함수는 _do_fork() 함수에서 프로세스를 생성하는 과정에서 호출됩니다.코드를 봅시다.[https://elixir.bootlin.com/linux/v4.14.70/source/...

[라즈베리파이] 동기화 - 스핀락(spinlock) Deadlock으로 생기는 문제

스핀락 코드를 잠깐 살펴봤는데 뮤텍스와 다르게 상당히 코드 복잡도가 낮습니다. tickets.next과 tickets.owner 두 값으로 스핀락을 획득하는 순서를 콘트롤하죠. spin_lock 함수가 처음 실행되는 시점에 tickets.owner 값을 로컬 변수에 저장하고 전역 tickets.next 값이 업데이트 될 때까지 Busy-wait합니다. ...

[라즈베리파이] 가상 파일시스템 동작 분석(유저 프로세스 입장)

이번에 유저 어플리케이션 입장에서 가상 파일시스템 동작을 살펴보겠습니다.먼저 유저 공간에서 실행하는 다음 코드를 같이 작성해 봅시다.1 #include <stdio.h>2 #include <stdlib.h>3 #include <unistd.h>4 #include <sys/types.h>5 #include <...

[라즈베리파이] 동기화 - 스핀락(spinlock): spin_unlock_irq() 소개

이번에는 spin_lock_irq() 함수와 같이 쓰는 spin_unlock_irq() 함수를 점검합시다.spin_unlock_irq() 함수는 spin_unlock() 함수에서 스핀락 기능을 그대로 물려 받았습니다. 대신 스핀락을 해제 한 후 인터럽트를 다시 활성화하고 Preemption을 실행하는 동작만이 추가된 것입니다.spin_unlock_irq...

[라즈베리파이] 가상 파일시스템 공통 모델이란

가상 파일시스템 구조와 동작을 알려면 가상 파일시스템에서 쓰는 자료구조를 이해할 필요가 있습니다. 가상 파일시스템 자료구조를 소개하기 전 자료구조를 왜 생성했는지 생각 해 봅시다.우리는 리눅스 시스템에서 파일을 열고 디렉토리를 검색하는 동작을 반복합니다. 이 과정에서 파일을 실행할 수 있는 권한이 있는지 해당 파일이 어떤 파일시스템에서 관리하는지 특별히...
1 2 3 4 5 6 7 8 9 10 다음