操作系统课程设计

发布 2022-10-05 13:17:28 阅读 4155

目录。1 设计目的 1

2 设计内容 1

3 设计步骤 1

3.1 开发平台 1

3.1.1 开发环境介绍 1

3.1.2 开发界面截图 2

3.2 详细设计 2

3.2.1 算法说明 2

3.2.2 系统流程图 4

3.3 运行与测试 4

3.3.1 运行测试 4

3.3.2 异常处理测试 7

3.4使用说明 9

4 设计总结 10

5 附录 10

操作系统概论》学习已经快结束了,通过本课程,了解了操作系统的发展,组成,处理器管理,存储管理,文件管理,设备管理,并发进程等相关知识。理论必须与实际联系,才能理解的更加深刻,所以进行了这次课程设计,制作一个文件模拟系统的程序,加深对相关知识的理解与运用。

本设计应完成以下要求:

1.设计一个10个用户的文件系统,用户至少有create、delete、open、close、read、write等文件操作命令。

2.程序采用多级文件目录管理,仅可能模拟文件存取的全过程。

我们采用了c语言来并在visual studio 2005平台实现。

net framework是生成、运行下一代应用程序和xml web services的内部windows组件。它简化了分布式internet环境中的应用程序开发,由公共语言运行库(clr)和。net framework类库两个组件构成。

visual studio 2005 是微软公司开发的集成开发环境,支持c、c++、vb、j#、c#等多种开发语言,界面友好,并有自动补全**功能,便于调式,是当前最流行的。net framework开发工具。

安装visual studio 2005的系统要求:

用户登录时要输入用户名和密码,如果正确则进入初始界面,默认只有十个用户。

用户登录成功后,可以使用的命令列表如下(命令不区分大小写):

create:创建一个新的文件;如果文件名空,则提示出错;

open: 打开一个已经存在的文件;如果该文件不存在,则提示出错;

read: 读取目标文件中的内容;如果目标文件不存在,则提示出错;

write: 向目标文件写入内容;如果目标文件不存在,则提示出错;

delete:删除目标文件;如果目标文件不存在,则提示出错;

mkdir:创建一个新的文件夹;如果目录名空,则提示出错;

cd: 改变当前路径,转到目标目录下;入股目标目录不存在,则提示出错;

dir: 列出当前目录下文件;

copy: 把文件或目录由源地址拷贝到目标地址;

logout:推出文件管理系统;

文件目录的检索使用了简单的线性搜索,文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行。体现在工程开发中,我们建立了头文件:

用以存放程序中用到的结构体定义和全局变量定义;**主文件:存放程序主要**。

程序中使用的主要设计结构如下:

1.一个文件索引结构。

typedef struct

unsigned index文件元素索引编号。

