搜档网
当前位置:搜档网 › 实验四-文件管理

实验四-文件管理

实验四-文件管理
实验四-文件管理

实验四文件管理

专业:计算机系班级:xx软件工程学号:xxx姓名:xxx

实验地点: xxx 实验时间: xxx 指导教师:xxx

【实验目的】

通过调试并运行一个简单的文件系统来模拟文件操作命令的执行、模拟文件管理,使学生对主要文件操作命令的实质和执行过程有比较深入的了解,掌握它们的基本实施方法。

【实验要求】

了解该系统的文件管理方案、数据结构、文件目录的建立与删除;理解系统在运行过程中显示的状态和有关参数变化情况的意义。

具体要求为:

(1)了解一个支持n 个用户的文件系统,每个用户可拥有多个文件。

(2)理解二级和多级文件目录管理。

(3)了解文件存取控制保护方式。

(4)了解常见的文件操作命令。

【实验环境】

具备Windows或MS-DOS操作系统、带有Turbo Pascal 集成环境的PC机。

【实验重点及难点】

重点:理解文件管理的基本概念,文件管理中主要数据结构的设计和文件管理中文件、目录的建立和删除等算法的实现。

难点:实验程序的问题描述、实现算法、数据结构。

【实验内容】

一.阅读实验程序

文件管理模拟程序代码见【实验例程】。

二.编译实验例程

用Turbo Pascal 编译实验例程。

三.运行程序并对照实验源程序阅读理解实验中输入、输出的意义。

【问题与讨论】

1、该文件模拟系统目录结构的特点

答:该文件采用文件系统的树形结构进行文件管理。其中有主文件、用户文件和用户子文件,而且,用户子文件还采用了密码保护方式。

2、该文件模拟系统支持几个用户

答:0-5 个用户。

3、主文件目录、用户文件目录、活动文件目录的目录项有哪些

答:主文件目录:user_number,file_number 用户文件目录:filename,protection code,length 活动文件目录:没有东西。

4、设置数据域pcode 的目的是什么请说明如何发挥它的作用

答:目的是为了保存活动文件的密码。没有什么作用,但是,如果是在正规系统中的话,它是为了保护文件不被恶意删除、修改、查看、复制等。5、描述文件管理主控程序的算法(流程图或N-S 图)如下:

如何管理好实验室的各类文件

如何管理好实验室的各类文件 实验室文件的分类 实验室质量体系使用的文件按类别分为管理文件和技术文件。管理文件包括质量方针、目标、质量手册、程序文件、各种管理规定、计划、通知和各种管理活动的记录等。技术文件包括校准、测试依据的方法、标准、图纸、图样、软件、说明书、核查规范、软件确认规范、设备操作规程、校准、测试记录等。 按来源分为内部制定的和来自外部的,内部制定的有质量方针、目标、质量手册、程序文件、管理规定、自编方法、指导书、计划、通知、各种记录表格等。来自外部的有法律、法规和规章、制度、标准、规范、以标准发布的检测和校准方法、图纸、图样、软件、说明书和参考数据手册等。 实验室内部文件管理 (1)凡作为质量体系组成部分发给实验室人员的文件,在发布之前应由授权人员审查、批准。制定文件清单,清单中包括序号、文件名称、代号、版本、数量等信息。建立文件发放和回收登记,文件发放和回收登记中包括文件名称、代号、版本、数量、领用人、交回人签名、领用和交回日期、文件的受控号等信息。 (2)实验室质量体系所有文件都应做出唯一性标识、唯一性标识包括发布日期、修订标识、页码、总页数或表示文件结束的标记和颁发机构等,对有保密规定的文件应确定适当的密级。 (3)自编方法的确认。实验室自编方法时,应拟订编制计划,计划的内容包括:自编方法预计达到的指标、自编方法的编制进度、自编方法的试验条件和使用要求、自编方法所需经费预算等,计划经实验室最高管理者批准后组织实施。自编方法初稿完成后应组织相关人员进行评审,填写评审记录。经评审确认能够满足校准、测试工作要求,经实验室技术负责人批准后方可下发使用。 存入计算机系统的文件管理 管理对存入计算机系统的文件应设定更改的授权,防止非授权人接触和修改文件;应在计算机系统以外保留备份件,保证在文件丢失或其它非正常情况下,仍有正确的文件;对于已批准不允许随意更改的文件应做只读处理;对于批准修改部分应在所有备份中确保正确更新。 外来文件的管理 (1)对外来的法律、法规和规章、制度、标准、规范、以标准发布的检测或校准方法,实验室应和自编文件一样制定清单,建立发放、回收登记,给出受控编号。 (2)对外来的图纸、图样、软件、说明书和参考数据手册等,实验室应制定清单,建立借阅登记。

操作系统文件管理实验报告

