운영체제 병행프로세스와 상호배제 레포트 과제제출 시험대비
- 최초 등록일
- 2023.03.08
- 최종 저작일
- 2018.02
- 6페이지/ 한컴오피스
- 가격 1,000원
소개글
운영체제 병행프로세스와 상호배제 레포트 과제제출 시험대비
컴퓨터공학과 필수 전공과목인 운영체제이론의 레포트입니다.
운영체제 최종 성적 A+ 나왔습니당 (인증 가능합니다)
관련 자격증을 준비하시거나 수업 들으시면서 자료 필요하신 경우 도움이 많이 될 거에요!!
목차
01. Test-and-Set
02. 세마포
03. 데커 알고리즘
04. 모니터
05. pseudo code를 참고해 T1, T2 스레드가 자원 점유시 상호배제되도록 T2의 데코 알고리즘 코드를 완성하고 상세한 주석을 제시하시오.
본문내용
1. 개념
1) 개념 : 동기화 하드웨어로 상호배제를 해결하는 명령어
2) 도입배경 : 공유 변수를 수정하는 동안 인터럽트 발생을 억제하여 임계 영역 문제를 간단하게 해결할 수 있지만 이 방법은 항상 적용할 수 없고 실행 효율이 현저히 떨어진다. 또한 Lock 도입시 스레드끼리 누가 먼저 Lock을 얻을 것이냐에 대한 경쟁이 발생한다. 이때 검사와 수정을 원자적으로 수행하여 임계 영역을 해결하기 위해 도입되었다.
*하드웨어적 지원 : 설계된 기계어 명령어를 사용하여 단일처리 뿐만 아니라 다중처리 시스템에서도 사용할 수 있고 서로 다른 변수를 사용하면 여러 개의 임계영역을 지원가능.
3) 특징 :
메인 메모리를 공유하는 다중 또는 단일 프로세서에서 프로세스 수에 관계없이 적용 가능.
LOCK 변수 수에 상관없이 구현할 수 있다.
구현이 단순하고 확인이 용이하다.
다중 임계 영역을 지원한다.
2. 동작원리
1) 동작과정 :
①먼저 변수룰 읽고 그것의 값을 저장 영역에 기억시킨 후 그 변수에 다른 값을 지정.
②임계구역 진입 해제 전후에 다른 프로세스가 개입할 수 없도록 인터럽트를 아예 걸지 못하게 만든다.
③임계영역에 다른 프로세스가 없을 때 이 값을 플래그로 복사하면서 동시에 액티브 값을 true로 설정하고 임계영역에 진입한다.
2) 명령어 :
// target을 테스트하고 target의 값을 true로 세팅한다
boolean TestAndSet (boolean *target) {
boolean rv = *target; //rv에 이전 값 기록
*target = TRUE; //target값을 항상 true로 설정함으로써 다른 프로세스가
lock 변수를 false로 변경하기 전까지는 while문을 계속 돌게 한다.
return rv; //rv에 기록되었던 값 반환
}
3) 알고리즘 :
do { //프로세스의 진입 영역
waiting[i] = true; //wating[i]가 true이므로 임계영역에 들어가려고 시도한다.
참고 자료
없음