Linux Kernel(4.19) Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

95258
1323
114597


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

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

4.7.5 프로세스 실행 시각 정보

태스크 디스크립터에는 프로세스 실행 시각 정보를 알 수 있는 멤버들이 있습니다.u64 utime;유저 모드에서 프로세스 실행한 시각을 표현합니다.이 멤버는 account_user_time() 함수 6번째 줄 코드에서 변경됩니다.1 void account_user_time(struct task_struct *p, u64 cputime)2 {3 int in...

4.7.3 프로세스 간 관계/4.7.4 프로세스 연결 리스트

4.7.3 프로세스 간 관계이전 시간에 유저 공간에서 생성한 모든 프로세스의 부모 프로세스는 init 이고 커널 공간에서 생성한 커널 스레드(프로세스)의 부모 프로세스는 kthreadd라고 했습니다. 태스크 디스크립터에서는 프로세스의 부모와 자식 관계를 상세히 알 수 있습니다.struct task_struct  *real_parent;프로세스를...

[리눅스커널] 프로세스: do_exit() 함수 분석

do_exit() 함수 이름으로 '종료를 실행한다.'란 동작을 할 것이라 예상할 수 있습니다. 여기서 '종료를 실행한다.' 의 주어는 프로세스가 되겠습니다.이번 소절에서는 do_exit() 함수를 분석하면서 프로세스가 종료하는 과정을 살펴보겠습니다. do_exit() 함수 선언부와 인자 확인하기먼저 do_exit() 함수에 전달되는 인자와 반환...

4.6.1 _do_fork() 함수/ 4.6.2 copy_process() 함수

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

[리눅스] 커널 크래시: abort@test_and_set_bit

우선 콜스택부터 점검을 해보면, "kswapd0" 프로세스에서 slab cache를 scanning 하는 도중 커널 크래시가 발생하였음을 알 수 있습니다. 메모리가 부족한 상태로 보입니다. ("kswapd0" 프로세스는 page memory가 부족할 때 실행됩니다.)-000|do_DataAbort(addr = 3244789312, fsr = 3...

[Linux][Kernel] Check process in Linux system

In order to be able to survive as competitive Linux system developers(DevOps for device drivers) for a long time, you need to know the Linux kernel better. However, the Linux kernel is huge, and its...

한국 개발업체에서 절대 리눅스 전문가가 될 수 없는 이유(3) - 제조업 마인드

From한국 개발업체에서 절대 리눅스 전문가가 될 수 없는 이유(1) - SW문화한국 개발업체에서 절대 리눅스 전문가가 될 수 없는 이유(2: 쓰레기 관리자들)한국 소프트웨어 업체에서 리눅스 고수가 나올 수 없는 또 다른 이유는 소프트웨어 업체를 제조업 마인드로 운영하기 때문이다.제조업 마인드라. 이 용어에 대해서 조금 더 이야기를 해 보자.제조업 마인...

[Linux][Kernel] What is process?

It is difficult to understand process in Linux Kernel. Because processes are abstract concepts, it can be viewed from different perspectives. It seems that you have read and understood the process, ...

[라즈베리파이] 동기화 - 스핀락(spinlock): 첫 번째 스핀락 해제 시 동작(1)

스핀락을 해제할 때는 spin_unlock() 함수를 호출하는데 스핀락 인스턴스의 owner를 +1만큼 증감한다고 알고 있습니다.static inline void arch_spin_unlock(arch_spinlock_t *lock){ smp_mb(); lock->tickets.owner++; dsb_sev();}spin_unlock() 함수를 호...

[라즈베리파이] 동기화 - 스핀락(spinlock): 스핀락 획득 두 번째 시도

스핀락 획득 두 번째 시도이전 시간에 스핀락을 누군가 획득했는데 다른 프로세스가 다시 스핀락을 획득할 때 동작을 알아봤습니다. 이번에는 다른 프로세스가 같은 스핀락 획득을 시도하는 상황을 그리면서 분석하겠습니다. 다시 분석할 _raw_spin_lock() 함수 코드를 같이 봅시다.1  80704b60 <_raw_spin_lock&...
1 2 3 4 5 6 7 8 9 10 다음