操作系统实验报告实验名称:文件管理 专业班级:网络工程1301 学号: 姓名: 2015 年6 月16 日

实验一文件管理 一、实验目的 文件管理是操作系统的一个非常重要的组成部分。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、预备知识 1.VS2010的使用 2.C#的学习 3.文件主目录与子目录的理解 三、实验容与步骤 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10 个用户的文件系统,每次用户可保存10 个文件,一次运行用户可以打开5 个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write 等命令。 所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 程序流程图:

逻辑设计: 使用线性数组表表示MFD,泛型数组表示UFD,每个元素包括用户ID、保存的文件数、再使用线性表表示文件信息,每个元素包括文件名,文件属性(保护码),文件的状态等信息。 物理设计: //主目录 private FileUser[] mfd; //当前用户 private FileUser currentuser; ///

/// 文件 /// public class FileObject { public string filename; public int size=20; public int read=0; public int write = 0; public string author; } /// /// 文件系统用户 /// public class FileUser { public string username;

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

操作系统课程设计Array文件系统管理 学院计算机学院 专业计算机科学与技术 班级 姓名 学号 2013年1月8日 广东工业大学计算机学院制 文件系统管理 一、实验目的 模拟文件系统的实现的基本功能,了解文件系统的基本结构和文件系统的管理方法看,加深了解文件系统的内部功能的实现。通过高级语言编写和实现一个简单的文件系统,模拟文件管理的工作过程,从而对各种文件操作系统命令的实质内容和执行过程有比较深入的了解。 二、实验内容和要求 编程模拟一个简单的文件系统,实现文件系统的管理和控制功能。在用户程序中通过使用文件系统提供的create,open,read,write,close,delete等文件命令,对文件进行操作。 以下报告主要包括: 1.可行性分析 2.需求分析 3.概要设计

4.详细设计 5.测试 6.总结 三、可行性分析 1、技术可行性 对于图形编程还不了解,但是经过本学期的三次实验的练习,可以设计好命令操作界面。利用大二期间学习的数据结构可以模拟出此课程设计的要求。 2、经济可行性 课程设计作为本课程的练习及进一步加深理解。与经济无关,可以不考虑。(零花费,零收益) 3.法律可行性 自己编写的程序,仅为练习,不作其他用途,与外界没什么联系,可行。 四、需求分析 编写程序实现文件系统,主要有以下几点要求: 1、实现无穷级目录管理及文件管理基本操作 2、实现共享“别名” 3、加快了文件检索 五、概要设计 为了克服单级目录所存在的缺点,可以为每一位用户建立一个单独的用户文件目录UFD(User File Directory)。这些文件目录可以具有相似的结构,它由用户所有文件的文件控制块组成。此外,在系统中再建立一个主文件目录MFD (Master File Directory);在主文件目录中,每个用户目录文件都占有一个目

操作系统实验5文件系统:Linux文件管理

实验5 文件系统:Linux文件管理 1.实验目的 (1)掌握Linux提供的文件系统调用的使用方法; (2)熟悉文件和目录操作的系统调用用户接口; (3)了解操作系统文件系统的工作原理和工作方式。 2.实验内容 (1)利用Linux有关系统调用函数编写一个文件工具filetools,要求具有下列功能:*********** 0. 退出 1. 创建新文件 2. 写文件 3. 读文件 4. 复制文件 5. 修改文件权限 6. 查看文件权限 7. 创建子目录 8. 删除子目录 9. 改变当前目录到指定目录 10. 链接操作 *********** 代码: #include #include #include #include #include #include #include #include void menu(void); void openfile(void); void writefile(void); void readfile(void); void copyfile(void); void chmd(void); void ckqx(void); void cjml(void); void scml(void); void ggml(void); void ylj(void); int main() { int choose; int suliangjin=1;

