반응형
1. IPC의 개념과 목적
가. IPC의 개념
- 운영체제에서 실행 중인 여러 독립 프로세스들이 서로 데이터를 주고받아 협력할 수 있도록 하는 기술
나. IPC 목적
구분 | 목적 | 설명 |
데이터 공유 | 데이터 교환 | - 프로세스간 변수, 메시지 등 전달 |
자원 공유 | - 메모리, 파일 등 효율적 공유 | |
프로세스 협력 | 작업 분담 | - 복잡한 작업 분산 수행 |
동기화 | 이벤트 동기화 | - 작업 순서 제어 동기화 |
안정성 및 성능 | - 프로세스 모듈화로 성능 개선 |
2. IPC 주요 기법 3가지
기법 | 매커니즘 | 설명 |
파이프 | ![]() |
- 한 프로세스 출력, 다른 프로세스 입력의 단방향 통신 방식 - 주로 부모-자식 프로세스간 통신에 사용 |
공유 메모리 | ![]() |
- 두 개 이상의 프로세스가 동일한 메모리 공간 공유로 데이터 교환 - 가장 빠른 IPC 방식이지만 동기화 구현 필요 |
메시지 | ![]() |
- 운영체제가 관리하는 메시지 큐에 메시지 넣고 꺼내는 방식, 비동기 통신 기능 - 큐 기반 여러 메시지 순차 처리 가능 |
3. 공유 자원 출돌이나 일관성 문제 해결위한 동기화 기법
기법 | 매커니즘 | 설명 |
세마포어 | ![]() |
- 카운터 값 활용해 여러 프로세스가 공유 자원 접근하는 것을 제어 - 이진 세마포어, 카운팅 세마포어 |
뮤텍스 | ![]() |
- 하나의 프로세스만 공유 자원에 접근할 수 있도록 잠금 설정하는 방식 - 뮤텍스 획득 프로세스가 작업 후 해제해야 다른 프로세스 접근 가능 |
모니터 | ![]() |
- 상호 배제 로직 추상화하고 공유 자원 접근 인터페이스 제 - 고수준 언어에서 많이 사 |
Read-Write Lock | ![]() |
- 여러 읽기는 동시 허용, 쓰기는 단독으로 수행하게 관리 - 데이터 일관성과 병렬성 만족 |
반응형