목차
1. 시스템 상태 분석
2. c언어로 구현한 은행가알고리즘 소스
3. 출력 결과
2. c언어로 구현한 은행가알고리즘 소스
3. 출력 결과
본문내용
1] && Pneed[j][2] <= Pwork[2] && Pneed[j][3] <= Pwork[3]) { // 프로세스가 사용할 수 있는 자원 체크
for (k=0; k<4; k++) {
// 활용가능한 자원 계산(작업을 마친 프로세스의 모든 자원을 반납한다.)
Pwork[k] = Pwork[k] + Pallocation[j][k];
}
Pfinish[j] = true; // 프로세스 작업을 마치면 프로세스의 상태를 false에서 true로 변환
printf("P[%1d] ", j); // 작업을 실행한 프로세스의 순서 표시
}
}
}
}
for (i=0; i<5; i++) {
if (Pfinish[i] != true) { // 작업이 모두 끝났는지를 체크
printf("System isn't safe state\n"); // 작업이 끝나지 않은 프로세스가 있으면 안정 상태가 아님.
for (j=0; j<4; j++) { // 이전의 자원 할당 상태로 복원
Pavailable[i] += Prequest[i];
Pallocation[Processname][i] -= Prequest[i];
Pneed[Processname][i] += Prequest[i];
}
exit(1);
}
}
printf("\nSystem is safe state\n"); // 모든 프로세스의 상태가 true이면 안정 상태
printf("\nRequest resource 0 or End 1 : "); // 자원을 계속 요청할 것인지를 결정.
scanf("%1d", &select);
} while(select==0);
}
♠ 실행결과
for (k=0; k<4; k++) {
// 활용가능한 자원 계산(작업을 마친 프로세스의 모든 자원을 반납한다.)
Pwork[k] = Pwork[k] + Pallocation[j][k];
}
Pfinish[j] = true; // 프로세스 작업을 마치면 프로세스의 상태를 false에서 true로 변환
printf("P[%1d] ", j); // 작업을 실행한 프로세스의 순서 표시
}
}
}
}
for (i=0; i<5; i++) {
if (Pfinish[i] != true) { // 작업이 모두 끝났는지를 체크
printf("System isn't safe state\n"); // 작업이 끝나지 않은 프로세스가 있으면 안정 상태가 아님.
for (j=0; j<4; j++) { // 이전의 자원 할당 상태로 복원
Pavailable[i] += Prequest[i];
Pallocation[Processname][i] -= Prequest[i];
Pneed[Processname][i] += Prequest[i];
}
exit(1);
}
}
printf("\nSystem is safe state\n"); // 모든 프로세스의 상태가 true이면 안정 상태
printf("\nRequest resource 0 or End 1 : "); // 자원을 계속 요청할 것인지를 결정.
scanf("%1d", &select);
} while(select==0);
}
♠ 실행결과
추천자료
한글과 영어의 차이점
B급 푸시풀 이미터 폴로워 전력증폭기
빈곤 가족
The B.F.Goodrich &#8208; Rabobank Interest Rate Swap
빈곤의 정의와 우리나라 빈곤실태 및 해결방안
방카슈랑스
한국어의 탐구와 이해 5장
[인적자원][인적자원개발][인적자원개발정책][직업교육]인적자원의 의미, 인적자원개발의 특...
데이터베이스 회복
고혈압의 형태와 원인 증상 및 진단과 관리와 환자교육 및 간호과정
[기업][기업 은행합병][기업 은행대출][기업 은행차입금][기업 은행고객]기업의 은행합병, 기...
[사회문제론] 빈곤의 정의와 우리나라 빈곤실태 및 해결방안
[위기관리][위기관리 필요성][위기관리 접근방식][위기관리 위기인식][위기관리 전략]위기관...
소개글