操作系统原理实验指导书

2019-06-11 00:58

计算机科学与技术专业适用

操作系统原理

实验指导书

南京工业大学信息科学与工程学院

2013年9月

目 录

一、实验目的 ............................................................................................................................... 1 二、实验要求与内容 ................................................................................................................... 1 2.1 实验题目 ............................................................................................................................ 1 2.2 初始目录结构 .................................................................................................................... 1 2.3 系统操作命令简介 ............................................................................................................ 1 2.4 几点说明 ............................................................................................................................ 2 三、设计方案 ............................................................................................................................... 3 3.1 采用FAT文件格式 ............................................................................................................ 3 3.2 目录项(FCB)结构.............................................................................................................. 3 3.3 根目录 ................................................................................................................................ 4 3.4 主要函数 ............................................................................................................................ 4 3.5 用户已打开文件表(UOF) ............................................................................................ 5 3.6 程序中有关变量的说明 .................................................................................................... 5 1. 当前目录curpath数据结构 .............................................................................................. 5 2. 删除文件恢复表udtab数据结构 ..................................................................................... 5 3. 全局变量ffbp和Udelp ..................................................................................................... 5 4. 全局数组comd[5][PATH_LEN] ..................................................................................... 6 5. 全局数组temppath[PATH_LEN] .................................................................................... 6 3.7 主要函数的流程图 ............................................................................................................ 6 1. 主函数main()的流程图 ................................................................................................... 6 2. create命令流程图 ............................................................................................................. 6 3. cd命令流程图 ................................................................................................................... 7 4. del命令流程图 .................................................................................................................. 8 5. dir命令流程图 .................................................................................................................. 8 6. md命令流程图 .................................................................................................................. 9 7. rd命令流程图 ................................................................................................................... 9 8. open命令流程图 ............................................................................................................. 10 9. close命令流程图 ............................................................................................................ 10 10. write命令流程图 .......................................................................................................... 11 11. read命令流程图 ............................................................................................................ 12 12. copy命令流程图 ........................................................................................................... 12 13. ren命令流程图 .............................................................................................................. 14 14. attrib命令流程图 .......................................................................................................... 14 15. undel命令程序流程图 .................................................................................................. 15 16. FindPath( )函数程序流程图 ......................................................................................... 15

i

《操作系统实验》指导书

17. FindFCB( )函数程序流程图 ........................................................................................ 15 18. ProcessPath( )函数程序流程图 .................................................................................... 17 四、实验任务 ............................................................................................................................. 18 4.1 修改md命令 ..................................................................................................................... 18 4.2 修改Help命令或命令行预处理程序 .............................................................................. 18 1. 修改help命令的显示方式和显示内容 ......................................................................... 18 2. 修改命令行预处理程序 ................................................................................................ 18 4.3 新增fc命令,实现两个文件的比较 ............................................................................... 18 4.4 新增replace命令,实现文件取代 .................................................................................. 18 4.5 新增move命令,实现文件“搬家”及子目录改名 ..................................................... 19 4.6 新增batch命令,实现批处理 ......................................................................................... 19 4.7 修改close、type等命令,允许不带文件名参数 ........................................................... 21 4.8 完善copy命令 .................................................................................................................. 22 1. 改正某些缺陷 ................................................................................................................ 22 2. 允许覆盖同名文件(选做内容) ................................................................................ 22 4.9 增加输出重定向功能(选做内容) .............................................................................. 22 1. type命令的输出重定向形式 .......................................................................................... 22 2. dir命令的输出重定向形式 ............................................................................................ 23 4.10 修改del、copy等命令,使其可以使用统配符 *(选做内容) ............................... 23 4.11 修改copy命令,增加合并复制功能(选做内容) .................................................... 23 4.12 修改程序,实现多磁盘文件系统(选做内容) ........................................................ 24 4.13 修改磁盘块容量(选做内容) .................................................................................... 24 4.14 修改undel命令(选做内容) ....................................................................................... 25 1. 删除文件恢复表udtab不用数组存储,而直接存储在磁盘空间 ............................... 25 2. 修改undel命令的执行方式并增强其功能 ................................................................... 25 3. 采用类似于Windows的回收站方案............................................................................. 26 4.15 修改read命令,允许不带文件名参数(选做内容) ................................................. 26 4.16 修改write命令,允许不带“文件名”参数(选做内容) ........................................ 26 4.17 修改write命令,增加“删除”方式(选做内容) .................................................... 27 五、模拟文件管理系统中操作命令使用说明 ......................................................................... 27 六、学生应提交的实验材料 ..................................................................................................... 33 6.1 《实验报告》 .................................................................................................................. 33 6.2 源程序清单及其可执行文件 .......................................................................................... 33 6.3 程序测试、运行的结果 .................................................................................................. 33

ii

操作系统原理实验指导书

一、实验目的

理解操作系统文件系统的某些工作原理,学习文件操作命令的设计方法。通过实验,使学生加深对操作系统文件系统某些问题的理解,归纳学习方法和思考方法,做到理论联系实际。培养学生分析问题、解决问题的能力,提高学生软件设计能力和逻辑思维能力。