menu(); scanf("%d",&choose); while(choose!=0) { switch(choose) { case 1:openfile();break; case 2:writefile();break; case 3:readfile();break; case 4:copyfile();break; case 5:chmd();break; case 6:ckqx();break; case 7:cjml();break; case 8:scml();break; case 9:ggml();break; case 10:ylj();break; } menu(); scanf("%d",&choose); } return 0; } void menu(void) { printf("文件系统\n"); printf("1.创建新文件\n"); printf("2.写文件\n"); printf("3.读文件\n"); printf("4.复制文件\n"); printf("5.修改文件权限\n"); printf("6.查看文件权限\n"); printf("7.创建子目录\n"); printf("8.删除子目录\n"); printf("9.改变目前目录到指定目录\n"); printf("10.链接操作\n"); printf("0.退出\n"); printf("请输入您的选择...\n"); } void openfile(void) { int fd; if((fd=open("/tmp/hello.c",O_CREAT|O_TRUNC|O_RDWR,0666))<0) perror("open");

进程管理实验报告文档

实验一进程管理 1.实验目的: (1)加深对进程概念的理解,明确进程和程序的区别; (2)进一步认识并发执行的实质; (3)分析进程争用资源的现象,学习解决进程互斥的方法; (4)了解Linux系统中进程通信的基本原理。 2.实验预备内容 (1)阅读Linux的源码文件,加深对进程管理概念的理解; (2)阅读Linux的fork()源码文件,分析进程的创建过程。 3.实验内容 (1)进程的创建: 编写一段程序,使用系统调用fork() 创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和“c”。试观察记录屏幕上的显示结果,并分析原因。 源代码: #include <> #include <> #include #include <> main() {

int p1,p2; p1=fork(); ockf()函数是将文件区域用作信号量(监视锁),或控制对锁定进程的访问(强制模式记录锁定)。试图访问已锁定资源的其他进程将返回错误或进入休态,直到资源解除锁定为止。而上面三个进程,不存在要同时进入同一组共享变量的临界区域的现象,因此输出和原来相同。 (3) a) 编写一段程序,使其实现进程的软中断通信。 要求:使用系统调用fork() 创建两个子进程,再用系统调用signal() 让父进程捕捉键盘上来的中断信号(即按DEL键);当捕捉到中断信号后,父进程用系统调用Kill() 向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child Process 1 is killed by Parent! Child Process 2 is killed by Parent! 父进程等待两个子进程终止后,输出如下的信息后终止: Parent Process is killed!

(完整版)实验室管理文件

精心整理 实验室实验规章总则 一、实验室是化学化工学院实验中心下属单位,所有规章制度都不得违背实验中心各项制度,作为化学工程与工艺专业的教学、科研重地,必须加强管理,确保正常的教学、科研秩序。 定程序报批。 七、实验室仪器设备必须按学校有关规定建立帐、卡,专人保管,严格履行领物、借用、登记手续,定期清查核对,保持帐、物、卡一致。八、实验室工作人员要坚守岗位,搞好清洁卫生,做好安全与环境保护工作,人员离开时必须关好门窗、水龙头、断开电(气)源等。

九、与本实验室教学、科研无关人员不得擅自进入实验室,实验室开展对外服务须按学校有关程序进行审批。 十、参与实验的所有人员必须熟悉灭火器材的放置地点和使用方法,安全用具要妥善保管。 实验室安全管理制度 一、在实验中对有可能发生燃烧、爆炸的药品,需视性质、数量情况,采取可靠的 放。 八、任何化学药品一经放置于容器后,必须立即贴上标签,如发现异常,应检验证明或询问保管人员,不得随意乱丢乱放,有毒物品要集中存放和处理。 九、严格遵守实验安全操作规程和化学药品的保管使用制度,遵循实验指导书的要求进行实验,防止因急于求成或思想麻痹而不按操作规程进行作业以及违反化学物品保管使用制度,而引起燃烧或爆炸事故

十、做实验期间严禁脱岗。晚上、节假日做某些危险实验的室内应有二人以上,方可实验。 十一、不能继续使用和保管的药品,应按规定及时处理或销毁。在实验室明显处放置必要的灭火器材,做好灭火准备。 实验室药品的使用管理制度 一、化学药品必须根据化学性质分类存放,易燃、易爆、剧毒、强腐蚀品不得混放; 处理; 制定合理的储存量,不许过量且包装容器应密封性好;八、遇水能分解或燃烧、爆炸的药品,钾、钠、三氯化磷、五氯化磷、发烟硫酸、硫磺等不准与水接触,不准放置于潮湿的地方储存; 九、所有化学药品、试剂等未经许可不得擅自带出实验室;

实验室管理体系文件宣贯培训考试(2011)答案

