Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Thực hành hệ điều hành deal lock
Nội dung xem thử
Mô tả chi tiết
Thực hành HỆ ĐIỀU HÀNH - Bài 2 : DEADLOCK
Mục tiêu : hiểu ý tưởng của phương pháp DeadLock Avoidance để giải quyết vấn đề DeadLock
của hệ điều hành
1.Cài đặt thuật toán kiểm tra safe/unsafe cho hệ thống
- Tạo tập tin mô tả hệ thống, lưu tên SYSTEM1.TXT
4 3
3 2 2
6 1 3
3 1 4
4 2 2
1 0 0
2 1 1
2 1 1
0 0 2
4 1 2
- Chương trình viết trong Borland C++
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define Pmax 10
#define Rmax 10
int Allocation[Pmax][Rmax];
int Max[Pmax][Rmax];
int Need[Pmax][Rmax];
int Available[Rmax];
int finished[Pmax];
int Pnum,Rnum;
void getinfo(const char *filename)
{
int i,j;
FILE *f;
if((f=fopen(filename,"rt"))==NULL)
{
printf("ko co tap tin\n");
exit(0);
};
fscanf(f,"%d%d",&Pnum,&Rnum);
for (i=0;i<Pnum;i++)
for (j=0;j<Rnum;j++)
fscanf(f,"%d",&Max[i][j]);
for (i=0;i<Pnum;i++)
for (j=0;j<Rnum;j++)
fscanf(f,"%d",&Allocation[i][j]);
for (j=0;j<Rnum;j++)
fscanf(f,"%d",&Available[j]);
fclose(f);
}
void printinfo()
{ int i,j;
for (i=0;i<Pnum;i++)
{ printf("P[%d] ",i);
for (j=0;j<Rnum;j++)
printf(" %d",Max[i][j]);
for (j=0;j<Rnum;j++)
printf(" %d",Allocation[i][j]);
printf("\n");
}
}
void printAvailable()
{
for(int j=0;j<Rnum;j++) printf(" %d",Available[j]);
}
int testsafe(){