상호배제정의및 해결방안(소스코드제공)
- 최초 등록일
- 2010.06.19
- 최종 저작일
- 2007.06
- 6페이지/ 한컴오피스
- 가격 2,000원
소개글
상호배제정의및 해결방안(소스코드제공)
소스코드및 실행결과화면 수록
주석 제공
7페이지 한글파일
목차
없음
본문내용
병행 프로세스의 상호 배제 해결 방안
상호배제 정의
: 병행 처리 상태에서 두 개 이상의 프로세스가 동시에 처리된다면 여러 가지 다양한 오류가 발생 될 수 있습니다. 이러한 오류를 방지하기 위해서 상호배제와 같은 방법이 있습니다.
상호배제란 임의의 프로세스들이 공유 자원을 사용하고자 할 때 한 순간에 하나의 프로세스만 접근할 수 있도록 하는 기법입니다. 즉, 한 프로세스가 공유 자원을 사용하는 동안 다른 프로세스가 이미 할당된 자원을 요구 한다면 자원을 요구한 프로세스는 원하는 자원이 해제될 때까지 기다려야 한다는 의미입니다.
해결방법
: 소프트웨어적인 해결방법과 하드웨어적인 해결방법이 있는데 여기에선 하드웨어적인 해결방법인 Test and Set명령어와 Swap 명령어에 대해 설명 드리겠습니다.
string[300] sharedString; // 프로세스가 접근할 공유변수
int lock; // Test-and-Set 용 락변수
const int p = 5;
int waiting[p];
// 공유변수에 문자열을 추가하는 함수
atomic void coutWait(int id){
cout << "프로세스 " << id << " 이 대기중" << endl;
}
참고 자료
없음