使用vue、webpack、ElementUI和ES6开发。
采用银行家算法避免死锁,核心是对系统进行安全性的检测,使其处于一个安全的状态。
基于《计算机操作系统》讲解银行家算法的例子,对其进行拓展,可以动态增加进程,动态添加资源等,进程数目最大设置为9,资源类型定死,只有A、B、C三类,既保证了功能的完整又利于展示。
分别将不同功能的块切割成不同的组件:
InputMsg
组件管理用户的添加资源、添加线程的操作。TableView
组件管理表格,将动态结果展示给用户。ActionOperate
组件管理进程发起的资源请求。RecordList
组件将用户的操作结果打印出来并记录。MWrapper
组件处理用户发起的操作进行算法的运算,同时更新状态,作为数据的中转站。
注:核心算法封装在lib
目录下的calculate.js
中。
- 环境:需安装node.js
- 安装依赖:项目目录下运行
npm install
- 开启测试服务器:
npm run dev
- 打包构建:
npm run build
- 生产模式下开启服务器:
node prod.server.js
以上。