二、实验要求与内容

2.1 实验题目

模拟文件管理系统的设计

设计实现一个简单的模拟文件管理系统,包括目录文件、普通文件,以及一些文件操作命令和目录操作命令(例如可以模仿DOS的有关命令)。具体要求如下列2.2和2.3。

2.2 初始目录结构

程序初始化时构造如图1所示的目录结构。

根目录 bin usr auto dev user lib bin 【图例说明】 li sun ma 目录文件 图1 初始目录树 无框 普通文件 图中auto是(普通)文件(初始化时假设是空文件),其余都是子目录(目录文件)。

2.3 系统操作命令简介

在模拟文件管理系统中,要求可以实现如下操作:

? 改变当前目录:cd [<目录名>]。当前目录(工作目录)转移到指定目录下。指定目录

不存在时,给出错误信息。若命令中无目录名,则显示当前目录路径。

? 创建文件:create <文件名> [<属性>]。创建一个指定名字的新文件,即在目录中增加

一目录项,不考虑文件的内容。对于重名文件给出错误信息。 ? 删除文件:del <文件名>。删除指定的文件,即清除其目录项和回收其所占用磁盘空间。

对于只读文件,删除前应询问用户,得到同意后方能删除。当指定文件正在使用时,显

1

《操作系统实验》指导书

? ? ? ?

? ? ? ? ? ?

?

示“文件正在使用,不能删除”的信息,当指定文件不存在时给出错误信息。

显示目录:dir[ <目录名>[ <属性>]]。显示“目录名”指定的目录中文件名和第一级子目录名。若指定目录不存在,则给出错误信息。

创建目录:md <目录名>。在指定路径下创建指定目录,若没有指定路径,则在当前目录下创建指定目录。对于重名目录给出错误信息。

删除目录:rd 目录名。若指定目录为空,则删除之,否则,给出“非空目录不能删除”的提示。不能删除当前目录。

打开文件:open <文件名>。若指定文件存在且尚未打开,则打开之,并在用户打开文件表(UOF)中登记该文件的有关信息。若指定文件已经打开,则显示“文件已打开”的信息;若指定文件不存在,则给出错误信息。只读文件打开后只能读不能写。 写文件:write <文件名> [<位置>][insert]。在文件的指定位置处写入新内容。

读文件:read <文件名> [<位置m> [<字节数n>]]。从已打开文件中读指定内容并显示。 关闭文件:close <文件名>。若指定文件已打开,则关闭之,即从UOF中删除该文件对应的表项。若文件未打开或文件不存在,分别给出有关信息。

显示文件内容:type <文件名>。显示指定文件的内容。若指定文件不存在,则给出错误信息。

复制文件:copy <源文件名> <目标文件名>。命令功能:为目标文件建立目录项,分配新的盘块,并将源文件的内容复制到目标文件中。

文件改名:ren <原文件名> <新文件名>。将指定文件的名字改为“新文件名”。若原文件不存在,给出错误信息。若原文件存在,但正在使用,也不能改名,同样显示出错信息。应检查新文件名是否符合命名规则以及是否存在重名问题。 显示、修改文件或目录属性:attrib <文件名>[ <文件属性>]。若命令中无“文件属性”参数,则显示指定文件的属性;若命令中有“文件属性”参数,则修改指定文件的属性。此命令对目录名同样适用。

2.4 几点说明

? 命令中的目录名和文件名可以统称为路径名,支持绝对路径(又称全路径)和相对路径; ? 路径名是由目录结构中各级目录文件名和普通文件名(必定是最后一个名)用分隔符“/”

连接而成的字符串组成。其中以字符“/”开始的路径名是绝对路径,表示从根目录开始;不是以字符“/”开始的路径名是相对路径,表示从当前目录开始。当前目录又称工作目录。

? 本系统规定,名字(文件名或目录名)的命名规则如下:

(1) 名字长度不能超过FILENAME_LEN-1个字节,即10个字符(符号常数FILENAME_LEN为

11)。允许输入的名字超过10个字符,但只有前10个字符有效;

(2) 名字一般由字母(区分大小写)、数字、下划线等组成,名字允许是汉字; (3) 名字不能包含以下16个字符之一: \ * + , / : ; < = > ? [ \\ ] | space(空格)

(4) 名字中允许包含字符“.”,但它不能是名字的第一个字符,故“.”、“.abc”、

“..”和“..abc”等等都是不合法的名字。“..”代表父目录是例外,但它并非由用户通过键盘输入的名字,故不需要符合名字的命名规则。

? 本系统中,命令名(如dir)和命令参数中的有关关键字(如append或app、insert或ins

等)不区分大小写。文件名和目录名中的字母是区分大小写的。

? 命令格式中,“<...>”代表某个字符串 ,“[ ]”中内容为可选项。

2


操作系统原理实验指导书.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:健康素养测试题(一)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: