Skip to main content

Determine the safe sequence of Banker's algorithm

process      Allocation   Max   Available
---------    ------------   ------   -----------
p0             3                 6         2
p1            4                 8      
p2            0                 1    
p3            3                 5
p4           1                 6
p5           2                 12


Solution:Banker's algorithm using c

#include<stdio.h>


int executed[6];
int main()
{
    int p = 6, i;
    char process[10];

    int need[6];
    int allocated[6];
    int max[6];
    int avail = 2, k,j;


    printf("Enter current allocation:");
    for (i = 0; i<p; i++)
    scanf("%d", &allocated[i]);

    printf("Enter max claim:");
    for (i = 0; i<p; i++)
        scanf("%d", &max[i]);

    //calculate need
    for (i = 0; i<p; i++)
    {
        need[i] = max[i] - allocated[i];
    }

    k = 0;


    while (1)
    {
        for (i = 0; i<p; i++)
        {

                if (need[i] <= avail)
                {
                    executed[k++] = i;
                    need[i] = 99999999999; //sentinel element
                    if (i < 6)
                    {
                        avail = allocated[i] + avail;
                    }
                }
            }


        if (k == p)
        {
            break;
        }
    }

    printf("Safe sequence:");
    for (i = 0; i<p; i++)
    {
        printf(" P%d ", executed[i]);
    }

    return 0;
}

Comments

Popular posts from this blog

update your package-lock.json according to what you have specified in the package.json file

  The objective of the   npm update   command is to update your   package-lock.json   according to what you have specified in the   package.json   file. This is the normal behavior. If you want to update your package.json file, you can use  npm-check-updates :  npm install -g npm-check-updates . You can then use these commands: ncu  Checks for updates from the package.json file ncu -u  Update the package.json file npm update --save  Update your package-lock.json file from the package.json file

Limit Upload File Type Extensions ASP.NET MVC 5

  //-----------------------------------------------------------------------    // <copyright file="AllowExtensionsAttribute.cs" company="None">    //     Copyright (c) Allow to distribute this code and utilize this code for personal or commercial purpose.    // </copyright>    // <author>Asma Khalid</author>    //-----------------------------------------------------------------------       namespace  ImgExtLimit.Helper_Code.Common   {        using  System;        using  System.Collections.Generic;        using  System.ComponentModel.DataAnnotations;        using  System.Linq;      ...

Referenced assembly does not have a strong name

  Steps to create strong named assembly Step 1 : Run visual studio command prompt and go to directory where your DLL located.   For Example my DLL located in  D:/hiren/Test.dll Step 2 : Now create  il file using below command.    D:/hiren> ildasm /all /out=Test.il Test.dll   (this command generate code library) Step 3 : Generate new Key for sign your project.    D:/hiren> sn -k mykey.snk Step 4 : Now sign your library using ilasm command.    D:/hiren> ilasm /dll /key=mykey.snk Test.il so after this step your assembly contains strong name and signed. Jjust add reference this new assembly in your project and compile project its running now. codeproject.com/Tips/341645/Referenced-assembly-does-not-have-a-strong-name