• 大小: 9.06MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-06
  • 语言: C/C++
  • 标签: 操作系统  

资源简介

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

资源截图

代码片段和文件信息

#include “stdafx.h“

using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::CompilerServices;
using namespace System::Runtime::InteropServices;
using namespace System::Security::Permissions;

//
// 有关程序集的常规信息通过下列特性集
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
//
[assembly:AssemblytitleAttribute(“银行家算法“)];
[assembly:AssemblyDescriptionAttribute(““)];
[assembly:AssemblyConfigurationAttribute(““)];
[assembly:AssemblyCompanyAttribute(““)];
[assembly:AssemblyProductAttribute(“银行家算法“)];
[assembly:AssemblyCopyrightAttribute(“Copyright (c)  2017“)];
[assembly:AssemblyTrademarkAttribute(““)];
[assembly:AssemblyCultureAttribute(““)];

//
// 程序集的版本信息由下面四个值组成:
//
//      主版本
//      次版本
//      生成号
//      修订号
//
// 您可以指定所有值,也可使用“修订号”和“生成号”的默认值,
// 方法是按如下所示使用“*”:

[assembly:AssemblyVersionAttribute(“1.0.*“)];

[assembly:ComVisible(false)];

[assembly:CLSCompliantAttribute(true)];

[assembly:SecurityPermission(SecurityAction::RequestMinimum UnmanagedCode = true)];

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-01-02 19:16  银行家算法\
     目录           0  2018-01-02 19:16  银行家算法\Debug\
     文件      122880  2017-12-25 00:15  银行家算法\Debug\银行家算法.exe
     文件         599  2017-12-18 19:24  银行家算法\Debug\银行家算法.exe.metagen
     文件           0  2017-12-25 00:15  银行家算法\Debug\银行家算法.ilk
     文件      879616  2017-12-25 00:15  银行家算法\Debug\银行家算法.pdb
     目录           0  2018-01-02 19:16  银行家算法\ipch\
     目录           0  2018-01-02 19:16  银行家算法\ipch\银行家算法-495280b5\
     文件     8454144  2017-12-25 00:34  银行家算法\ipch\银行家算法-495280b5\银行家算法-ad3df7f0.ipch
     目录           0  2018-01-02 19:16  银行家算法\银行家算法\
     文件        1151  2017-12-18 15:33  银行家算法\银行家算法\AssemblyInfo.cpp
     目录           0  2018-01-02 19:16  银行家算法\银行家算法\Debug\
     文件        2256  2017-12-18 19:24  银行家算法\银行家算法\Debug\.NETframeworkVersion=v4.5.AssemblyAttributes.obj
     文件        3216  2017-12-18 19:24  银行家算法\银行家算法\Debug\AssemblyInfo.obj
     文件       12280  2017-12-25 00:15  银行家算法\银行家算法\Debug\CL.read.1.tlog
     文件        1378  2017-12-25 00:15  银行家算法\银行家算法\Debug\CL.write.1.tlog
     文件           0  2017-12-18 19:24  银行家算法\银行家算法\Debug\TZRES.DLL.bi
     文件       10380  2017-12-18 19:24  银行家算法\银行家算法\Debug\app.res
     文件        6592  2017-12-25 00:15  银行家算法\银行家算法\Debug\cl.command.1.tlog
     文件           2  2017-12-25 00:15  银行家算法\银行家算法\Debug\link.10944-cvtres.read.1.tlog
     文件           2  2017-12-25 00:15  银行家算法\银行家算法\Debug\link.10944-cvtres.write.1.tlog
     文件           2  2017-12-25 00:15  银行家算法\银行家算法\Debug\link.10944-rc.read.1.tlog
     文件           2  2017-12-25 00:15  银行家算法\银行家算法\Debug\link.10944-rc.write.1.tlog
     文件           2  2017-12-25 00:15  银行家算法\银行家算法\Debug\link.10944.read.1.tlog
     文件           2  2017-12-25 00:15  银行家算法\银行家算法\Debug\link.10944.write.1.tlog
     文件           2  2017-12-25 00:15  银行家算法\银行家算法\Debug\link.11556-cvtres.read.1.tlog
     文件           2  2017-12-25 00:15  银行家算法\银行家算法\Debug\link.11556-cvtres.write.1.tlog
     文件           2  2017-12-25 00:15  银行家算法\银行家算法\Debug\link.11556-rc.read.1.tlog
     文件           2  2017-12-25 00:15  银行家算法\银行家算法\Debug\link.11556-rc.write.1.tlog
     文件           2  2017-12-25 00:15  银行家算法\银行家算法\Debug\link.11556.read.1.tlog
     文件           2  2017-12-25 00:15  银行家算法\银行家算法\Debug\link.11556.write.1.tlog
............此处省略165个文件信息

评论

共有 条评论