加深了解死锁概念,体会产生死锁的原因,掌握避免死锁的具体实施方法。
编写一个系统动态分配资源的模拟程序,采用银行家算法有效地避免死锁的发生。要求程序能够在进程提出资源申请后判断系统是否处于安全状态,如果安全则打印资源分配表和安全序列;如果不安全则输出不能分配的提示。
利用动态内存分配解决资源和进程数量动态变化的问题。
可利用资源向量Available。这是一个数组对象,其中的每一个属性代表一类可利用资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态的改变。如果Available.j=K则表示系统中现有Rj类资源K个。
最大需求矩阵Max。这是一个n*m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i].j=K;则表示进程i需要Rj类资源的最大数目为K。
分配矩阵Allocation。这也是一个n*m的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果Allocation[i].j=K,则表示进程i当前已分得Rj类资源的数目为K。
需求矩阵Need。这也是一个n*m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[ij]=K则表示进程i还需要Rj类资源K个,方能完成任务。
用前端的html+bootstrap+javascript+jquery完成此次实验。
支持文件的读取操作,以文本方式读取数据。