资源简介
本系统是为了能够使操作系统的进程能够正确地共享资源,并且不会因为共享资源而陷入死锁,对此,采用银行家算法。把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配
代码片段和文件信息
// Banker.cpp : Defines the class behaviors for the application.
//
#include “stdafx.h“
#include “Banker.h“
#include “BankerDlg.h“
#include “initdlg.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern int ResourceNumber;
extern int ProcessNumber;
/////////////////////////////////////////////////////////////////////////////
// CBankerApp
BEGIN_MESSAGE_MAP(CBankerApp CWinApp)
//{{AFX_MSG_MAP(CBankerApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG
ON_COMMAND(ID_HELP CWinApp::onhelp)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBankerApp construction
CBankerApp::CBankerApp()
{
// TODO: add construction code here
// Place all significant initialization in InitInstance
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CBankerApp object
CBankerApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CBankerApp initialization
BOOL CBankerApp::InitInstance()
{
AfxEnableControlContainer();
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable you should remove from the following
// the specific initialization routines you do not need.
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
InitDlg InitDlg;
int respone = InitDlg.DoModal();
if(respone == IDOK)
{
ResourceNumber = InitDlg.m_Init_ResourceNumber;
ProcessNumber = InitDlg.m_Init_ProcessNumber;
CBankerDlg dlg;
m_pMainWnd = &dlg;
SetDialogBkColor(RGB(192192192)RGB(00255));
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}
}
// Since the dialog has been closed return FALSE so that we exit the
// application rather than start the application‘s message pump.
return FALSE;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 33 2010-07-07 09:15 Allocation.txt
文件 5 2010-07-07 10:14 Available.txt
文件 34 2010-07-07 09:16 Max.txt
文件 20 2010-07-11 22:00 ReadMe.txt
文件 33 2010-07-07 09:15 Banker\Allocation.txt
文件 5 2010-07-07 10:14 Banker\Available.txt
文件 38780 2010-07-18 21:29 Banker\Banker.aps
文件 2044 2010-07-18 21:29 Banker\Banker.clw
文件 2390 2010-07-05 08:29 Banker\Banker.cpp
文件 5593 2010-07-05 09:50 Banker\Banker.dsp
文件 564 2010-07-04 14:55 Banker\Banker.dsw
文件 1324 2010-07-04 14:45 Banker\Banker.h
文件 492544 2010-07-18 21:29 Banker\Banker.ncb
文件 49664 2010-07-18 21:29 Banker\Banker.opt
文件 2500 2010-07-18 21:29 Banker\Banker.plg
文件 11048 2010-07-18 21:29 Banker\Banker.rc
文件 24393 2010-07-07 13:55 Banker\BankerDlg.cpp
文件 2367 2010-07-07 09:37 Banker\BankerDlg.h
文件 159861 2010-07-18 21:29 Banker\Debug\Banker.exe
文件 315764 2010-07-18 21:29 Banker\Debug\Banker.ilk
文件 39807 2010-07-18 21:29 Banker\Debug\Banker.obj
文件 5568864 2010-07-18 21:29 Banker\Debug\Banker.pch
文件 435200 2010-07-18 21:29 Banker\Debug\Banker.pdb
文件 4320 2010-07-18 21:29 Banker\Debug\Banker.res
文件 131863 2010-07-18 21:29 Banker\Debug\BankerDlg.obj
文件 25101 2010-07-18 21:29 Banker\Debug\font.obj
文件 20542 2010-07-18 21:29 Banker\Debug\InitDlg.obj
文件 147814 2010-07-18 21:29 Banker\Debug\msflexgrid.obj
文件 17643 2010-07-18 21:29 Banker\Debug\picture.obj
文件 13796 2010-07-18 21:29 Banker\Debug\rowcursor.obj
............此处省略26个文件信息
- 上一篇:简易词法分析器——基于C语言
- 下一篇:简单的学生学分管理系统
相关资源
- 银行排号系统设计 C语言实现
- 银行排队叫号系统
- 基于C++的银行家算法模拟实现
- 操作系统——银行家算法
- 队列应用银行排队问题模拟:计算客户
- 银行排号系统MFC实现和控制台实现
- C++事件驱动的银行模拟系统
- c++写的一个简单的银行管理系统
- 银行家算法C++实现穷举所有安全序列
- 信计专业C++期末大作业 银行排队叫号
- 一个基于C++的简单银行存取管理系统
- ABCBank(银行管理系统)
- C++MFC 银行管理系统
- C语言实现银行存款信息管理系统
- 银行业务排队模拟系统
- 自己写的C语言银行管理系统
- C++死锁检测解除算法
- 模拟银行排队叫号机 VC++6
- C++课程设计——银行储蓄管理系统
- 操作系统C语言实现银行家算法,键盘
- 基于c语言的银行业务模拟
- 操作系统课程设计银行家算法C语言
- 银行家算法C实现
- 操作系统设备管理模拟 银行家算法
- 银行家算法c++源代码
- 银行信息科技岗位笔试面试真题.zip
- 银行家算法编程--没有错误的
- 银行家算法 c++实现代码+报告
- 银行管理系统——数据结构C
- c语言银行管理系统
评论
共有 条评论