char filename[maxfilenamelen文件元素名。

char parentname[maxfilenamelen父节点名。

unsigned fileblockid文件元素所在物理块编号。

unsigned filelevel文件元素所在层次,层+文件元素名为一个文件元素的逻辑位置。

unsigned effect是否有效,-无效,-有效。

fileindexelement;

2、文件状态结构。

typedef enum

closed已被关闭。

opened已被打开。

reading正在被读取。

writing正在被写入。

filestatus;

3、文件系统中的元素结构,包括文件和文件夹。

typedef struct fse

struct fse *parent指向自己的父亲节点。

unsigned filelevel文件元素所在层次,层+文件元素名为一个文件元素的逻辑位置。

char filename[maxfilenamelen文件元素名。

unsigned fileblockid文件元素所在物理块编号。

unsigned fileelemlen文件元素的长度。

fetype type文件元素类型。

feaccess access文件元素可供操作的权限。

user creator文件创建者。

char createtime[18创建时间,日期格式:mm/dd/yy hh:mi:ss

char lastmodtime[18最后一次修改时间。

char *filedata一个文件的数据开始地址,文件夹时该值为null

filestatus filestu如果是一个文件表示文件当前的状态。

fselement;

运行debug目录下的可执行文件,运行成功,显示欢迎界面并帮助信息,如下图:

系统默认了十个普通用户:user1,user2,user3,user4,user5,user6,user7,user8,user9,user10。所有用户密码与其用户名相同。

输入正确的用户名和密码,单击回车键就可以进入文件模拟系统,以用户user1为例,下面显示user1登录成功,如下图:

用create命令创建test文件夹,用cd命令进入test文件夹,如下图:

用create命令创建三个文件:用dir命令列出当前目录下文件和文件夹如下:

用open命令打开文件,用write命令写入信息,用close命令关闭文件。

用logout命令退出系统,界面如下:

运行测试表明,正常输入各项操作指令后,程序均正常运行并显示出预期结果,程序运行成功。

键入错误的用户名或者错误的密码后,登陆失败并提示重新输入,如下图:

用cd命令进入一个不存在文件夹发生错误,界面如下:

删除一个不存在的文件而发生错误,界面如下:

文件没有打开的情况下,使用read命令读取或者使用write命令写入导致错误,界面如下:

在上面的异常测试中,输入非法的指令后,系统能辨别并能给出相应的出错提示信息,表明系统具有一定的健壮性。

1、双击debug文件夹中的可执行程序,启动模拟界面。

2、输入用户名和密码,单击回车键,如果通过验证,则进入系统。

3、输入create books命令,可以建立一个名为books的文件夹。输入create 命令可以创建一个名为的文本文件(文件名和文件夹名字随意)。

4、创建的文件夹和文件可以通过dir命令在当前目录下面显示出来。

5、输入open 命令,可以打开文本文件,只有打开的文件才能写入数据。

6、输入write 命令。可以在文件中写入数据,例如写入:my name is

zheng!按ctrl+d可以保存输入的信息。

7、输入read 命令,可以查看该文件中的信息。

8、输入close 命令,则可以关闭该文件。

9、输入cd books命令,可以进入books文件夹。

10、输入logout,则注销当前用户了。

本文件系统中,用户可以用到的指令包括:"create", open", read", write", close", delete", cd", dir", logout", copy"等十一个文件操作指令,实现了基本的文件管理的相关功能。通过这次课程设计。

对visual studio 2005和。net framework有了进一步的了解,熟悉了相关软件和技术的使用。

在设计要求中,只要完成10个用户模拟,并对文件结构作了简化,我们对此作了扩充,除了默认用户10个和1个特权用户,每个用户创建文件数目没有限制,文件的模拟也是从底层的块开始。

我做的这个文件管理模拟系统还存在一些不足:控制台形式的界面,对用户来说不够友好,应当继续开发出窗体界面。程序**还有锤炼的空间,可以进一步进行研究,增加**的执行效率,提升程序的功能。

操作系统课程设计

课程设计 河北大学工商学院。装。订。线。操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专 操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专业计算机类 学号 姓名。指导教师。年 6 月 24 日。设备管理 2 2.1设计任务2 2.2设计要求...

操作系统课程设计

银行家算法模拟。系别 班级 组员 银行家算法模拟。1.课程设计目的。通过本次课程设计,加深对最经典的避免死锁的银行家算法的理解,掌握死锁形成必要条件 安全状态等概念的理解,通过用c语言编程模拟该算法,并在windows平台上实现,更好地掌握操作系统的原理及实现方法。2.任务及要求。设n为系统进程的个...

操作系统课程设计

学生实习实训报告。实习类型 操作系统课程设计 学号 0901110005 学生姓名 田兴杰 指导教师 曹春梅 专业班级 信息安全技术0901班 院 部 电子信息系 2011年 1 月 7日。实习实训成绩评定表。目录。目录3 摘要4关键字4 1.1虚拟机简介5 1.1.1 一般意义的虚拟机5 1.1....