• 大小: 1.86MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-15
  • 语言: C#
  • 标签: C#  操作系统  

资源简介

用C#编写的银行家算法,可以通过安全性算法判断当前序列是否安全,如果安全,会给出一个安全序列。还可以进行资源的分配,若分配后处于安全状态,则予以分配,相应各进程参数发生变化并显示,否则不予分配。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace OStest2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        
        int[] Max=new int [1010];
        int[] Available=new int [10];
        int[] Allocation=new int [1010];
        int[] Need=new int [1010];
        int[] Request=new int [1010];
        int flag = 1;
        int p;//请求资源的进程编号

        private void Form1_Load(object sender EventArgs e)
        {
             
        }
        
        /**********************将输入的数据存放到相应数组中************************/
        void Read(int[] maxint[] allocationint[] needint[] avaliable)
        {
            int m=int .Parse (textBox1 .Text );
            int n=int .Parse (textBox2 .Text );
            //Max
            for (int i = 0; i < n;i++ )
            {
                string lineStr = richTextBox1.Lines[i];
                string[] b = new string[m];
                b=lineStr.Split();
                 int j = b.Length;
                for (int k = 0; k < j; k++)
                {
                    max[i k] = int.Parse (b[k]);
                }
            }
            //Allocation
            for (int i = 0; i < n; i++)
            {
                string lineStr = richTextBox2.Lines[i];
                string[] b = new string[m];
                b = lineStr.Split();
                int j = b.Length;
                for (int k = 0; k < j; k++)
                {
                    allocation [i k] = int.Parse(b[k]);
                }
            }
            //Need
            for (int i = 0; i < n; i++)
            {
                string lineStr = richTextBox3.Lines[i];
                string[] b = new string[m];
                b = lineStr.Split();
                int j = b.Length;
                for (int k = 0; k < j; k++)
                {
                    need [i k] = int.Parse(b[k]);
                }
            }
            //Avaliable
            string[] s = new string[m];
            string Str = richTextBox4.Lines[0];
            s = Str.Split();
            for (int k = 0; k < m; k++)
            {
                avaliable[k] = int.Parse (s[k]); 
            }

            for (int i=0;i            {
                for (int j = 0; j < m; j++)
                {
                    if (need[i j] != max[i j] - allocation[i j])
                        MessageBox.Show(“输入数据不符合要求。“);
                }
            }

        }

        /******************************银行家算法函数************************************/
        private void yinhangjia(int p int[] request)
        {
            int m = int.Parse(textBox1.Text);
            for (int i = 0; i < m; i++)
            {
                if (reque

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     503808  2012-05-30 11:29  OStest2\OStest2\bin\Debug\OStest2.exe

     文件      38400  2012-05-30 11:29  OStest2\OStest2\bin\Debug\OStest2.pdb

     文件       5632  2005-12-08 14:51  OStest2\OStest2\bin\Debug\OStest2.vshost.exe

     文件       9825  2012-05-30 11:29  OStest2\OStest2\Form1.cs

     文件      14538  2012-05-30 11:29  OStest2\OStest2\Form1.Designer.cs

     文件     720831  2012-05-30 11:29  OStest2\OStest2\Form1.resx

     文件        199  2012-05-30 00:17  OStest2\OStest2\FormInfo.cs

     文件        902  2012-05-30 11:29  OStest2\OStest2\obj\Debug\OStest2.csproj.GenerateResource.Cache

     文件     503808  2012-05-30 11:29  OStest2\OStest2\obj\Debug\OStest2.exe

     文件     476968  2012-05-30 11:29  OStest2\OStest2\obj\Debug\OStest2.Form1.resources

     文件      38400  2012-05-30 11:29  OStest2\OStest2\obj\Debug\OStest2.pdb

     文件        180  2012-05-25 23:49  OStest2\OStest2\obj\Debug\OStest2.Properties.Resources.resources

     文件        180  2012-05-30 00:27  OStest2\OStest2\obj\Debug\OStest2.Request.resources

     文件        845  2012-06-14 00:29  OStest2\OStest2\obj\OStest2.csproj.FileListAbsolute.txt

     文件       3609  2012-05-30 00:27  OStest2\OStest2\OStest2.csproj

     文件        466  2012-05-22 22:13  OStest2\OStest2\Program.cs

     文件       1162  2012-05-22 22:13  OStest2\OStest2\Properties\AssemblyInfo.cs

     文件       2870  2012-05-22 22:13  OStest2\OStest2\Properties\Resources.Designer.cs

     文件       5612  2012-05-22 22:13  OStest2\OStest2\Properties\Resources.resx

     文件       1092  2012-05-22 22:13  OStest2\OStest2\Properties\Settings.Designer.cs

     文件        249  2012-05-22 22:13  OStest2\OStest2\Properties\Settings.settings

     文件        458  2012-05-30 00:27  OStest2\OStest2\Request.cs

     文件       4556  2012-05-30 00:27  OStest2\OStest2\Request.Designer.cs

     文件       5814  2012-05-30 00:27  OStest2\OStest2\Request.resx

     文件        910  2012-05-22 22:13  OStest2\OStest2.sln

    ..A..H.     15872  2012-06-14 00:29  OStest2\OStest2.suo

     目录          0  2012-05-22 22:13  OStest2\OStest2\obj\Debug\TempPE

     目录          0  2012-05-25 23:57  OStest2\OStest2\bin\Debug

     目录          0  2012-05-30 11:29  OStest2\OStest2\obj\Debug

     目录          0  2012-05-22 22:13  OStest2\OStest2\bin

............此处省略7个文件信息

评论

共有 条评论