반응형
SMALL
IPC(INTER-PROCESS COMMUNICATION)
- IPC는 모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합이다.
- 복수의 프로세스를 구행하며 이뤄지는 프로세스 간 통신까지 구현이 가능하다
- IPC 대표 메소드 5가지
- 공유 메모리(SHARED MEMORY)
- 소켓(SOCKET)
- 세마포어(SEMAPHORES)
- 파이프와 네임드 파이프(PIPES&NAMED PIPES)
- 메시지 큐잉(MESSAGE QUEUEING)
공유 메모리 (SHARED MEMORY)
- 개념: 여러 프로세스가 같은 메모리 공간을 공유하여 데이터를 주고받는 방법입니다. 프로세스 간에 고속 통신이 가능하지만, 동기화 문제가 발생할 수 있어 세마포어 같은 동기화 기법이 필요합니다.
- 예시: 두 프로세스가 하나의 메모리 블록을 공유하며 데이터를 읽고 쓴다고 가정할 때, A 프로세스가 데이터를 메모리에 저장하고, B 프로세스가 같은 메모리에서 데이터를 읽어 사용합니다.
소켓 (SOCKET)
- 개념: 네트워크를 통해 프로세스 간 통신을 하는 방법입니다. TCP/IP와 같은 프로토콜을 사용하여 로컬 및 원격 컴퓨터 간의 데이터를 주고받을 수 있습니다.
- 예시: 웹 브라우저(클라이언트)가 웹 서버에 접속하여 페이지를 요청할 때, 브라우저는 서버에 소켓을 통해 요청을 보내고, 서버는 소켓을 통해 응답을 보냅니다.
세마포어 (SEMAPHORES)
- 개념: 공유된 자원에 대한 동시 접근을 제어하는 동기화 메커니즘입니다. 세마포어는 카운터로 자원의 상태를 기록하여 여러 프로세스가 동시에 자원에 접근하지 못하도록 합니다.
- 예시: 파일을 여러 프로세스가 동시에 수정하지 못하도록 세마포어를 사용하여, 한 프로세스가 파일을 사용 중일 때 다른 프로세스는 접근을 대기하게 만듭니다.
파이프와 네임드 파이프 (PIPES & NAMED PIPES)
- 개념: 파이프는 한 방향으로 데이터를 주고받는 방식이며, 부모-자식 프로세스 간에 주로 사용됩니다. 네임드 파이프는 양방향 통신이 가능하며, 같은 시스템에서 서로 다른 프로세스 간에도 사용할 수 있습니다.
- 예시: 리눅스 명령어 ls | grep txt처럼 한 프로세스의 출력을 다른 프로세스의 입력으로 연결하여 파이프를 통해 데이터를 주고받습니다.
메시지 큐잉 (MESSAGE QUEUEING)
- 개념: 프로세스 간에 메시지를 큐에 저장하고, 이를 다른 프로세스가 큐에서 읽어 데이터를 전달받는 방식입니다. 비동기적으로 동작하여 두 프로세스가 동시에 실행되지 않아도 됩니다.
- 예시: A 프로세스가 메시지 큐에 메시지를 보낸 후 종료하고, 나중에 B 프로세스가 메시지 큐에서 그 메시지를 읽어 처리합니다.
반응형
LIST
'정보처리기사 > 서버 프로그램 구현' 카테고리의 다른 글
N-S차트 (0) | 2024.10.18 |
---|---|
모듈의 결합도와 응집도 (0) | 2024.10.18 |
객체 지향 분석의 방법론 (1) | 2024.10.17 |
객체지향 설계의 핵심 원리-클래스,메시지,캡슐화 (3) | 2024.10.17 |
소프트웨어 설계 패턴 (12) | 2024.10.17 |