시그널

포스트: 79
Tags

Posts

79 posts

드라마 : 시그널

취미생활|2020년 12월 16일

시그널. 총 16화. 누군가의 추천으로 시그널을 보기 시작했다. 전에 한참 인기가 있었다는 얘기는 들었지만, 왠만해서는 드라마를 잘 보지 않는 나의 성향상 특별한 계기가 되지 않으면 안본다. 하지만, 이번에는 봤다. 오호...1편을 보면서 드는 생각은 완전 흡입력 끝내 주는데...였다.그리고 바로 2편까지 봤고... 그 이후에는 무난하게 쭉쭉 넘어갔다.생각보다 재밌었고, 무언가 찝찝함이 항상 있었는데, 그 부분은 대충 넘어가기로 했다. 다만, 다른 사람들도 많이들 느끼듯이 무언가 너무 힘이 들어간듯한 연기가 조금 부담스럽게 느껴졌던 부분이 있었고, 대화의 흐름은 역시나 좋았다. 특별히, 드라마의 사건의 방향을 바꿀만한 러브라인이 존재하지 않아 보기에 편했고, (약간, 나오기는 했지만, 전체

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

Guillermo Austin Kim|2020년 3월 18일

커널에서 시그널 서브시스템의 핵심 동작은 다음과 같다. * 시그널 전송: 시그널을 받은 프로세스에게 펜딩 시그널 정보를 써주고 시그널을 받을 프로세스를 깨운다. * 시그널 받기: 깨어난 프로세스는 펜딩 시그널을 받아 시그널에 대한 후속 처리를 한다. 이번 시간에는 펜딩 시그널 정보를 써주고(시그널 생성), 펜딩된 시그널을 프로세스(시그널 받음)는 읽는 과정에 초점을 맞춰 소스를 분석해보자. __send_signal() 함수 분석 먼저 __send_signal() 함수를 보자. int __send_signal(int sig, struct siginfo *info, struct task_struct *t, enum pid_type type, int from_ancestor_ns){

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

Guillermo Austin Kim|2020년 1월 13일

-ERESTARTSYS 는 리눅스 커널의 '시그널' 서브 시스템과 연관된 매크로로 시스템 콜을 다시 실행시키려고 할 때 반환하는 매크로이다. ERESTARTSYS 매크로의 의미 보통 커널이 다시 시스템 콜을 재실행을 시키려는 이유는 '어떤 액션의 동기화'를 맞추기 위해서이다. 음, 내가 써도 무슨 소리인지 모르겠네. 나중에 이 글을 읽을 '나 자신'을 위해 이해하기 쉽도록 비유를 하나 들자. * 침대에서 잠을 든 상태이고 난 침대에서 잘 들어 있어야 한다.* 그런데 갑자기 택배가 와서 초인종이 울린다.* 일어나서 택배를 받고 다시 침대에 들어가 잠든 상태에 있어야 한다. 여기서 중요한 사실은 '난 침대에 잠 들어 있어야 한다.'라는 사실이다. 자, 위에서 든 예시를 조금 어려운 용어로 바꿔보자.

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

Guillermo Austin Kim|2019년 6월 22일

유저 공간에서 pause() 함수를 호출하면 커널 공간에서 어떤 함수가 실행할까요? 다음 시그널 설정 흐름도에서 가장 하단에 표시된 박스를 확인합시다. [그림 ] 유저 공간에서 pause() 함수 호출 시 실행 흐름도 pause() 함수는 시그널을 기다릴 때 호출합니다. 라즈베리파이에서 다음 명령어를 입력해 pause 명령어에 대한 매뉴얼을 확인합시다. root@raspberrypi:/home/pi# info pausePAUSE(2) Linux Programmer's Manual PAUSE(2)NAME top pause - wait for signal 매뉴얼에서 출력하는 결과와 같이 시그널을 기다리는 역할을 수행합니다