实验室管理体系文件宣贯培训考试(2011)答案 姓名:得分: 一、填空题30分(每一空格2分)。 1、实验室或其所在组织应是一个能够承担法律责任的实体。 2、最高管理者应确保在实验室内部建立适宜的沟通机制,并就确保与管理体系有效性的事宜进行沟通。 3、内部审核的周期通常应当为 1 年。 4、管理评审的典型周期为12 月。 5、本实验室检测程序文件有 28 个。 6、本实验室体系文件是由质量体系编写小组编写,发布时间是 2013年8月1日 7、管理手册、程序文件和管理类记录文件由质量负责人审核,总经理批准;作业指导书及技术类记录文件由质量负责人审核,技术负责人批准发布;质量计划由有关部门负责人审核,相关职能负责人(技术负责人或质量负责人)批准。 8、本检测公司代码(××)+分隔符(/)+文件分类代码(××)+年份。其中 XJ 指“九江市鑫洁生产环境科技有限公司”,SC指管理手册,CX指程序文件,ZD指作业指导书 二、选择题20分(每题2分),将正确答案填在括号内。 1、本检测公司依据( A)建立能保证检测工作公正性、独立性和与检测工作活动相适应的管理体系,并文件化。 A、《实验室资质认定评审准则》 B、ISO/IEC17025:2005《检测和校准实验室能力的通用要求》 C、GB/T27025-2008《检测和校准实验室能力的通用要求》 D《实验室和检查机构资质认定管理办法》 2、实验室所出具的报告应有(C)来签署才有效。 A、技术员 B、质量主管 C、授权报告签署人 D、技术主管 3、下列(D)属于要书面通知客户。 A、分包安排 B、实验室搬迁时 C、实验室结果可能使客户受到影响 D、以上皆是 4、下列(E )需要唯一性标识。 A、样品 B、文件 C、设备 D、修改后,出具的全新报告 E、以上皆是 5、当设备停止使用时,实验室应执行(A ) A、明显标示 B、借给其他实验室 C、用布遮起来 D、不处理 E、口头告知人员 6、ISO/IEC17025标准规定了实验室从事检测的通用要求,这些检测包括运用(D )。 A、标准方法 B、非标准方法 C、实验室自制的方法 D、以上皆是 7、按ISO/IEC17025标准要求,当实验室接受客户投诉时,应(E)。 A、请客户吃饭 B、该次试验免费 C、建立投诉处理程序 D、销毁试验记录 E、以上皆非 8、当出现(D)时,应执行附加评审。 A、技术人员变动 B、文件修改 C、不符合或偏离的确认,导致对政策和程序的怀疑时 D、以上皆是 9、实验室保存技术记录的的主要原因( E )。

linux 实验报告 文件系统与文件管理

学生课程实验报告书课程:《linux网络操作系统》 级系 专业班 学号: 姓名: 指导教师:

一、实验项目:用户与组群管理 二、实验日期: 三、实验原理: 1.熟悉Linux下常用的操作指令。 2.加深对文件,目录,文件系统等概念的理解。 3.掌握Linux文件系统的目录结构。 4.掌握有关Linux文件系统操作的常用命令。 5.了解有关文件安全方面的知识。 四、实验仪器: PC机 Redhat网络操作系统 五、实验步骤(纸张不够写可另外加纸并应装订): 进入虚拟机,并在此平台上练习文件管理有关命令.一般在[root @ localhost xxxx]$ 提示符下键入有关命令。 1.浏览文件系统 〈1〉运行pwd命令,确定你当前的工作目录。 〈2〉利用以下命令显示当前工作目录的内容:(理解各字段彻底意义。) 〈3〉运行以下命令:(反馈信息中.代表本身目录,..代表其父目录;选项a可以显示隐藏文件;选项i 可以显示文件的I节点号) ls –ai 〈4〉使用mkdir命令建立一个子目录subdir,并用ls查看当前目录。 〈5〉使用带-d选项的ls命令,你只能看到有关子目录的信息(.表示本身目录)。

〈6〉使用cd命令,将工作目录改到根目录(/)上。 ①用相对路径将工作目录改到根目录。 ②用绝对路径将工作目录改到根目录。 〈7〉使用ls命令列出根目录的内容,再分别列出各子目录的内容,体会各目录作用及访问权限。 〈8〉使用ls-l命令列出/dev的内容。 Ls –l /dev 列出/dev目录的内容,文件太多显示多屏,各行第一个字符为b的表示块特别文件;各行第一个字符为c的表示字符特别文件。 〈9〉使用不带参数的命令cd,然后用pwd命令确定你当前的工作目录是什麽。 〈10〉使用命令cd ../..,你将工作目录移到什麽地方? 2.查看你的文件 〈1〉利用cd命令,将工作目录改到你的主目录上。 〈2〉将工作目录改到你的子目录subdir,然后运行命令: date > file1 将当前日期和时间存放到新建文件file1中。 Ls –l 反馈信息中有新文件 file1。请注意并记下文件长度为:

实验室管理制度文件

一、实验室是教师及学生完成教学任务的重要场所,所有教师及学生应自觉维护和遵守实验室规则。 二、任课教师和实验员要密切配合实验室管理人员开展工作。 三、实验室内所有仪器、设备、实验用品,未经负责实验的教师同意,一律不得随意挪动,仪器、设备外借必须经主管领导同意。 四、学生在进行实验前应按照“实验指导”教材充分预习和准备,实验结束后,应按照实验室教师的要求,规整各类实验器物和用品。 五、实验室内所有仪器、设备、实验用品,不能随意损坏或丢失,应加以爱护,以保证下次实验的延续进行,如有损坏,丢失应酌情按价赔偿。 六、实验室是课堂教学场所,不得喧哗、互相干扰和影响,保证实验过程的顺利进行。 七、实验室应保证整洁、卫生,每次实验结束后,应有值日学生负责清理和打扫。仪器、器材每学期清查一次,及时做好报损报废和增添登记工作。 八、实验室应严格遵守安全,管理规则,实验结束后要及时关好门窗,切断电源、水源。并做好实验记录。 东阳学校

