Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Thuật giải xác định Deadlock

Go down

Thuật giải xác định Deadlock Empty Thuật giải xác định Deadlock

Bài gửi  tranphamngocvan(I83C) 24/11/2010, 00:12

#include “prototype.h”

#define N 10 /* Số tiến trình */
#define M 20 /* Số loại tài nguyên */

int Available [M];
int Allocation [N][M];
int Request [N][M];

/* Available[j]=k – Số phiên bản của tài nguyên Rj */
/* Allocation [i, j] = k – Pi đang giữ k phiên bản Rj */
/* Request [i, j] = k – Pi yêu cầu k phiên bản Rj */

int Work [M];
/* Work=Available Allocation[i1] Allocation[i2] ....*/
Boolean Finish [N];
int i, j;



/* Có Deadlock ? */
Boolean IsDeadlockState ( void ) {
Work = Available;
Finish [j] = false vớii j = 0, 1, ... , N-1;
while ( $ i : Finish[i] = false và Request[i]<=Work){
Work = Work Allocation [i];
Finish [i] = true;
}

if ( Finish [i] == true với i )
return (false);/* Không có Deadlock */
else
return (true); /* Có Deadlock */
/* Nếu Finish[i] = false thì Pi bị Deadlock */
}

tranphamngocvan(I83C)

Tổng số bài gửi : 6
Join date : 21/10/2010

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết