검색어 입력폼

[운영체제] 비동기 병행 프로세스

등록일 2004.06.16 한글파일한컴오피스 (hwp) | 4페이지 | 가격 500원

소개글

비동기 병행 프로세스에서
임계구역과 상호배제 부분을 다룬 레포트입니다.

목차

● Mutual Exclusion
-Critical Section
● Semaphore
● Producer & Consumer
-Eventcounts, Squencer

본문내용

■ Mutual Exclusion(상호 배제)
임계구역(Critical Section)을 가진 스레드들이 동시에 실행되지 않고 서로 배제되어 실행되게 하는 기술이며, 다중 프로그래밍 운영체제에서 여러 프로세스가 데이타를 공유하면서 수행될 때 각 프로세스에서 공유 데이타를 액세스하는 프로그램 코드 부분을 가리키는 말이다.

공유데이타를 여러 프로세스가 동시에 액세스하면 시간적인 차이 때문에 잘못된 결과를 만들어 낼 수 있기 때문에 한 프로세스가 위험 부분을 수행하고 있을 때, 즉 공유 데이타를 액세스하고 있을 때는 다른 프로세스들은 절대로 그 데이터를 액세스하지 못하도록 하여야 한다.

따라서, 만일 어느 쓰레드에서 임계구역을 실행하고 있으면, 다른 스레드들은 그 임계 구역에 접근할 수 없고
앞의 스레드가 임계 구역을 벗어나기를 기다려야 함.

이런 방법을 "상호배제" 라고 한다.

■Semaphore
다익스트라(E.J.Dijkstra)가 제안한 동시에 정보를 공유하여 수행되는 두 개 이상의 프로그램이나 프로세스에서 활동(activity)의 위치(coordination)를 설정해 주는 데 사용되는 동기화를 위한 기본 조작.
다시 말해 상호배제의 기법을 사용하지 않고 프로세스를 동기화하는 방법이다.
이는 두개 이상의 프로세스에 의해 공유되는 고유변수로 정의되는데, 보통의 방법으로는 다룰 수 없고 항상 P와 V라는 연산을 통해서만 액세스할 수 있다.

세마포어 sem이란 다음과 같은 연산이 허용된 정수형 변수를 말한다.

참고 자료

없음
다운로드 맨위로