一、本校教职工凡借用实验室仪器设备,必须先填好借用单,报学校总务处批准,再由实验员经手借出,借者必须妥善使用和保养设备,如期归还,归还时由实验员逐一验收,确认无错、漏、损后,再在借用单上签收。如有损坏,按实验室赔偿制度处理。 二、凡实验室贵重精密仪器(每件价在200元以上)不准私人借用,也不准擅自出租。外单位确需借用者,必须经学校领导批准,并严格履行借用手续和执行损失赔偿制度。 三、实验员必须忠于职守,严格执行借用制度,严格检查和验收。如因玩忽职守,致使实验室财产造成损失者,应按市有关文件追究其责任。 东阳学校

维修保养制度 一、实验员必须掌握各种仪器设备的工作原理、构造和性能,掌握各种材料、药品的性能和用途。科学地保管各种仪器设备,经常检查,及时维修,力争小维修自己解决,不能解决的要及时报学校领导批准送维修部门维修,保证仪器设备台件完好率在90%以上。 二、实验员必须定期清理仪器设备,每周一次,做好六防:防尘、防潮、防锈、防压、防虫、防腐。仪器入柜应按照仪器性能特点,做好四放:平放、侧放、竖放和吊放。学生实验完毕,必须及时清理仪器,验收入库,要保持实验室的清洁卫生。 东阳学校

操作系统实验文件管理C 代码

#include #include #include #include #include using namespace std; #define BLKSIZE 512 // 数据块的大小 #define BLKNUM 512 // 数据块的块数 #define INODESIZE 32 // i节点的大小 #define INODENUM 32 // i节点的数目 #define FILENUM 8 // 打开文件表的数目//用户 typedef struct { char user_name[10]; // 用户名 char password[10]; // 密码 } User; //i节点 typedef struct { short inum; // 文件i节点号 char file_name[10]; // 文件名

char type; // 文件类型 char user_name[10]; // 文件所有者 short iparent; // 父目录的i节点号 short length; // 文件长度 short address[2]; // 存放文件的地址 } Inode; //打开文件表 typedef struct { short inum; // i节点号 char file_name[10]; // 文件名 short mode; // 读写模式(1:read, 2:write, // 3:read and write) } File_table; // 申明函数 void login(void); void init(void); int analyse(char *); void save_inode(int); int get_blknum(void); void read_blk(int); void write_blk(int);

文件系统与文件管理

学生课程实验报告书课程:《Linux操作系统》 级系 专业班 学号: 姓名: 指导教师: 2012—2013学年第 2 学期

一、实验项目:文件系统与文件管理 二、实验日期:2011年11月21日 三、实验原理: 掌握文件系统的挂载与卸载;磁盘配额管理;文件的权限修改;文件的归档与压缩; 四、实验仪器: PC机 Redhat网络操作系统 五、实验步骤(纸张不够写可另外加纸并应装订): 1.对/文件系统实施用户级配额管理,对普通用户hellen与jerry进行配额 管理,磁盘空间软配额为300M,硬配额为350M,文件数量配额为:软配额12个,硬配额为15个。写出配额的具体步骤,并测试用户级配额是否成功。 答案:首先,创建hellen和jerry两个用户,配额步骤如下: 1)使用任何文本编辑工具编辑/etc/fstab文件,对“LABEL=/”所在行进行修改,增加命令选项usrquota。 2)重启电脑或者输入mount –o remount / 重新挂载/ 3)利用quotacheck命令创建https://www.sodocs.net/doc/ca14589514.html,er文件。 #touch https://www.sodocs.net/doc/ca14589514.html,er #quotacheck –mc /home

4)edquota hellen ,编辑hellen用户的bolck的软配额为300M,硬配额为350M,inodes的软配额为12个,硬配额为15个,修改内容如下: block soft hard inodes soft hard 0 307200 358400 0 12 15 5)将同样的配额设定复制给jerry用户 # edquota -p hellen jerry 6)启动配额管理 #quotaon –avu 之后,对配额进行测试,发现当拷贝文档个数大于12个或者文件大小超过300M的时候,终端进行警告提示,当文件个数大于15个或者文件大小超过350M的时候,不能往/写入任何内容。 2.在桌面环境下,选中有个文件或文件夹进行相应权限的修改。 3.用chmod命令分别用数字模式和功能模式修改/root/install.log文件属性。 答案:功能模式下修改权限 1)增加同组用户写入:chmod g+w /root/install.log 2)增加其他用户写入:chmod o+w /root/install.log 3)增加文件所有者写入:chmod u+w /root/install.log 4)增加同组用户读:chmod g+r /root/install.log 5)增加其他用户读:chmod o+r /root/install.log 6)增加文件所有者读:chmod u+r /root/install.log

