资源简介

操作系统课程设计:模拟系统请求分页式存储管理,其中设计内存分配及地址映射算法,还有多线程协调更新主界面等内容……

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;

namespace OSExam
{
    public partial class FrmMain : Form
    {
        public int nMemorySize;//内存大小
        public int nOSMemorySize;//操作系统占用内存大小
        public int nMaxPages;//每个进程最大页数
        public bool[] MemoryMap;//内存位图使用情况

        private int nProcessNum;//进程数
        private Bitmap bmpMemoryMap;//内存位图
        private List IProcessList;//模拟进程列表


        public FrmMain()
        {
            InitializeComponent();
            IProcessList = new List();
            UPPTMM = new UpdatePPTMMHandler(UpdatePPTMM);
            UPPTSwap = new UpdatePPT_SwapHandler(UpdatePPT_Swap);
            ProcessAbortDelegate = new MethodInvoker(ProcessAbort);
        }


        private void btnOK_Click(object sender EventArgs e)
        {
            try
            {
                nMemorySize = txtMemorySize.Value;
                nOSMemorySize = txtOSMemSize.Value;
                nProcessNum = txtProcessNum.Value;
                nMaxPages = txtMaxPages.Value;
                if (nMemorySize < 5)
                    throw new Exception(“内存大小设置过小,请输入一个较大的正整数。“);
                int temp=nMemorySize / 5;
                if (nOSMemorySize >temp )//系统占用大于m/5
                {
                    MessageBox.Show(“系统内存设置过大,将其设为总内存大小的五分之一。“
                        “提示“ MessageBoxButtons.OK MessageBoxIcon.Warning);
                    nOSMemorySize = temp;
                    txtOSMemSize.Value = temp;
                    txtOSMemSize.Text = temp.ToString();
                }
                temp = (nMemorySize - nOSMemorySize) / nProcessNum;
                if (nMaxPages > temp)//进程最大使用块数过大,可能产生死锁
                {
                    MessageBox.Show(“进程最大使用块数过大,可能产生死锁。将其设为安全使用值。“
                        “提示“ MessageBoxButtons.OK MessageBoxIcon.Warning);
                    nMaxPages = temp;
                    txtMaxPages.Value = temp;
                    txtMaxPages.Text = temp.ToString();
                }
                for (int i = 0; i < nProcessNum; i++)
                    NewProcessControls(i);
                btnBegin.Enabled = true;
                gbOSParam.Enabled = false;
            }
            catch (Exception ex)
            {
                IProcessList.Clear();
                MessageBox.Show(ex.Message “错误“ MessageBoxButtons.OK
                 MessageBoxIcon.Error);
            }

        }

        private void btnBegin_Click(object sender EventArgs e)
        {
            MemoryMap = new bool[nMemorySize - nOSMemorySize];
            Array.Clear(MemoryMap 0 MemoryMap.Length);
            DrawMemoryMap();
            foreach (ImitateProcess IProcess in IProcessList)
            {
                IProcess.txtPages.Enabled = false;
                IProcess.txtRunTime.Enabled = false;
  

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

     文件       1007  2010-12-21 10:02  操作系统课程设计\操作系统课程设计.sln

    ..A..H.     22528  2010-12-26 15:43  操作系统课程设计\操作系统课程设计.suo

     文件      22016  2010-12-26 15:42  操作系统课程设计\模拟系统请求分页式存储管理\bin\Debug\模拟系统请求分页式存储管理.exe

     文件      38400  2010-12-26 15:42  操作系统课程设计\模拟系统请求分页式存储管理\bin\Debug\模拟系统请求分页式存储管理.pdb

     文件      14328  2010-12-26 15:41  操作系统课程设计\模拟系统请求分页式存储管理\bin\Debug\模拟系统请求分页式存储管理.vshost.exe

     文件        490  2009-06-11 05:14  操作系统课程设计\模拟系统请求分页式存储管理\bin\Debug\模拟系统请求分页式存储管理.vshost.exe.manifest

     文件      12350  2010-12-26 15:40  操作系统课程设计\模拟系统请求分页式存储管理\FrmMain.cs

     文件      18122  2010-12-24 11:22  操作系统课程设计\模拟系统请求分页式存储管理\FrmMain.Designer.cs

     文件       5814  2010-12-24 11:22  操作系统课程设计\模拟系统请求分页式存储管理\FrmMain.resx

     文件       6266  2010-12-27 19:42  操作系统课程设计\模拟系统请求分页式存储管理\MyClass.cs

     文件        180  2010-12-26 15:42  操作系统课程设计\模拟系统请求分页式存储管理\obj\Debug\OSExam.FrmMain.resources

     文件        180  2010-12-26 15:42  操作系统课程设计\模拟系统请求分页式存储管理\obj\Debug\OSExam.Properties.Resources.resources

     文件       4608  2010-12-21 13:29  操作系统课程设计\模拟系统请求分页式存储管理\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll

     文件       1172  2010-12-26 15:42  操作系统课程设计\模拟系统请求分页式存储管理\obj\Debug\模拟系统请求分页式存储管理.csproj.FileListAbsolute.txt

     文件        849  2010-12-26 15:42  操作系统课程设计\模拟系统请求分页式存储管理\obj\Debug\模拟系统请求分页式存储管理.csproj.GenerateResource.Cache

     文件      22016  2010-12-26 15:42  操作系统课程设计\模拟系统请求分页式存储管理\obj\Debug\模拟系统请求分页式存储管理.exe

     文件      38400  2010-12-26 15:42  操作系统课程设计\模拟系统请求分页式存储管理\obj\Debug\模拟系统请求分页式存储管理.pdb

     文件        434  2010-12-23 22:10  操作系统课程设计\模拟系统请求分页式存储管理\Program.cs

     文件       1410  2010-12-21 09:59  操作系统课程设计\模拟系统请求分页式存储管理\Properties\AssemblyInfo.cs

     文件       2836  2010-12-21 10:01  操作系统课程设计\模拟系统请求分页式存储管理\Properties\Resources.Designer.cs

     文件       5612  2010-12-21 09:59  操作系统课程设计\模拟系统请求分页式存储管理\Properties\Resources.resx

     文件       1104  2010-12-21 10:01  操作系统课程设计\模拟系统请求分页式存储管理\Properties\Settings.Designer.cs

     文件        249  2010-12-21 09:59  操作系统课程设计\模拟系统请求分页式存储管理\Properties\Settings.settings

     文件       3891  2010-12-21 13:29  操作系统课程设计\模拟系统请求分页式存储管理\模拟系统请求分页式存储管理.csproj

     目录          0  2010-12-21 10:01  操作系统课程设计\模拟系统请求分页式存储管理\obj\Debug\Refactor

     目录          0  2010-12-21 13:29  操作系统课程设计\模拟系统请求分页式存储管理\obj\Debug\TempPE

     目录          0  2010-12-26 15:42  操作系统课程设计\模拟系统请求分页式存储管理\bin\Debug

     目录          0  2010-12-26 15:42  操作系统课程设计\模拟系统请求分页式存储管理\obj\Debug

     目录          0  2010-12-21 10:01  操作系统课程设计\模拟系统请求分页式存储管理\bin

     目录          0  2010-12-21 09:59  操作系统课程设计\模拟系统请求分页式存储管理\obj

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

评论

共有 条评论