-
[OS] 스레드와 시그널 및 스레드 취소운영체제 2020. 11. 27. 20:45728x90
시그널 처리
시그널이란 OS 입장에서 프로세스에게 어떤 사건이 일어났음을 알리기 위한 수단
-
Synchronous signal : 어떤 사건을 처리하기 위해 발생(잘못된 메모리 접근, 0으로 나누기 등)
-
Asynchronous signal : 임의 시점에 발생 (Ctrl-C, 타이머 만료 등)
이러한 시그널은 반드시 처리(handling) 되어야함
Default signal handler : 기본 처리 방법을 정의한 것으로 보통 프로세스의 종료로 이어짐
User-defined signal handler : 사용자가 직접 정의한 시그널 처리 방법
단일 스레드 프로세스는 프로세스 단위로 시그널이 처리됨
멀티 스레드 프로세스는 구현에 따라 여러 정책이 가능
-
모든 스레드에게 시그널 전달
-
몇몇 스레드에게만 전달
-
특정 스레드가 모든 시그널을 받도록 지정
-
시그널이 적용될 스레드에게 전달
Thread Cancellation(스레드 취소)
-
Asynchronous cancellation : 작업 종료 전에 스레드를 바로 그냥 종료
-
Deferred cancellation : 하던 작업은 다 마치고 스레드를 종료
-
pthread_cancel(tid);
Thread Loacl Storage
스레드 자신만의 메모리 영역을 말함. static 변수와 비슷하다고 생각
'운영체제' 카테고리의 다른 글
[OS] Critical section (임계구역), test_and_set, compare_and_swap (0) 2020.11.28 [OS] 동기화와 Race condition (0) 2020.11.28 [OS] 멀티스레드와 fork(), exec() 의 관계 (0) 2020.11.27 [OS] Implicit Threading (0) 2020.11.27 [OS] 유저스레드와 커널스레드 (0) 2020.11.27 -