Carnival7
Change Developer
Carnival7
전체 방문자
오늘
어제
  • 분류 전체보기
    • 자바의 정석
    • 프로그래밍 언어별 tools
      • 파이썬
      • 자바
    • 코딩 테스트
      • 백준 강의 기초편
      • 백준 강의 연습편
      • 백준 강의 문제편
      • 삼성 기출
      • 백준 - 일반
      • 카카오 기출
      • 프로그래머스 - 일반
      • 코테 풀이 Tools
    • CS
      • Network
      • 운영체제
      • 알고리즘
      • DB
    • Web_Backend
      • Spring
      • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
      • 스프링 핵심 원리 - 기본편
    • DevOps
    • IT 업무 지식
      • 인프라
      • 클라우드
    • 자격증
      • AWS - CLF
      • 정처기 - 실기
    • 생각 정리

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 코딩테스트 #삼성기출 #구현 #시뮬레이션
  • ci/cd
  • 슬라이딩 윈도우
  • 스프링 #AOP
  • 스프링 #인터셉터 #AOP #필터
  • Github Actions
  • nginx
  • 프로그래머스 #카카오기출 #레벨2
  • 스프링 부트 무중단 웹 서비스
  • 삼성기출 #백준강의문제편
  • 슬라이딩 윈도우 #덱
  • DevOps
  • DMZ
  • 알고리즘 #백준강의기초편 #코딩테스트
  • 삼성기출 #2023 #상반기
  • code deploy

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Carnival7

Change Developer

CS/운영체제

7.IPC

2024. 7. 12. 10:31

IPC(Inter Process Communication)


  • IPC(Inter Process Communication)
    • 공유 메모리
    • 파일
    • 소켓
    • 익명 파이프
    • 명명된 파이프
    • 메시지 큐

프로세스끼리 데이터를 주고받고 공유 데이터를 관리하는 매커니즘

공유 메모리

image

여러 프로세스에 동일한 메모리 블록에 대한 접근 권한이 부여되어 프로세스가 서로 통신할 수 있도록 공유 메모리를 생성하여 통신

  • 특징
    • 가장 빠름 : 메모리 자체를 공유하기에 불필요한 데이터 복사의 오버헤드가 발생하지 않음
    • 동기화 필요 : 같은 메모리 영역을 여러 프로세스가 공유
    • 하드웨어 관점에서공유 메모리는 CPU가 접근할 수 있는 큰 랜덤 접근 메모리인 RAM을 가리키기도 함

파일

디스크에 저장된 데이터 또는 파일 서버에서 제공한 데이터. 이를 기반으로 프로세스 통신을 함

소켓

동일한 컴퓨터의 다른 프로세스나 네트워크의 다른 컴퓨터로 네트워크 인터페이스를 통해 전송하는 데이터(TCP, UDP)

익명 파이프

image

프로세스 간에 FIFO 방식으로 읽히는 임시 공간인 파이프를 기반으로 데이터를 주고받으며, 단방향 방식의 읽기 전용, 쓰기 전용 파이프를 만들어서 작동. 부모, 자식 프로세스 간에만 사용 가능.

명명된 파이프

image

파이프 서버와 하나 이상의 파이프 클라이언트 간의 통신을 위한 명명된 단방향 또는 양방향 파이프. 클라이언트/서버 통신을 위한 별도의 파이프를 제공하며, 여러 파이프 동시 사용 가능. 컴퓨터의 프로세스끼리 또는 다른 네트워크 상의 컴퓨터와도 통신 가능

메시지 큐

image

메시지를 큐 데이터 구조 형태로 관리하는 것.

  • 특징
    • 커널에서 전역적으로 관리
    • 다른 IPC 방식에 비해서 사용 방법이 매우 직관적이고 간단
    • 다른 코드 수정 없이 단지 몇 줄의 코드를 추가시켜 간단하게 메시지 큐에 접근 가능

'CS > 운영체제' 카테고리의 다른 글

9. 스케줄링  (0) 2024.08.03
8.좀비 프로세스와 고아 프로세스  (0) 2024.07.12
6.교착 상태  (0) 2024.07.12
5.프로세스 동기화  (0) 2024.07.12
4. 멀티 프로세스와 멀티 스레드  (0) 2024.07.12
    'CS/운영체제' 카테고리의 다른 글
    • 9. 스케줄링
    • 8.좀비 프로세스와 고아 프로세스
    • 6.교착 상태
    • 5.프로세스 동기화
    Carnival7
    Carnival7

    티스토리툴바