计算机操作系统实验-文件管理

哈尔滨工业大学计算机科学与技术学院 实验报告 课程名称:操作系统 课程类型:必修 实验项目名称:文件管理 实验题目:设计一个多用户的文件系统 班级:实验学院一班 学号:6040310110 姓名:张元竞 设计成绩报告成绩指导老师

一、实验目的 随着社会信息量的极大增长,要求计算机处理的信息与日俱增,涉及到社会生活的各个方面。因此,文件管理是操作系统的一个非常重要的组成部分。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、实验要求及实验环境 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write等命令。 所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 三、设计思想(本程序中的用到的所有数据类型的定义,主程序的流程图及各程序模块之间的调用关系)

兰州大学操作系统实验七存储管理题目和答案

实验七实验报告 实验名称:7 存储管理 实验目的: 1.观察系统存储器使用情况 2.观察进程使用存储器的情况 3.掌握通过内存映像文件提高性能的方法 4.掌握动态内存分配技术 实验时间 3学时 预备知识: 1.存储相关的命令 free 显示系统使用和未被使用的内存数量(可以实时执行) 输出包含的标题有 3 行信息: Mem。此行包含了有关物理内存的信息。包括以下详细内容: total。该项显示可用的物理内存总量,单位为KB。该数字小于安装的物理内存的 容量,是因为内核本身也要使用一小部分的内存。 used。该项显示了用于应用程序超速缓存数据的内存容量。 free。该项显示了此时未使用且有效的内存容量。 Shared/buffers 缓冲区/cached。这些列显示了有关内存如何使用的更为详细的信息。 -/+ buffers/cache。Linux 系统中的部分内存用来为应用程序或设备高速缓存数据。这部分内存在需要用于其他目的时可以释放。 free列显示了调整的缓冲区行,显示释放缓冲区或高速缓存时可以使用的内存容量。 Swap。该行显示有关交换内存利用率的信息。该信息包含全部、已使用和释放的可用内存容量。 vmstat 报告进程、内存、分页、IO等多类信息(使用手册页) size 列出目标文件段大小和总大小(使用手册页)

2./proc文件系统(使用手册页man 5 proc) /proc/meminfo 内存状态信息 /proc/stat 包含内存页、内存对换等信息。 /proc/$pid/stat 某个进程的信息(包含内存使用信息) /proc/$pid/maps某个进程的内存映射区信息,包括地址范围、权限、偏移量以及主次设备号和映射文件的索引节点。 /proc/$pid/statm 某个进程的内存使用信息,包括内存总大小、驻留集大小、共享页面数、文本页面数、堆栈页面数和脏页面数。 3.内存映像文件 内存映像文件是指把一个磁盘文件映像到内存中,二者存在逐字节的对应关系。这样做可以加速I/O操作,并可以共享数据。 3.1 mmap(建立内存映射) 表头文件#include #include 定义函数void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize); 函数说明mmap()用来将某个文件内容映射到内存中,对该内存区域的存取即是直接对该文件内容的读写。参数start指向欲对应的内存起始地址,通常设为NULL,代表让系统自动选定地址,对应成功后该地址会返回。参数length代表将文件中多大的部分对应到内存。 参数prot代表映射区域的保护方式有下列组合 PROT_EXEC 映射区域可被执行 PROT_READ 映射区域可被读取 PROT_WRITE 映射区域可被写入 PROT_NONE 映射区域不能存取 参数flags会影响映射区域的各种特性 MAP_FIXED 如果参数start所指的地址无法成功建立映射时,则放弃映射,不 对地址做修正。通常不鼓励用此旗标。 MAP_SHARED对映射区域的写入数据会复制回文件内,而且允许其他映射该 文件的进程共享。 MAP_PRIV A TE 对映射区域的写入操作会产生一个映射文件的复制,即私人的

操作系统精髓与设计原理-第12章-文件管理

