操作系统文件管理实验报告要点

上传人:jiups****uk12 文档编号:90448385 上传时间:2019-06-12 格式:DOC 页数:12 大小:99KB
返回 下载 相关 举报
操作系统文件管理实验报告要点_第1页
第1页 / 共12页
操作系统文件管理实验报告要点_第2页
第2页 / 共12页
操作系统文件管理实验报告要点_第3页
第3页 / 共12页
操作系统文件管理实验报告要点_第4页
第4页 / 共12页
操作系统文件管理实验报告要点_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《操作系统文件管理实验报告要点》由会员分享,可在线阅读,更多相关《操作系统文件管理实验报告要点(12页珍藏版)》请在金锄头文库上搜索。

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

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

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

4、 / / 文件系统用户/ public class FileUser public string username; public List ufd = new List(); public int filecount=0; 步骤详述: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 filemanagesystem class Program static void Main(s

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

7、INI(); / / 初始化系统 / private void INI() if (currentuser = null) /主目录实现 IniUserList(); /系那是菜单 InilizeMenu(); bool isinput = false; /输入正确的命令 while (!isinput) string input = Console.ReadLine(); isinput=CommandGroup(input); #region 主目录 / / 获取用户个数 / / private int GetUserCount() string input = Console.ReadL

8、ine(); try int user_size = Convert.ToInt32(input); return user_size; catch (Exception e) Console.WriteLine(e.Message); return 0; / / 生成用户及用户管理文件 / private void IniUserList() int user_size = GetUserCount(); mfd=new FileUseruser_size; for (int i = 0; i user_size; i+) mfdi = new FileUser(); mfdi.userna

9、me = mfd_user_+i; mfdi.filecount = 3; Console.WriteLine(mfd: + mfdi.username + , + mfdi.filecount); for (int j = 0; j 3; j+) FileObject file=new FileObject (); file.author = mfdi.username; Console.WriteLine(-ufd:+file.filename+,+file.size+,+file.author); file.filename=file+j; 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.username.Equals(username) issuccess = true; currentuser = mfdi; Console.WriteLine(当前用户:+username); bre

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号