프로세스 간 통신

프로세스 간에 데이터를 교환하는 행위 또는 그 방법

프로세스는 데이터 또는 코드 조작을 방지하기 위해 직접 통신할 수 없으며 서로의 공간에 접근할 수 없습니다.

그러나 이 기술은 프로세스 간의 통신이 필요하기 때문에 개발되었습니다.

프로세스 간 통신이 필요한 이유는 무엇입니까?

단일 컴퓨터에서 실행되는 여러 프로세스가 서로 데이터를 교환해야 할 때 사용됩니다.

1. 튜브:

단방향 통신, 즉 상위 프로세스 하위 프로세스에 대한 단방향 통신 기술입니다.

fork()가 자식 프로세스를 만든 후 부모 프로세스의 데이터를 자식 프로세스로 보냅니다.

2. 메시지 대기열:

FIFO 이것은 정책에 의해 데이터가 제출되는 방법입니다.

파이프 대 메시지 큐

  • 파이프는 부모와 자식 간의 통신만 허용하는 반면 메시지 큐는 모든 프로세스 간의 통신을 허용합니다.

  • 즉, 단방향과 양방향의 차이가 있습니다.

3. 공유 스토리지

Linux에는 완전히 분리된 프로세스 공간이 있습니다.

그러나 모든 프로세스는 커널 메모리 공간을 공유합니다.

따라서 Linux에서는 커널 공간에서 프로세스 간 공유가 가능합니다.

4. 소켓

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

전원 콘센트때때로 컴퓨터의 두 프로세스 사이와 클라이언트와 서버 사이의 통신 기술로 사용됩니다.