×
NOTE!
Click on MENU to Browse between Subjects...
Advertisement
SYSTEM SOFTWARE AND OPERATING SYSTEM LABORATORY
[As per Choice Based Credit System (CBCS) scheme]
(Effective from the academic year 2017 - 2018)
SEMESTER - VI
Subject Code 17CSL67
IA Marks 40
Number of Lecture Hours/Week 01I + 02P
Exam Marks 60
17CSL67 - SYSTEM SOFTWARE AND OPERATING SYSTEM LABORATORY
Program 8
Design, develop and implement a C/C++/Java program to implement Banker's algorithm. Assume suitable input required to demonstrate the results.
Advertisement
Advertisement
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | #include <stdio.h> #include <stdlib.h> int main() { int Max[10][10], need[10][10], alloc[10][10], avail[10], completed[10], safeSequence[10]; int p, r, i, j, process, count; count = 0; printf("Enter the no of processes : "); scanf("%d", &p); for(i = 0; i< p; i++) completed[i] = 0; printf("Enter the no of resources : "); scanf("%d", &r); printf("Enter the Max Matrix for each process : "); for(i = 0; i < p; i++) { printf("\nFor process %d : ", i + 1); for(j = 0; j < r; j++) scanf("%d", &Max[i][j]); } printf("Enter the allocation for each process : "); for(i = 0; i < p; i++) { printf("\nFor process %d : ",i + 1); for(j = 0; j < r; j++) scanf("%d", &alloc[i][j]); } printf("Enter the Available Resources : "); for(i = 0; i < r; i++) scanf("%d", &avail[i]); for(i = 0; i < p; i++) for(j = 0; j < r; j++) need[i][j] = Max[i][j] - alloc[i][j]; do { printf("Max matrix:\t\nAllocation matrix:\n"); for(i = 0; i < p; i++) { for( j = 0; j < r; j++) printf("%d ", Max[i][j]); printf("\t\t"); for( j = 0; j < r; j++) printf("%d ", alloc[i][j]); printf("\n"); } process = -1; for(i = 0; i < p; i++) { if(completed[i] == 0)//if not completed { process = i ; for(j = 0; j < r; j++) { if(avail[j] < need[i][j]) { process = -1; break; } } } if(process != -1) break; } if(process != -1) { printf("Process %d runs to completion!", process + 1); safeSequence[count] = process + 1; count++; for(j = 0; j < r; j++) { avail[j] += alloc[process][j]; alloc[process][j] = 0; Max[process][j] = 0; completed[process] = 1; } } } while(count != p && process != -1); if(count == p) { printf("The system is in a safe state!!\n"); printf("Safe Sequence : < "); for( i = 0; i < p; i++) printf("%d ", safeSequence[i]); printf(">\n"); } else printf("The system is in an unsafe state!!"); } |
Output
×
Note
Page Number is specified to navigate between Pages...
SYS = Syllabus
P = Program
-ADMIN
SYS = Syllabus
P = Program
-ADMIN
×
Note
Do Share the website link with Your Friends and known Students...
-ADMIN
-ADMIN
lIKE OUR CONTENT SUPPORT US BY FOLLOWING US ON INSTAGRAM : @futurevisionbie
Latest Updates are also posted in instagram as Stories...
For immediate Notification Join the Telegram Channel
Advertisement