zoukankan      html  css  js  c++  java
  • 操作系统银行家算法

    #include <stdio.h>
    #include <stdlib.h>

    /*********************************************************************
    * 文件名称: // bank_alloc.cpp
    * 文件标识: //
    * 内容摘要: //操作系统银行家算法
    * 其它说明: //
    * 当前版本: // v1.0
    * 作 者: //pipi
    * 完成日期: // 2011年12月6日
    *********************************************************************
    */
    typedef struct banker
    {
    int alloc;
    int need;
    int state; // 0 分配 1释放
    struct banker *next;
    }banker_ST,*lpbanker_ST;


    void CreateLoopLink(lpbanker_ST head,int alloc_arry[],int need_arry[])
    {

    lpbanker_ST p = head;

    for(int i=0;i<3;i++)
    {
    lpbanker_ST new_node = (lpbanker_ST)malloc(sizeof(banker_ST));
    new_node->alloc = alloc_arry[i];
    new_node->need = need_arry[i];
    new_node->state = 0;
    p->next = new_node;
    p = new_node;
    }
    p->next = head->next;
    }


    void request_now (lpbanker_ST head,int requste)
    {
    lpbanker_ST travel = head;
    int i = 0;

    travel = travel->next;

    while((travel->state==0))
    {
    printf("第%d次:",++i);
    if((requste>=travel->need) && (0==travel->state))
    {

    printf(" alloc_%d nedd_%d",travel->alloc,travel->need);
    requste += (travel->alloc+travel->need);
    printf(" requste =%d\n",requste);
    //释放本节点
    travel->state =1;
    }
    else
    {
    printf("不满足回收条件\n");
    }
    travel = travel->next;
    }
    }

    int main()
    {

    int alloc_arry[] = {4,7,6};
    int need_arry [] = {3,5,1};

    lpbanker_ST head = (lpbanker_ST)malloc(sizeof(banker_ST));
    head->alloc = 0;
    head->need = 0;
    lpbanker_ST free_node;

    CreateLoopLink(head,alloc_arry,need_arry);
    request_now(head,1);

    while(free_node)
    {
    free_node = head;
    head =head->next;
    free(free_node);
    free_node = NULL;
    }
    return 0;
    }
  • 相关阅读:
    1.33 (累积互素数)
    1.33 (过滤累积和 求区间内所有素数之和)
    1.32 (更高层次的抽象! 乘法与加法本来就是一回事)
    1.31 (另一种求圆周率的算法)
    1.30 (递归的sum变迭代)
    习题1.29 (积分方法的优化---simpson规则)
    1.3.1 (对过程的抽象)
    SICP习题 1.23(素数查找的去偶数优化)
    SICP习题 1.22(素数)
    pom.xml
  • 原文地址:https://www.cnblogs.com/pipicfan/p/2278364.html
Copyright © 2011-2022 走看看