您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统文件管理实验报告
第1页共18页竭诚为您提供优质文档/双击可除操作系统文件管理实验报告篇一:操作系统实验报告文件管理昆明理工大学信息工程与自动化学院学生实验报告(201—201学年第二学期)课程名称:操作系统开课实验室:年月日一、实验目的用c或c++语言编写和调试一个简单的文件系统,模拟文件管理的基本功能。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。二、实验原理及基本技术路线图(方框原理图)用c模拟实现文件系统的管理;要求设计一个多级目录结构的文件系统,能正确描述文件控制块,采用合理的外存分配方式,能实现基本的目录及文件的操作,包括创建、删除、重命名、复制、移动等功能,并对文件有一定的存取权限控制。第2页共18页功能设计:helpdirexitcreate[文件名]cdir[目录名]read[文件名]close[文件名]edit[文件名]cd[目录名]attr[文件名]del[文件名]rename[文件名]显示命令帮助显示当前目录下的文件和文件夹退出系统创建文本文件创建文件夹读取一个文件最多可同时读取五个关闭一个文件编辑一个文件进子目录或者上级目录显示该文件的属性删除文件重命名编辑功能流程图删除文件流程图创建文件流程图核心算法:boolFormat(void);//格式化boolinstall(void);//装载虚拟硬盘的数据voidlogin(void);/用户登陆voidshowmenu(void);//显示功能菜单boolonAction(void);//用户选择功能并执行voidcreateFile(stringstr);//创建文件boolread(stringstr);//读取文件voideditFile(stringstr);//编辑文件voidDelete(stringstr);//删除一个文件数据结构:始地址/*inode结构体第3页共18页*/structinode{unsignedshortdi_tag;/*inode标识*//*关联文件数,当为0时表示删除文件,如一个目录至少包含两个文件:.和..*/constunsignedintAccounT_num=10;//用户数量/*---------常变量------*/constunsignedintbLocK_sIZe=512;//块长constunsignedintDATA_bLocK_num=512;//数据块数量constunsignedintDInoDe_sTART=4*bLocK_sIZe;//inode起始位置constunsignedintDInoDe_sIZe=512;constunsignedintDInoDe_num=32;//inode大小//inode数量constunsignedintDATAsTART=(2+DInoDe_num)*bLocK_sIZe;//数据区的开unsignedshortdi_number;unsignedshortdi_mode;/*存取模式:0为目录,1为文件*/unsignedshortdi_userID;/*当前inode所属用户0为根目录ID,一次下去是管理员目录、用户目录*/unsignedshortdi_access;/*访问权限0为不允许普通用户访问(公共目录),1为允许普通用户访问*/};第4页共18页unsignedshortdi_size;/*文件大小,目录没有大小,值为0*/unsignedshortdi_ctime;/*创建时间*/unsignedshortdi_mtime;/*最后一次修改时间*/unsignedshortdi_block[DATA_bLocK_num];/*数据块块地址编号*//**超级块***/structsuper_block{};/**账户信息**/structuser{};/**文件/目录结构**/structdirectory{unsignedshorts_inodes_count;/*文件系统中inode的总数*/unsignedshorts_blocks_count;/*数据块总数*/unsignedshorts_r_blocks_count;/*保留块总数*/unsignedshorts_free_blocks_count;//空闲块总数unsignedshorts_free_inodes_count;/*空闲的inode总数*/unsignedshorts_log_block_size;/*block的大小*/unsignedshortuser_id;//用户IDunsignedshortuser_access;//权限stringusername;stringpassword;//用户名//密码第5页共18页篇二:操作系统课程设计-文件管理实验报告操作系统课程实验报告20XX~20XX年度第1学期院系:学号:姓名:任课教师:成绩评定:实验一题目:文件管理完成日期:年月日1、实验目的了解文件管理的功能和任务,理解文件系统组成和特点,熟悉文件系统的访问和操作。实验要求用高级语言编写和调试一个简单的模拟文件管理程序。加深理解有关盘块的分配与回收、目录管理等的具体实施策略。2.、实验内容模拟一个资源管理器进行文件操作,包括建立和删除目录、建立和删除文件等基本文件操作。建立相应的数据结构(如:位示图等),模拟盘块管理。可以参照图6界面进行设计。3、算法设计1)、定义主面板mainFrame,布局好各个控件,并初始化/**往node节点下添加一个子节点第6页共18页*/publicvoidaddchild(objectobj,DefaultmutableTreenodenode){if(obj!=nullif(node.getAllowschildren())node.add(temp);if(!((string)obj).equals(A:\\)用于初始用的;addchildren(cmd.listAll((string)obj),temp);}}/**在node节点下添加数组children;*/publicvoidaddchildren(string[]children,DefaultmutableTreenodenode){if(children!=nulliaddchild(children[i],node);}}}/*第7页共18页*对树的节点进行预提取;*/publicvoidaddprefetchchildren(stringpath,DefaultmutableTreenodenode){addchildren(cmd.listDirectory(path),node);}/**对路径路径进行连接;(已经获得了所有的整个路径,需要量转化)*/publicstringtoFilepath(stringstr){//先去掉头尾的[];stringpa=str.substring(1,str.length()-1);string[]temp=pa.split(,);stringpath=;for(inti=1;iif(!path.endswith(\\)path+=\\;path+=temp[i];}returnpath;}publicstringtopFilepath(stringstr){第8页共18页//先去掉头尾的[];stringpa=str.substring(1,str.length()-1);string[]temp=pa.split(,);stringpath=;}for(inti=1;ipublicvoidaddframe(){JFrameaddFrame=newJFrame();JLabeljlbl=newJLabel(请输入要添加的文件(夹)名:);addrs=newJLabel();addrs.setbounds(180,10,100,25);jlbl.setbounds(10,10,170,25);addfile=newJTextField();addfile.setbounds(10,40,260,25);btnaddf=newJbutton(添加文件);btnaddd=newJbutton(添加文件夹);btnaddf.setbounds(20,80,100,25);btnaddd.setbounds(160,80,100,25);btnaddf.addActionListener(this);btnaddd.addActionListener(this);addFrame.add(jlbl);addFrame.add(addrs);addFrame.add(addfile);addFrame.add(btnaddf);第9页共18页addFrame.add(btnaddd);addFrame.setbounds(400,350,300,150);addFrame.setTitle(添加文件(夹));addFrame.setLayout(null);addFrame.setVisible(true);}publicvoidmvframe(){JFramemvFrame=newJFrame();JLabeljlbl=newJLabel(请输入修改后的文件名:);mvrs=newJLabel();mvrs.setbounds(160,10,140,25);jlbl.setbounds(10,10,170,25);mvfile=newJTextField();mvfile.setbounds(10,40,260,25);btnmvf=newJbutton(修改文件名);btnmvd=newJbutton(修改文件夹名);btnmvf.setbounds(10,80,120,25);btnmvd.setbounds(150,80,120,25);btnmvf.addActionListener(this);btnmvd.addActionListener(this);mvFrame.add(jlbl);mvFrame.add(mvrs);第10页共18页mvFrame.add(mvfile);mvFrame.add(btnmvf);mvFrame.add(btnmvd);篇三:操作系统实验报告文件管理系统源程序操作系统实验报告题目:班级:文件管理系统20XX年12月21日目录一、实践内容..........................................................................................................31.1实验内容.........................................................................................................32.实验原理..........................................................................................................43、实验要第11页共18页求..........................................................................................................4二、实验的目的及意义..........................................................................................4三、详细设计..........................................................................................................53
本文标题:操作系统文件管理实验报告
链接地址:https://www.777doc.com/doc-5976852 .html