資源簡介
用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個文件信息
- 上一篇:C#超市庫存管理系統
- 下一篇:ASp.NET學生信息管理系統
評論
共有 條評論