One_Blog

병렬 프로세스 [운영체제 수업] 본문

운영체제

병렬 프로세스 [운영체제 수업]

0xOne 2023. 3. 21. 16:13
728x90

날짜 : 2023년 3월 21일

 

오늘 수업 주제

: 병행 프로세스





오늘 배운 내용 요약

:

 

동시성(병행성)과 병렬성

 

동시성(병행성)

  • 동시에 하는 것처럼 보임
  • 싱글 코어
  • 한번에 많은 일을 처리함
  • 논리적 개념
  • 2개 이상의 작업을 동시에 지원

병렬성

  • 실제로 동시에 실행
  • 멀티 코어
  • 한번에 많은 일을 처리함
  • 물리적 개념
  • 2개 이상의 작업을 동시에 수행

 

병행 프로세스

  • 프로세스 여러개를 동시에 실행하는 것처럼 보이게 만듬

 

독립 프로세스

  • 단일 처리 시스템에서 프로세스가 독립적으로 수행
  • 타 프로세스에 영향을 끼치지 않음

협력 프로세스

  • 다중 처리 시스템에서 프로세스간에 영향을 주고 받는 것
  • 데이터 공유 방식, 공유 데이터 접근 방식에 의한 영향

 

협력 프로세스 수행 방식 구분

 

비동기적 수행

  • 정교한 협력을 통해 어떤 기능을 수행

동기적 수행

  • 프로세스 동기화
  • 여러 독립 프로세스 간 처리 순서를 결정
  • 공유 데이터에 대한 올바른 공유, 접근, 조작이 가능해야함.

 

협력 이유

  • 상호 정보 공유
  • 계산 속도 향상
  • 모듈적 구성 강화
  • 편의성 증대

문제점

  • 한정된 자원을 동시에 사용할 시 생기는 문제들
  • 공유 자원의 배타적 사용 문제
  • 하나의 기능을 동시에 수행할 때 발생하는 문제
  • 동기화 문제
  • 자료교환을 위한 메시지 전달 방식 상의 통신 문제
  • 교착 상태 문제
  • 실행 순서와 관계없이 항상 같은 결과를 얻어야 함
  • 결정성 문제

 

결정성

  • 프로세스 실행 순서에 따라 결과값이 변화
  • 변수 a, b를 공유하며 상대의 입력 변수에 출력하기에 문제가 발생 (간섭 문제)
  • 간섭이 발생하지 않으면 결정성을 가짐. 
  • 같은 조건과 입력이 주어지면 같은 결과를 출력

선행 제약 관계

  • 부분 순서 성질을 갖는 관계
  • p1 < p2면 p1을 해야 p2 실행 가능
  • p1 < p2  , p2 < p3면 p1 < p3 성립
  • 제약이 없다면 둘은 독립적이므로, 병행 실행 가능

 

선행 그래프

  • 선행 제약을 방향 그래프로 표현
  • 비순환 그래프
  • 노드 : 소프트웨어의 작업 또는 동시에 실행 가능한 명령어를 뜻함.