资源简介

用C#+Winform实现的虚拟操作系统 主要实现了文件系统,进程调度,和内存调度等功能,压缩包中包含整个项目以及可执行文件和文档

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
using System.Runtime.InteropServices;

namespace OS
{
    public partial class FileSystem : Form
    {
        //共512块,每块512B,模拟一个256KB的磁盘
        public const int BlockByte = 512;
        public const int BlockNum = 512;

        public FileSystem()
        {
            InitializeComponent();
            Start();
            DiskRead();
            FATRead();
            FoldersRead();
            FilesRead();
            SerializeTree.TreeViewDataAccess.LoadTreeViewData(DirTreeView “treeview.txt“);
            DirTreeView.ExpandAll();
            GetAccountString();
            if (MainForm.UserLevel == 0)
            {
                PermissionSetButton.Hide();
            }
            GetPercent();
        }

        [DllImport(“user32.dll“)]

        public static extern bool ReleaseCapture();

        [DllImport(“user32.dll“)]

        public static extern bool SendMessage(IntPtr hwnd int wMsg int wParam int lParam);

        bool beginMove = false;//初始化鼠标位置

        int currentXPosition;

        int currentYPosition;

        private void FileSystem_Load(object sender EventArgs e)
        {
            
        }

        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.Exstyle |= 0x02000000;
                return cp;
            }
        }

        //FAT的格式“XXX-XXX”,需要用8个块存储FAT的内容
        //程序中的文件夹以文件形式存储,统一放到一个“文件夹文件”中,考虑到实际情况,这里给文件夹建立了一些限制,建立文件夹到一定数量
        //后不能再建立文件夹,且文件夹的名字长度有一定限制。用4个块存储所有的文件夹内容。
        //真正存储文件的块为500块,模拟为250KB。
        public class FAT  //FAT,NextBlock=0时表示未使用,
        {
            public int Block;
            public int NextBlock;

            public FAT(int b int nb)
            {
                Block = b;
                NextBlock = nb;
            }

            public override string ToString()
            {
                return Block.ToString() + “-“ + NextBlock.ToString() + “$“;
            }
        }

        public class FCB
        {
            public string FileName;
            public int FileType;
            public int FirstBlockAddress;
            public List Address = new List();
            public int FileSize;
            public string Father;
            public string CreateTime;
            public int Permission;

            public FCB()
            {
                FileName = ““;
                FileType = 0;
                FirstBlockAddress = 888;
                FileSize = 0;
                Father = ““;
                Permission = 1;
            }

            pub

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

     文件        136  2018-09-11 12:02  OS(4)\OS\.vs\OS\DesignTimeBuild\.dtbcache

    ..A..H.     76800  2018-09-11 12:52  OS(4)\OS\.vs\OS\v15\.suo

     文件          0  2018-09-10 14:41  OS(4)\OS\.vs\OS\v15\Server\sqlite3\db.lock

     文件     716800  2018-09-11 11:48  OS(4)\OS\.vs\OS\v15\Server\sqlite3\storage.ide

     文件      32768  2018-09-11 12:20  OS(4)\OS\.vs\OS\v15\Server\sqlite3\storage.ide-shm

     文件    4128272  2018-09-11 12:52  OS(4)\OS\.vs\OS\v15\Server\sqlite3\storage.ide-wal

     文件     794624  2018-09-11 11:26  OS(4)\OS\.vs\OS\v15\sqlite3\storage.ide

     文件        189  2018-08-30 19:37  OS(4)\OS\OS\App.config

     文件       3070  2018-09-02 20:53  OS(4)\OS\OS\app.manifest

     文件     262204  2018-09-11 12:48  OS(4)\OS\OS\bin\Debug\Disk.txt

     文件     262174  2018-09-11 00:26  OS(4)\OS\OS\bin\Debug\Disk2.txt

     文件     654336  2018-09-11 12:52  OS(4)\OS\OS\bin\Debug\OS.exe

     文件        189  2018-08-30 19:37  OS(4)\OS\OS\bin\Debug\OS.exe.config

     文件     138752  2018-09-11 12:52  OS(4)\OS\OS\bin\Debug\OS.pdb

     文件        993  2018-09-11 12:48  OS(4)\OS\OS\bin\Debug\treeview.txt

     文件        993  2018-09-11 01:03  OS(4)\OS\OS\bin\Debug\treeview2.txt

     文件      54871  2018-09-11 11:29  OS(4)\OS\OS\FileSystem.cs

     文件      39251  2018-09-11 02:57  OS(4)\OS\OS\FileSystem.Designer.cs

     文件     106149  2018-09-11 02:57  OS(4)\OS\OS\FileSystem.resx

     文件       8302  2018-09-11 11:21  OS(4)\OS\OS\LoginForm.cs

     文件      13795  2018-09-11 03:27  OS(4)\OS\OS\LoginForm.Designer.cs

     文件     308802  2018-09-11 03:27  OS(4)\OS\OS\LoginForm.resx

     文件      18422  2018-09-11 12:29  OS(4)\OS\OS\MainForm.cs

     文件      32885  2018-09-11 12:22  OS(4)\OS\OS\MainForm.Designer.cs

     文件     276050  2018-09-11 12:22  OS(4)\OS\OS\MainForm.resx

     文件       6957  2018-09-11 00:09  OS(4)\OS\OS\MemoryManagement.cs

     文件       1464  2018-08-31 10:44  OS(4)\OS\OS\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7088  2018-09-10 22:58  OS(4)\OS\OS\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件         42  2018-09-11 11:35  OS(4)\OS\OS\obj\Debug\OS.csproj.CoreCompileInputs.cache

     文件       5208  2018-09-11 11:58  OS(4)\OS\OS\obj\Debug\OS.csproj.FileListAbsolute.txt

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

评论

共有 条评论