第12章文件管理 复习题: 12.1、域和记录有什么不同? 答:域(field)是基本数据单位。一个域包含一个值。记录(record)是一组相关的域的集合,它可以看做是应用程序的一个单元。 12.2、文件和数据库有什么不同? 答:文件(file)是一组相似记录的集合,它被用户和应用程序看做是一个实体,并可以通过名字访问。数据库(database)是一组相关的数据集合,它的本质 特征是数据元素间存在着明确的关系,并且可供不同的应用程序使用。 12.3、什么是文件管理系统? 答:文件管理系统是一组系统软件,为使用文件的用户和应用程序提供服务。12.4、选择文件组织时的重要原则是什么? 答:访问快速,易于修改,节约存储空间,维护简单,可靠性。 12.5、列出并简单定义五种文件组织。 答:堆是最简单的文件组织形式。数据按它们到达的顺序被采集,每个记录由一串数据组成。顺序文件是最常用的文件组织形式。在这类文件中,每个记录 都使用一种固定的格式。所有记录都具有相同的长度,并且由相同数目、长度 固定的域按特定的顺序组成。由于每个域的长度和位置已知,因此只需要保存 各个域的值,每个域的域名和长度是该文件结构的属性。索引顺序文件保留 了顺序文件的关键特征:记录按照关键域的顺序组织起来。但它还增加了两个 特征:用于支持随机访问的文件索引和溢出文件。索引提供了快速接近目标记 录的查找能力。溢出文件类似于顺序文件中使用的日志文件,但是溢出文件中 的记录可以根据它前面记录的指针进行定位。索引文件:只能通过索引来访 问记录。其结果是对记录的放置位置不再有限制,只要至少有一个索引的指针 指向这条记录即可。此外,还可以使用长度可变的记录。直接文件或散列 文件:直接文件使用基于关键字的散列。 12.6、为什么在索引顺序文件中查找一个记录的平均搜索时间小于在顺序文件中的平均 搜索时间? 答:在顺序文件中,查找一个记录是按顺序检测每一个记录直到有一个包含符合条件的关键域值的记录被找到。索引顺序文件提供一个执行最小穷举搜索的索引 结构。 12.7、对目录执行的典型操作有哪些? 答:搜索,创建文件,删除文件,显示目录,修改目录。 12.8、路径名和工作目录有什么关系? 答:路径名是由一系列从根目录或主目录向下到各个分支,最后直到该文件的路径 中的目录名和最后到达的文件名组成。工作目录是一个这样的目录,它是含有用 户正在使用的当前目录的树形结构。 12.9、可以授予或拒绝的某个特定用户对某个特定文件的访问权限通常有哪些? 答:无(none),知道(knowledge),执行(execution),读(reading),追加(appending), 更新(updating),改变保护(changing protection),删除(deletion)。 12.10、列出并简单定义三种组块方式。 答:固定组块(fixed blocking):使用固定长度的记录,并且若干条完整的记录被保存在一个块中。在每个块的末尾可能会有一些未使用的空间,称为内部碎片。

操作系统文件管理系统模拟实验

文件管理系统模拟 1.实验目的 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现 2.实验内容 为Linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少4条) login 用户登录 dir 列文件目录 create 创建文件 delete 删除文件 open 打开文件 close 关闭文件 read 读文件 write 写文件 (2)列目录时要列出文件名、物理地址、保护码和文件长度; (3)源文件可以进行读写保护。 3.实验提示 (1)首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。 (2)用户创建的文件,可以编号存储于磁盘上。入file0,file1,file2…并以编号作为物理地址,在目录中进行登记。 4.源代码 #include #include #include #define MEM_D_SIZE 1024*1024 //总磁盘空间为1M #define DISKSIZE 1024 //磁盘块的大小1K #define DISK_NUM 1024 //磁盘块数目1K #define FATSIZE DISK_NUM*sizeof(struct fatitem) //FAT表大小 #define ROOT_DISK_NO FATSIZE/DISKSIZE+1 //根目录起始盘块号 #define ROOT_DISK_SIZE sizeof(struct direct) //根

1实验室管理体系文件

1实验室管理体系文件-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

●实验室体系文件 实验室管理手册 (按ISO/TS16949:2009要求) 文件编号: WI/QU-003 版本号: A/0 编制/日期:/2010-03-01 审批/日期: /2010-03-01 受控状态/受控号:持有者:

目录 1.目 的……………………………………………………………………………………………………… ………3/4 2. 适用范围…………………………………………………………………………………………………………3/4 3. 术语和定义………………………………………………………………………………………………………3/4 4. 实验室方针………………………………………………………………………………………………………3/4 5. 实验室目标………………………………………………………………………………………………………3/4 6.职责和权限……………………………………………………………………………………………………… 3/4 7.实验室管理作业内容规定………………………………………………………………………………………4/4 7.1日常计量管理规定………………………………………………………………………………………………4/4 7.2外部实验室的管理………………………………………………………………………………………………4/4 本手册的附件: 附件A: 通用计量器具的管理………………………………………………………………………………1/10附件B:专用检具和专用测试设备的管理…………………………………………………………………1/3

操作系统文件系统实验

实验四文件系统实验 一.实验题目: 文件系统实验 二.实验目的: 阅读并调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。 了解设计一个n个用户的文件系统,每个用户可以保存M个文件。用户在一次运行中只能打开一个文 件,对文件必须设置保护措施,且至少有create、delete、open、close、read、write等命令. 三.实验设备及环境: 1. 硬件设备:PC机一台 2. 软件环境:安装Windows操作系统,C语言软件。 四.实验内容及要求: 在阅读所给文件系统源程序的基础上,画出其实现的详细流程图,并给出有关的数据结构和说明。 五. 实验方法内容 1.算法流程图

