文件名称:基于C++的银行家算法模拟实现
文件大小:9.06MB
文件格式:ZIP
更新时间:2022-05-24 04:43:02
银行家算法 操作系统
设计要求 使用C++设计一个n 个并发进程共享m 个系统资源的系统。其中进程可动态申请资源和释放资源,系统按各进程的申请动态的分配资源,要求采用银行家算法实现。 设计思想 本实验是基于Dijkstra的银行家算法的实现,该算法可用于在操作系统中避免死锁。 该算法的基本思想是:让用户输入进程数与资源类数,并输入每个进程对每类资源的最大需求量,已占用数,以及系统中当前每类资源的可用数。再选择一个进程让其申请资源。当进程动态地申请资源时,系统必须首先确定是否有足够的资源分配给该进程。若有,系统将进一步计算在将这些资源分配给进程后,是否会使系统进入不安全状态,如果不会,系统才能将资源分配给它,否则系统让进程等待。 设计流程 本算法分为三步:初始状态安全性检查→银行家算法模拟分配进程→安全性检查。