操作系统(2014年秋季学期)
序号:8 实 验 报 告
系别:计算机科学与技术 班级:信安12-1班 姓名:李勇 学号:07101020112 实验名称:进程调度
总成绩: 评语:
日期:
NORTH CHINA UNIVERSITY OF TECHNOLOGY
《操作系统》实验报告 实验名称 实验日期 一、实验目的、要求与环境 1.目的: 编写一个简单的二级文件系统实现程序,加深对文件系统的内部功能和内部实现的理解。 2.要求: (1)用C语言(或其它语言,如Java)实现一个简单的二级文件系统设计,加深对文件系统的内部功能和内部实现的理解。要求模拟采用二级目录结构的磁盘文件系统的文件操作, 实现用户的创建、查询、登录、删除,和文件的添加、删除、打开、关闭、读、写等基本命令,用在屏幕上输入命令来模拟用户程序中调用的文件操作。 (2)为了清楚地观察文件的管理过程,程序应将每个文件操作的结果显示出来。 (3)分析程序运行的结果,谈一下自己的收获。 3.环境: 1. 硬件设备:PC机一台 2. 软件环境:安装Windows操作系统或者Linux操作系统,并安装相关的程序开发环境,如C \\C++\\Java 等编程语言环境。 进程调度 2014.1.2 实验序号 实验人 1 李勇 2015-1-7 2/15
NORTH CHINA UNIVERSITY OF TECHNOLOGY
二、相关背景知识 最基本的文件操作 (1)创建文件 在创建一个新文件时,系统首先要为新文件分配必要的外存空间,并在文件系统的目录中,为之建立一个目录项。目录项中应该记录新文件的文件名及其在外存的地址等属性。 (2)删除文件 当已不再需要某文件时,可将它从文件系统中删除。在删除时,系统应该先从目录中找到要删除的文件的目录项,使之成为空项,然后回收该文件所占用的存储空间。 (3)读文件 在读一个文件时,须在相应的系统调用中给出文件名和应该读入的内存目标地址。此时,系统同样要查找目录,找到制定的目录项,从中得到被读文件在外存中的位置。在目录项中,还有一个指针用于对文件的读/写。 (4)写文件 在写一个文件时,须在相应的系统调用中给出该文件名及该文件在内存中的(源)地址。为此,也同样须先查找目录,找到指定文件的目录项,在利用目录中的写指针进行写操作。 (5)截断文件 如果一个文件的内容已经陈旧而需要全部更新文件的内容时,一种方法是将此文件删除,再重新创建一个新文件。但如果文件名及其属性均无改变时,则可采取另一种所谓的截断文件的方法,此即将原有文件的长度设置为0,或说放弃原有的文件内容。 (6)设置文件的读/写位置 前述的文件读/写操作,都只提供了对文件顺序存取的手段,即每次都是从文件的始端读或写。设置文件读/写位置的操作,用于设置文件读/写指针的位置,以便每次读/写文件时,不是从其始端而是从所设置的位置开始操作。也正因如此,才能改顺序存取为随机存取。 2015-1-7 3/15
NORTH CHINA UNIVERSITY OF TECHNOLOGY
三、实验设计说明 (写你实验相关的设计,别写这么少,多写点。。。。。。。) 本次实验采用C语言模拟二级文件系统,可以在多用户环境下实现用户的创建、查询、登录、删除,和文件的添加、删除、打开、关闭、读、写等基本操作,很好地模拟了操作系统对文件的管理过程。 四、实验设计的流程图 (写你实验相关的设计流程图,下面的流图是有问题的。。。。。。。) 开始 选择用户 选择操作命令及命令对象文件 Y 有操作权限? 实施该命令 N 输出错误信息 Y 是否要创建新文件? N 输入文件名等信息; 显示已经完成操作的信息 进行该用户的下个操做 直到退出该用户权限 N Y 退出? 显示已经完成操作的信息 结束 2015-1-7 4/15
NORTH CHINA UNIVERSITY OF TECHNOLOGY
四、程序代码 (换上你自己的程序代码,下面的程序代码是有问题的。) #include \#include
char name[10]; int code;//保护码 int size; char pwrite;//读写指针 char name[10]; struct file *list;//目录指针
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新小学教育操作系统设计一个二级文件系统报告 全文阅读和word下载服务。
相关推荐: