병행 프로세스

rin12·2020년 7월 7일
0

CSW

목록 보기
7/12
  • 병행이란?

병행 프로세스

: 말 그대로 프로세스 여러 개가 동시에 실행되는 것.



하지만 이렇게 동시에 실행되는 건 아닙니다.


-> 위 그림은 병렬 프로세스.


-> 병행 프로세스

겉으로는 동시에 실행되는 것처럼 보이지만 운영체제가 프로세서를 빠르게 전환하여 프로세서 시간을 나눠서 마치 프로세스 여러 개를 동시에 실행하는 것처럼 보이게 하는 것을 병행 프로세스라고 한다.




- 병행 프로세스의 종류

독립 프로세스

: 단일 처리 시스템에서 이루어지는 병행 프로세스. 다른 프로세스와 영향을 주고받지 않으면서 독립적으로 실행.
: 다른 프로스와 데이터나 상태를 공유하지 않고 동작도 재현 가능.

ex) 단일 프로그래밍, 다중 프로그래밍 등




협력 프로세스

: 다른 프로세스와 영향을 주고 받으며 상호작용으로 수행하는 비동기적 프로세스




비동기적 프로세스 상호작용

  • 자원 경쟁 : 프로세스는 서로 인식하지 못하는 경쟁 관계를 유지
  • 협력 : 프로세스는 입출력 버스를 비롯한 개체를 공유하는 단계에서 간접적으로 서로의 관계를 인식하고 개체 공유에 따른 협혁을 한다
  • 통신 : 프로세스는 서로를 인식하고 프로세스끼리 통신할 수 있는 기본 함수가 있다.



병행 프로세스의 문제점

  1. 상호배제 (Mutual Exclusion)
  2. 동기화 (Synchronization)
  3. 통신 문제 (Communication)
  4. 교착상태 (Dead Lock)

0개의 댓글