반응형
Notice
Recent Posts
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Today
Total
관리 메뉴

H-Log

[운영체제] 프로세스 간 통신 본문

dev-log/cs

[운영체제] 프로세스 간 통신

hong6v6 2023. 9. 27. 14:38
반응형

종류

  1. 공유 메모리 또는 공유 파일을 이용한 통신
    • 단방향 통신 + 비동기화 통신
    • 프로세스A에서 파일 작성 → 프로세스B에서 파일 읽음
    • 데이터를 주고 받는 방법은 프로세사끼리 알아서 결정
    • → 프로그래머거 작성한 코드대로 통신
  2. 파이프를 이용한 통신
    • 단방향 통신 + 동기화 통신
    • 양방향으로 통신하려면 파이프 2개 필요
    • 운영체제가 제공하는 통신 기법 → 안정적임
    • fork()로 만들어진 부모-자식 프로세스 간 통신에 파이프 사용
    • 종류
      • 이름 없는 파이프 : 일반적 파이프
      • 이름 있는 파이프 : FIFO라는 파일을 이용해서 서로 관련 없는 프로세스 간 통신에 사용
  3. 소켓을 이용한 통신
    • 양방향 통신 + 동기화 통신
    • 네트워크로 연결된 컴퓨터끼리 데이터 주고받기 (여러 컴퓨터의 프로세스끼리 사용)
    • 많은 자원이 소비돼서 같은 컴퓨터 내에서 소켓은 비효율적
    • 소켓에 쓰기 연산 → 데이터 보내기
    • 소켓에 읽기 연산 → 데이터를 받기
    • 네트워크 프로그래밍 = 소켓 프로그래밍 이라 함

통신 방향에 따른 분류

  • 양방향 통신
    • 데이터를 양쪾 방향으로 동시전송 가능
    • 소켓통신
  • 반양방향 통신
    • 데이터 양쪽 전송 가능
    • 동시전송은 불가능
    • ex. 무전기
  • 단방향 통신
    • 공유메모리/공유파일 통신
    • 파이프 통신 (생성 시 방향 결정됨)
    • 모스신호

통신 구현 방식에 따른 분류

  • 대기가 있는 통신 (blocking communication)
    • 보낸 쪽이 블럭이 되는지 안되는지에 따라 결정
    • 양쪽이 동기화가 되어야 하는 통신방식
    • 데이터를 받는 쪽이 받을 때 까지 보내는쪽이 대기 (동시에 주고받기 위해서)
    • ex) 전화, 파이프 통신, 소켓 통신
  • 대기가 없는 통신 (non-blocking communication)
    • 동기화 지원하지 않는 통신
    • 데이터 보내는 쪽에서는 보내고 끝
    • 받는쪽에서는 확인만
    • ex) 메세지, 공유 메모리, 고융 파일
반응형

'dev-log > cs' 카테고리의 다른 글

[운영체제] 교착 상태  (0) 2023.10.01
[운영체제] 임계구역  (0) 2023.10.01
[운영체제] 인터럽트 (interupt)  (0) 2023.09.27
[운영체제] 스케줄링 알고리즘  (0) 2023.09.27
[운영체제] CPU 스케줄링  (0) 2023.09.27
Comments