POSIX library를 이용한 Dinning Philosopher, Deadlock Prevention

 1  POSIX library를 이용한 Dinning Philosopher, Deadlock Prevention-1
 2  POSIX library를 이용한 Dinning Philosopher, Deadlock Prevention-2
 3  POSIX library를 이용한 Dinning Philosopher, Deadlock Prevention-3
 4  POSIX library를 이용한 Dinning Philosopher, Deadlock Prevention-4
 5  POSIX library를 이용한 Dinning Philosopher, Deadlock Prevention-5
※ 미리보기 이미지는 최대 20페이지까지만 지원합니다.
  • 분야
  • 등록일
  • 페이지/형식
  • 구매가격
  • 적립금
자료 다운로드  네이버 로그인
소개글
POSIX library를 이용한 Dinning Philosopher, Deadlock Prevention에 대한 자료입니다.
목차
1. Dinning Philosopher 문제를 POSIX library를 활용하여

1.1 프로그램 설명

1.2 소스 코드

1.3 실행 결과

1.4 결과 분석


2. 위 프로그램에 필요한 자원을 한꺼번에 확보하는 방법의

2.1 프로그램 설명
2.2 소스 코드 - philosopher()부분만 기재
2.3 결과 분석

3. 위 프로그램에 필요한 자원을 0,1,2,3,4 순서로 확보하는 방법의
deadlock prevention 기법을 적용하여 작성하시오.


3.1 프로그램 설명
3.2 소스 코드 - philosopher()부분만 기재
2.4 결과 분석
본문내용
1. Dinning Philosopher 문제를 POSIX library를 활용하여
재작성하시오
1.1 프로그램 설명
picoKernel이 아닌 POSIX Library를 이용한다. 이를 위해서는 pthread.h가 필요하며, 프로세스 스케쥴링을 위해 sched.h를 사용한다.
picoKernel과 다른 점은 다음과 같다. mutex가 pthread_mutex_t 라는
구조체에 저장되며, thread도 pthread_t를 이용한다. 또한 Thread 생성 시
인자 값을 포인터로 넘겨주기 때문에 동기화 문제가 생길 수도 있다.
각 Thread는 5번의 작업을 하면 종료하게 되어 있으며, 생성은 기본 설정으로
한다. 내부의 작동은 과제#3에서 작성한 프로그램과 동일하다.
1.2 소스 코드
#include
#include
#include
pthread_mutex_t mutexChopstick[5];
pthread_t threadnum[5];
int g_id=1;
void *philosopher(void *);
int main(void)
{
int index;
for(index=0;index
오늘 본 자료
더보기
  • 오늘 본 자료가 없습니다.
해당 정보 및 게시물의 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보 및 게시물 내용의 불법적 이용,무단 전재·배포는 금지되어 있습니다. 저작권침해, 명예훼손 등 분쟁요소 발견 시 고객센터에 신고해 주시기 바랍니다.