ARM Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

202239
1625
172599


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

1 2

[리눅스커널] 시그널: __send_signal()dequeue_signal() 함수 분석 - 시그널 생성/시그널 받기

커널에서 시그널 서브시스템의 핵심 동작은 다음과 같다.   * 시그널 전송: 시그널을 받은 프로세스에게 펜딩 시그널 정보를 써주고 시그널을 받을 프로세스를 깨운다.   * 시그널 받기: 깨어난 프로세스는 펜딩 시그널을 받아 시그널에 대한 후속 처리를 한다.  이번 시간에는 펜딩 시그널 정보를 써주고(...

[리눅스커널] 시그널: ERESTARTSYS 매크로와 signal_pending() 에 대해서

-ERESTARTSYS 는 리눅스 커널의 '시그널' 서브 시스템과 연관된 매크로로 시스템 콜을 다시 실행시키려고 할 때 반환하는 매크로이다. ERESTARTSYS 매크로의 의미보통 커널이 다시 시스템 콜을 재실행을 시키려는 이유는 '어떤 액션의 동기화'를 맞추기 위해서이다. 음, 내가 써도 무슨 소리인지 모르겠네. 나중에 이 글을 읽을 '나 자...

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

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

[리눅스커널][시그널] 시그널 - 시그널 번호와 동작 알아보기

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

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

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

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

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

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

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

[리눅스커널][시그널] 시그널 생성: __send_signal() 커널 함수 분석

누군가 ‘시그널을 생성하는 핵심 함수가 무엇인가?’ 라고 질문을 한다면 __send_signal() 함수라고 대답할 수 있습니다. 그렇습니다. 시그널을 생성하는 핵심 함수는 __send_signal() 입니다. 이제부터 __send_signal() 함수 코드를 분석하겠습니다.[https://elixir.bootlin.com/linux/v4.19...

[리눅스커널][시그널] T32: 시그널 생성 과정 디버깅해보기

이전 포스팅에서 커널이 '시그널'을 어떤 방식으로 처리하는지 살펴봤습니다.이전에 배웠던 내용을 리뷰하는 차원으로 '시그널' 처리 과정을 정리해볼까요?1. 시그널 생성   시그널을 받은 프로세스의 태스크 디스크립터에 시그널 정보를 써주고 해당 프로세스를 깨운다. 2. 시그널 전달    시그널을 받을 프...

[리눅스커널][시그널] 시그널 전달과 처리는 어떻게 할까?

1 2