본문 바로가기

방송통신대 컴퓨터과학과

운영체제 5강 (병행프로세스)

728x90
학습개요
  1. 병행 프로세스 중 협력 프로세스에서 발생할 수 있는 구체적인 문제로 생산자-소비자 문제와 판독기-기록기 문제가 있습니다. 또한 협력 프로세스 사이에는 데이터를 공유하기 위해 통신이 필수인데, 이 과정에서도 다양한 문제가 발생할 수 있습니다. 이번 강의에서는 생산자-소비자 문제, 판독기-기록기 문제의 예를 통해 협력 프로세스의 일반적 구현방법을 학습합니다. 또한 병행 프로세스 사이의 통신을 위한 방법에 대해 논리적 측면에서 살펴봅니다.
 학습목표
  1. 생산자-소비자 문제를 알아보고, 세마포어를 이용하여 해결할 수 있다.
  2. 판독기-기록기 문제를 알아보고, 세마포어를 이용하여 해결할 수 있다.
  3. 프로세스 간 통신을 위한 논리적 구조를 설명할 수 있다.
정리하기
  1. 생산자-소비자 문제는 상호배제와 동기화가 필요한 문제로 세마포어를 이용하여 구현할 수 있다.
  2. 판독기-기록기 문제는 기록기는 상호배제가 필요하나 판독기는 상황에 따라 다른 처리가 필요한 문제로 세마포어를 이용하여 구현할 수 있다.
  3. 판독기-기록기 문제는 특정 상황에서 판독기에 우선순위를 주는 형태의 문제와 기록기에 우선순위를 주는 형태의 문제로 정의할 수 있다.
  4. 프로세스 간 통신 방법에는 공유 메모리 방법과 메시지 전달 방법이 있다.
  5. 공유 메모리 방법은 협력 프로세스가 공유 메모리를 이용하는 동일한 변수를 사용함으로써 데이터를 서로 공유하는 방법이다.
  6. 메시지 전달방법은 협력 프로세스가 메시지를 주고받으면서 데이터를 서로 공유하는 방법이다.
  7. 메시지 전달방법에는 송신자와 수신자가 직접 서로를 지정하여 메시지를 주고받는 직접통신 방법과 우편함을 통하여 메시지를 주고받는 간접통신 방법이 있다.