꾸준한 개발자

계속적인 성장을 추구하는 개발자입니다. 꾸준함을 추구합니다.

계속 쓰는 개발 노트

운영체제 (OS)

프로세스간 커뮤니케이션 - signal과 socket

gold_dragon 2021. 4. 20. 20:52

시그널 (signal)

유닉스에서 30년 이상 사용된 전통적인 기법입니다.

커널 또는 프로세스에서 다른 프로세스에 어떤 이벤트가 발생되었는지를 알려주는 기법입니다.

시그널은 미리 정의된 이벤트입니다. SIGKILL 같은 경우 프로세스를 끝내는 이벤트를 보냅니다. SIGALARM은 알람을 발생시킵니다. 이렇게 운영체제 단에 정의가 돼 있습니다.

프로세스 관련 코드에 관련 시그널 핸들러를 등록해서, 해당 시그널 처리를 실행합니다.

PCB에서 해당 프로세스가 블록 또는 처리해야하는 시그널 관련 정보를 관리합니다.

커널 모드에서 사용자 모드로 스위칭 시 시그널을 확인합니다.

소켓 (socket)

소켓은 네트워크 통신을 위한 기술입니다.

기본적으로는 클라이언트와 서버 등 두 개의 다른 컴퓨터 간의 네트워크 기반 통신을 위한 기술입니다.

소켓을 하나의 컴퓨터 안에서, 두 개의 프로세스간에 통신 기법으로 사용 가능합니다.

'운영체제 (OS)' 카테고리의 다른 글

스레드  (0) 2021.04.21
프로세스 총 정리 및 성능 개선 방법  (0) 2021.04.21
IPC 기법 (1)  (0) 2021.04.19
프로세스간 커뮤니케이션  (0) 2021.04.19
프로세스와 컨텍스트 스위칭  (0) 2021.04.19