操作系统课程设计文件管理--正文

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模拟操作系统—文件管理

1.1设计目的:

通过模拟操作系统的实现,加深对操作系统工作原理的理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力

2.1设计原理:

2.1.1文件管理和用户接口:

文件管理和用户接口部分实现的主要是单用户的磁盘管理部分,包括文件的逻辑结构,物理结构,目录,磁盘分配回收,文件的保护和用户的接口实现。

系统中有2种文件,一种是存放任意字符的文件,一种是用来存放可以执行的文件,可以执行的文件内容就是模拟系统内进程的程序体。文件要有一种特定的命令的可以执行的文件(可以建立一个 .exe文件里面写指令)他的内容很简单,就是:x=?;给X赋一个值(一位数),x++;X--;!??(第一个?为ABC中某个设备,第二个?为一位数,表示设备的时间(由于没有实际设备,所以无法知道设备何时工作完成,所以假如一个数,随着数的系统时间减少到0结束));end(表示文件结束,同时写入文件out,包括文件名字和路径和X的值)。

用户接口:用户接口提供用户命令接口,创建文件,删除文件,复制文件,粘贴文件,显示文件,编辑文件,建立目录,删除空目录,删除目录等等。

2.1.2磁盘模拟:

用一个文件disk模拟磁盘,磁盘的每一个块64个字节,模拟磁盘工128个块,第0,1块存放文件分配表,第2个存放根目录,期于存放子目录和文件。磁盘分配磁盘分配采用链式结构,系统采用文件分配表的方式记录磁盘空间的使用情况和链式结构的指针。2.1.3目录内容:

目录内容才用树型目录结构

(1)目录项内容:8个字节:目录名,文件名(3个字节),扩展名(1个字节),末路。文件属性(1个字节),起始磁盘号(1个字节),文件长度(2个字节),

(2)根目录:根目录位置固定,为磁盘第2块,大小固定,工8项,站用第2块。

(3)子目录:位置不变,大小不固定。

2.1.4.存储管理:

存储管理部分主要实现贮存和空间的分配和回收,存储的保护。

模拟系统中,主要分2部分,一部分是系统区(存放进程控制块和住存分配表),另外一部分是用户区,是用户的管理。系统包括PCB区域,贮存空间分配表。

3.1设计平台及使用语言优点:

Windows XP Professional Edition SP2环境下Microsoft Visual Studio 2005开发工具下C#程序设计语言进行设计模拟操作系统。

C#是用来做应用程序和软件的,优点就是快速开发,有功能强大的.NET FRAMEWORK的支持, C#是微软公司推出的新一代程序开发语言,C#是微软公司.Net FrameWork框架中的一个重要的组成部分,也是微软公司向程序员极力推荐一个新的程序开发平台。和以往的开发语言相比较,他有更强大功能,更高的稳定性和更高的安全性。

4.1模块设计:

(1)定义一个类:LD_FileSystem(文件),实现用户接口部分与文件系统内核的连接,在他里面创建一个公共方法添加构造函数逻辑objknl=new LD_VKernel();在主函数里写实现文件的方法体。和具体实现的方法的代码。在主函数里写一个类。来实现和磁盘,内存的连接执行。LD_Vkernel来实现所有文件的底层操作来完成文件系统的所有操作以及磁盘的所有接口,与文件的接口。所有类是同通过在类里添加构造函数逻实现连接调用实现功能连起来的。

(2)介绍一下各个类和他的接口和核心代码:

LD_FileSystem实现用户接口部分与文件系统内核的连接:

public class LD_FileSystem

{

LD_VKernel objknl;

public string CurrentDir;

public LD_FileSystem()

{// TODO: 在此处添加构造函数逻

objknl=new LD_VKernel();

}

(3).功能模块图:

(4

(2)建立文件流程图:

(3)读文件流程图:

(4

5.1 系统运行结果如图所示:

6.1 运行结果分析

通过运行结果和自己设计的来进行比较,分析可以得到:

和实际的还是有不少的出处,应该有的功能还是没有完全让他来实现,不过大部分的功能都已经实现,总的来说算是成功了,不过也有Bug经过我们的耐心调试和修改,解决和很大一部分错误,但是错误仍然还是有的,由于水平有限,所以只能注释掉后再进行修改。文件管理部分采用根目录式的文件,实现了删除文件,添加文件夹和文件,复制和粘贴的文件。文件的大小也都做了详细的规定,文件名的大小也都规定了相应的字节大小。我们会继续努力的。

7.1心得体会:

本次课程设计,本人选择了树型结构文件系统的设计这一题目。刚刚开始时,不知道怎么设计,只知道大概的结构。后来认真阅读课本有关的知识,知道怎样设计结构体才方便文件操作。知道怎样设计后,写程序时也遇到很多的障碍,特别是指针的改接和指向和出错处理。此时深感自己编程能力的不足,经过多次修改,终于设计好了该设计。

通过该课程设计,使我更了解了课本知识,巩固了课本知识,同时也使我的编程能力有了一定的提高。

相关文档
最新文档