40个进程随机申请资源,满足则分配资源。

import numpy as np
import time
import random as rd
class PCB:safe_seq=[]#安全序列X=0def __init__(self, ID,ID_request, still_request,ab_resource):self.ID_request=ID_request#该进程所需总资源self.ID=ID#进程IDself.still_request=still_request#任需资源self.ab_resource=ab_resource#可用资源self.X=len(self.ID)def applican(self):#随机进程申请资源,并判断是否满足,不满足,则返回-1,满足则返回进程号,用于下一步分配app_ID=rd.sample(self.ID,1)#挑选随机进程print(app_ID[0],"号进程正在申请资源")z=self.ab_resource-self.still_request[app_ID[0]]#print(z)min_r=min(z)if min_r<0:print("当前资源分配后会进入不安全状态,申请失败")return -1else:print("满足资源分配要求,即将分配")return app_ID[0]def fenpei(self,ID):#分配资源self.ab_resource=np.array(self.ab_resource)+np.array(self.ID_request[ID]) #分配完成,资源释放self.safe_seq.append(ID)self.ID.remove(ID)print("分配成功,返还资源,当前可用资源数为:",self.ab_resource) def diaoyong(self):#判断是否分配资源z=PCB.applican(self)if z>=0:PCB.fenpei(self,z)def shuchu(self):print("所以进程已完成\n")print("安全序列为",self.safe_seq)def diaoyong1(self):while(True):#一直申请资源,直到全部完成#for i in range(10):PCB.diaoyong(self)time.sleep(0.5)if len(self.safe_seq)==self.X:#此时已经全部完成PCB.shuchu(self)break
ID=[]#进程ID
ID_request=[]#进程所需要的总资源
ID_divider=[]#已分配资源
avle_source=[2,3,2,2]#每种资源的剩余
#ID_still_request=所需资源-已分配资源=任需资源
#设置40个进程
for i in range(40):#print(i)ID.append(i)for i in range(4):ID_ziyuan=[]fenpei=[]a=rd.randint(2,6)a1=rd.randint(0,2)b=rd.randint(3,4)b1=rd.randint(0,3)c=rd.randint(3,4)c1=rd.randint(0,3)d=rd.randint(3,4)d1=rd.randint(0,3)ID_ziyuan.append(a)ID_ziyuan.append(b)ID_ziyuan.append(c)ID_ziyuan.append(d)fenpei.append(a1)fenpei.append(b1)fenpei.append(c1)fenpei.append(d1)ID_request.append(ID_ziyuan)ID_divider.append(fenpei)for i in range(40):print(i,"号",ID_request[i])
ID_still_request=np.array(ID_request)-np.array(ID_divider)#任需资源数
P=PCB(ID,ID_request,ID_still_request,avle_source)
P.diaoyong1()

操作系统银行家算法python简单模拟相关推荐

  1. 操作系统——银行家算法(银行家和房地产开发商的爱恨情仇)

    操作系统--银行家算法 什么是银行家算法 银行家算法(Banker's Algorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避 ...

  2. 用Python简单模拟《原神》抽卡系统

    用Python简单模拟<原神>抽卡系统[抽卡模拟器] 简介 代码思想 保底机制 概率 概率公式 代码构建 导入软件包random和os 初始化概率 增加概率 保底机制 创建文件夹 抽卡次数 ...

  3. 操作系统——银行家算法的模拟实现

    一.实验目的 (1)理解银行家算法. (2)掌握进程安全性检查的方法与资源分配的方法. 二.实验内容与基本要求 编制模拟银行家算法的程序,并给出一个例子验证所编写的程序的正确性. 要求例子中包含分配安 ...

  4. 操作系统银行家算法模拟实现(C语言版)

    目录 一.实验目的 二.实验内容 三.实验要点说明 银行家算法实例 程序结构 四.实验代码 五.实验运行结果 一.实验目的 通过编写一个模拟动态资源分配的银行家算法程序,进一步深入理解死锁.产生死锁的 ...

  5. python银行家算法_Linux 死锁概念与银行家算法python 实现

    一 . 死锁的概念 接上篇 http://shaobaobaoer.cn/archives/680/linux-process-manager-note 在之前的哲学家吃饭的问题中,当每个哲学家都想进 ...

  6. 操作系统银行家算法计算机四级,【NCRE四级网络工程师】操作系统多选题

    友情提示:此篇文章大约需要阅读 7分钟54秒,不足之处请多指教,感谢您的阅读. 保存在进程控制块中的是 进程标识符 进程当前状态 代码段指针 PCB的内容可以分为调度信息和现场信息两大部分.调度信息供 ...

  7. 操作系统 | 银行家算法及代码实现

    参考博客 [操作系统]死锁避免之银行家算法_少侠露飞的学习笔记-CSDN博客 [操作系统]避免死锁--银行家算法_明昕ztoy的博客-CSDN博客_银行家算法避免死锁 实现思路 当一个进程申请使用资源 ...

  8. 操作系统-银行家算法(Java实现)

    一.银行家算法思想 银行家算法是最著名的死锁避免算法,其思想是:将操作系统视为银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款.操作系统按照银行家制定 ...

  9. 计算机操作系统——银行家算法

    1.实验目的: 银行家算法是由Dijkstra设计的最具有代表性的避免死锁的算法.本实验通过编写一个模拟动态资源分配的银行家算法程序,进一步深入理解死锁.产生死锁的必要条件.安全状态等重要概念,并掌握 ...

最新文章

  1. 比特大陆发布第三代AI芯片,INT8算力达17.6Tops
  2. URAL 1353 Milliard Vasya's Function DP
  3. 内核变量——Jiffies
  4. python基础:条件循环字符串
  5. 3.1.1 存储器的分类(半导体-磁芯-磁表面-光存储-ROM-RAM-永久非永久-内存-外存-Cache)
  6. angular js环境配置
  7. 微信支付 - 构建商户端支付成功的回调接口
  8. U大师U盘装系统——原版XP系统安装(V1.2.0版)
  9. 没有工作经验找it_没有工作经验怎么找工作?
  10. mysql 存储过程
  11. 记录一次es写入操作
  12. .NetCore Redis使用及帮助类
  13. 【优化选址】基于matlab蚁群算法求解电动汽车充电站与换电站选址优化问题【含Matlab源码 1182期】
  14. 转速环PI参数整定详解(三)——转速环开环传函特性及其整定策略(有最终推导结果公式)
  15. linux命令 sys,用syslinux引导多个linux系统
  16. win10关闭杀毒防护
  17. ThinkPHP5_无限极分类
  18. vue3—reactive如何更改属性
  19. 远程桌面连接是什么?远程桌面连接使用教程
  20. 【IIOT】欧姆龙PLC数采之CJ2系列

热门文章

  1. 在OpenCV里车牌识别的方法2
  2. JVM学习笔记——垃圾回收器
  3. 结构光N步相移+多频外差法之解相位:三频四相
  4. android版 点击下载,暴雪游戏手机安全令Android版下载与使用说明
  5. 计算机打印机零件维修明细,维修师傅必看:激光打印机检修详解
  6. 计算机应用基础闲情赋答案,计算机应用基础网络统考试卷 答案.doc
  7. 计算机作品画图板软件四年级,四年级下册信息技术《word画图工具》教学设计...
  8. 怎么查看linux系统中有哪些数据库,linux命令查询mysql的有哪些
  9. 解决webpack报错:ERROR in multi ./xxx/xxx.js ./xxx/xxx.js Module not found: Error: Can't resolve '.\xxx\
  10. 【区间dp】关路灯 牛客网题解