ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:53.16KB ,
资源ID:8753791      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8753791.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(操作系统文件管理实验报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

操作系统文件管理实验报告.docx

1、操作系统文件管理实验报告操作系统实验报告实验名称: 文件管理 专业班级: 网络工程1301 学 号: 姓 名: 2015 年 6 月 16 日实验一 文件管理一、实验目的文件管理是操作系统的一个非常重要的组成部分。 学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、预备知识1. VS2010的使用2. C#的学习3. 文件主目录与子目录的理解三、实验内容与步骤用高级语言编写和调试一个简单的文件系统, 模拟文件管理的工作过程。要求设计一个10 个用户的文件系统

2、,每次用户可保存 10 个文件,一次运行用户可以打开5 个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别, 即有二级保护。 文件的操作至少有Create、 delete、 open、close、read、write 等命令。 所编写的程序应采用二级文件目录, 即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD) ,在文件打开时应填入打开文件号,本

3、次打开保护码和读写指针等。 程序流程图: 逻辑设计: 使用线性数组表表示MFD,泛型数组表示 UFD,每个元素包括用户ID、保存的文件数、再使用线性表表示文件信息,每个元素包括文件名,文件属性(保护码) ,文件的状态等信息。 物理设计:/主目录private mfd;/当前用户private currentuser;/ / 文件/ public class public string ; public int size=20; public int read=0; public int write = 0; public string author; / / 文件系统用户/ public cl

4、ass public string username; public List ufd = new List(); public int ; 步骤详述: 1、主目录及用户目录机构显示: 2、当前操作用户登录: 3、文件管理系统菜单: 4、create命令: 5、open命令: 6、close命令: 7、delete命令: 8、read命令 9、write命令 10、exit命令四、实验总结 通过这次的课程设计使我认识到要将操作系统这门计算机专业的课学好不仅仅是要把书上的基本知识学好而且还要不断进行实践,将所学的跟实践操作结合起来才能更好地巩固所学,才能提高自己实践能力.通过这次的设计使我认识到

5、只停留在表面理解问题是很难使问题得到很好的解决的,实践能力与理论知识同样重要。可以说此课程设计的理论难度并不大,但是若要深入发掘其中的东西,并且实际去编程实现,就遇到了相当大的难度。因为与之涉及的很多方面并没有学过,需要自己去自学和实践检验。五、程序清单using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace class Program static void Main(string args) /初始化用户自模拟文件系统 ExplorerInUser explorer

6、 = new ExplorerInUser(); / / 文件管理系统for用户自模拟 / public class ExplorerInUser /命令列表 private string command = create, open, close, delete, read, write,exit ; /主目录 private mfd; /当前用户 private currentuser; / / 构造函数 / public ExplorerInUser() INI(); / / 初始化系统 / private void INI() if (currentuser = null) /主目录实

7、现 IniUserList(); /系那是菜单 InilizeMenu(); bool isinput = false; /输入正确的命令 while (!isinput) string input = Console.ReadLine(); isinput=CommandGroup(input); #region 主目录 / / 获取用户个数 / / private int GetUserCount() string input = Console.ReadLine(); try int user_size = Convert.ToInt32(input); return user_size

8、; catch (Exception e) Console.WriteLine(e.Message); return 0; / / 生成用户及用户管理文件 / private void IniUserList() int user_size = GetUserCount(); mfd=new user_size; for (int i = 0; i user_size; i+) mfdi = new (); mfdi.username = mfd_user_+i; mfdi. = 3; Console.WriteLine(mfd: + mfdi.username + , + mfdi.); f

9、or (int j = 0; j 3; j+) (); = mfdi.username; Console.WriteLine(-ufd:+,+,+); ; mfdi.ufd.Add(file); IniLogin(); / / 用户登录 / private void IniLogin() Console.WriteLine(请输入用户名:); bool issuccess = false; while (!issuccess) string username = Console.ReadLine(); for (int i = 0; i mfd.Length; i+) if (mfdi.use

10、rname.Equals(username) issuccess = true; currentuser = mfdi; Console.WriteLine(当前用户:+username); break; if (!issuccess) Console.WriteLine(请重新输入输入用户名:); #endregion #region 菜单 / / 初始化菜单 / private void InilizeMenu() Console.WriteLine(欢迎进入文件管理系统!); Console.WriteLine(-create-); Console.WriteLine(-open-);

11、Console.WriteLine(-close-); Console.WriteLine(-delete-); Console.WriteLine(-read-); Console.WriteLine(-write-); Console.WriteLine(-exit-); Console.WriteLine(请输入操作命令:); / / 功能分组判断 / / / private bool CommandGroup(string command) bool isexit = true; switch (command) case create: create(); break; case o

12、pen: open(); break; case close: close(); break; case delete: delete(); break; case read: read(); break; case write: write(); break; case exit: exit(); return true; break; default: isexit = false; break; if (isexit) INI(); else Console.WriteLine(请重新输入操作命令:); return isexit; #endregion #region 操作命令方法 /

13、 / 创建新的文件 / private void create() Console.WriteLine(请输入新件名:); string = Console.ReadLine(); currentuser.; file = new (); = ; = currentuser.username; currentuser.ufd.Add(file); Console.WriteLine(成功创建文件!); / / 打开指定的文件 / private void open() Console.WriteLine(请输入文件名:); string = Console.ReadLine(); for (i

14、nt i = 0; i currentuser.ufd.Count; i+) if (currentuser.ufdi.() Console.WriteLine(成功打开文件!); Console.WriteLine(ID:+i); Console.WriteLine(:+); Console.WriteLine(Size: + currentuser.ufdi.size); Console.WriteLine(Autor: + currentuser.ufdi.author); return; Console.WriteLine(文件不存在!); / / 关闭所有打开的文件 / privat

15、e void close() Console.WriteLine(已关闭文件); / / 删除文件 / private void delete() Console.WriteLine(请输入文件名:); string = Console.ReadLine(); for (int i = 0; i currentuser.ufd.Count; i+) if (currentuser.ufdi.() currentuser.ufd.RemoveAt(i); Console.WriteLine(成功删除文件!); return; Console.WriteLine(文件不存在!); / / 读取文件

16、 / private void read() Console.WriteLine(请输入文件名:); string = Console.ReadLine(); for (int i = 0; i currentuser.ufd.Count; i+) if (currentuser.ufdi.() Console.WriteLine(已读取文件!); return; Console.WriteLine(文件不存在!); / / 写入文件 / private void write() Console.WriteLine(请输入文件名:); string = Console.ReadLine();

17、for (int i = 0; i currentuser.ufd.Count; i+) if (currentuser.ufdi.() Console.WriteLine(已写入文件!); return; Console.WriteLine(文件不存在!); / / 退出系统 / private void exit() Console.WriteLine(您好,您已经成功退出系统!); Console.ReadKey(); #endregion / / 文件 / public class public string ; public int size=20; public int read=0; public int write = 0; public string author; / / 文件系统用户 / public class public string username; public List ufd = new List(); public int ;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1