(2)void Execute(int i,int len,int cmdset)执行命令函数流程图 (3)创建文件

(4)写文件流程图 (5)修改文件执行权限 (6

2.主要的常量变量 char cmd[64]; //存放用户输入命令 char buffer[36]; char user[32];//存放当前登陆的用户名 typedef char ALFA[12]; ALFA KWORD[keynum]; struct UFD{//用户文件管理模块 char filename[32]; //文件名 int safecode; //文件保护码 long length; //文件长度 }*curfile = NULL; struct MFD{//用户登陆信息管理模块 char username[32]; //用户名 bool filepoint; //用户目录下的文件指针,false表示目录为空,true为该用户目录中有文件 }*curuser = NULL,*elseuser=NULL; typedef UFD UFD; typedef MFD MFD; 3.主要模块 void KeyWord()//初始化命令关键字 int LoginDisplay() //登陆选项操作函数 bool Login(int SELETE)//用户登陆,注册函数 void DisplayUFD()//打印用户信息,包括用户的各个文件 //名称、长度和操作权限的设置信息 void ByeFile(bool BOOL)//注销函数,调用次函数用户可以退出系统 bool ClearUserFile()//用户要将自己的注册目录从系统彻底删除 //首先将该用户目录下的全部文件删除 void ClearUserMes()//删除用户全部信息 void CreatFile()//在当前用户目录下创建文件 void DeleteFile() //删除当前目录下一个文件的操作 void ListAllFile()//显示当前用户目录下的文件信息 bool QueryModElse(bool BOOL,bool &flag)//查询其它用户目录下文件的文件 //当该文件的权限允许当前用户对其执行有关操作时,返回ture bool QueryMod(bool BOOL)//查询权限 bool WriteRight(int len,bool BOOL)//查看是否已经正确地写入到该文件信息中 void WriteLengthToFile(int Len,bool BOOL)//将文件长度写入文件管理模块中 void WriteFile()//向文件写入信息的操作 void ReadFile()//读文件函数 void ChangeMod()//修改某文件的执行权限 void Execute(int i,int len,int cmdset)//执行命令函数 void Command()//读取用户输入的命令,并将其转换成系统能识别的命令 void main() 4.代码 /***************************************************************** * 文件名: Simple_file_system.c * 功能: 简单文件管理系统模拟程序 *******************************************************************/ #include #include #include #include #include "conio.h" #include #define NULL 0 #define keynum 10 #define getspace(type) (type*)malloc(sizeof(type)) char cmd[64]; //存放用户输入命令 char buffer[36];//

操作系统课程设计-文件管理实验报告

操作系统课程实验报告 2013~2014年度第1学期 院系: 学号: 姓名: 任课教师:成绩评定:实验一题目:文件管理

完成日期:年月日 1、实验目的 了解文件管理的功能和任务,理解文件系统组成和特点,熟悉文件系统的访问和操作。实验要求用高级语言编写和调试一个简单的模拟文件管理程序。加深理解有关盘块的分配与回收、目录管理等的具体实施策略。 2.、实验内容 模拟一个资源管理器进行文件操作,包括建立和删除目录、建立和删除文件等基本文件操作。建立相应的数据结构(如:位示图等),模拟盘块管理。可以参照图6界面进行设计。 3、算法设计 1)、定义主面板MainFrame,布局好各个控件,并初始化 /* * 往node节点下添加一个子节点obj; */ public void addChild(Object obj, DefaultMutableTreeNode node) { if (obj != null && node != null) { DefaultMutableTreeNode temp = new DefaultMutableTreeNode(obj); if (node.getAllowsChildren()) node.add(temp); if(!((String) obj).equals("A:\\") && ((String) obj).length() <= 3)// 防止读取A软

驱,会出现异常;用于初始用的; addChildren(cmd.listAll((String) obj), temp); } } /* * 在node节点下添加数组children; */ public void addChildren(String[] children, DefaultMutableTreeNode node) { if (children != null && node != null) { for (int i = 0; i < children.length; i++) { addChild(children[i], node); } } } /* * 对树的节点进行预提取; */ public void addPrefetchChildren(String path, DefaultMutableTreeNode node) { addChildren(cmd.listDirectory(path), node); } /* * 对路径路径进行连接;(已经获得了所有的整个路径,需要量转化) */ public String toFilePath(String str) { // 先去掉头尾的[]; String pa = str.substring(1, str.length() - 1); String[] temp = pa.split(", "); String path = ""; for (int i = 1; i < temp.length; i++) { if (!path.endsWith("\\") && !path.equals(""))// 不为空是为去根节点; path += "\\"; path += temp[i]; } return path; } public String toPFilePath(String str) { // 先去掉头尾的[]; String pa = str.substring(1, str.length() - 1); String[] temp = pa.split(", "); String path = "";

相关主题