- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验课堂介绍2010PPT
* * 操作系统实习 南京工业大学信息学院计算机系 实验题目 文件管理系统的设计 实验目的 了解有关文件管理的知识; 理解FAT16的存储格式; 掌握文件管理系统的开发方法。 基本要求 目录操作命令: cd [目录名] 改变当前目录 create 文件名 [属性] del 文件名 dir[ 目录名[ 属性]] md 目录名 rd 目录名 设计并实现以下文件和目录系统操作命令: 文件操作命令: open 文件名 write 文件名 [位置][insert] read 文件名 [位置m [字节数n]] close 文件名 type 文件名 copy 源文件名 目标文件名 ren 原文件名 新文件名 attrib 文件名[ 文件属性] 程序初始化时构造如图1所示的目录结构。 bin usr dev user lib bin li ma auto 图1 初始目录树 目录文件 普通文件 【图例说明】 根目录 sun 目录项(FCB)结构 文件名 属性 首块号 文件长度 (11字节) (1字节) (2字节) (2字节) struct FCB //每个目录项16个字节 { char FileName[11]; //文件名最多10个字符且以\0结尾 char Fattrib; //文件属性 short int Addr; //文件首块号 short int Fsize; //文件长度 }; 详细说明参见《指导书》 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0/1 0 0/1 0/1 0/1 1表示目录 1表示系统 1表示隐藏 1表示只读 目录项中的属性字节: 根目录 本系统的根目录存储在1~30号盘块中,即存储在Disk[1]~Disk[30]的盘块中。因每个盘块64B,每个目录项16B,故每个盘块可存储4个目录项,因此本系统根目录中的文件目录项及子目录项最多共计120个。 从31号盘块开始为文件区,用于存储文件及子目录。子目录中的文件目录项个数任意(即不受“最多120个”的限制),只要磁盘文件区有空余空间。 用户已打开文件表(UOF) 设置一张“用户已打开文件表”(UOF),用于记录用户当前正在使用文件的情况。 struct UOF { //定义用户打开文件表的结构 char fname[PATH_LEN]; //文件全路径名 char attr; //文件属性,1=只可读;0=可读写 short int faddr; //文件的首块号 short int fsize; //文件大小(字节数) FCB *fp; //指向该文件的目录项指针 short int state; //状态:0=空表项;1=新建;2=打开 short int readp; //读指针,0=空文件 short int writep; //写指针 }; 本程序中,用户打开文件表用数组UOF uof[32]表示,即最多允许同时打开32个文件。 当前目录curpath数据结构 struct CurPath { short int fblock; //当前目录的首块号 char cpath[PATH_LEN]; //当前目录路径名 }; 当前目录用全局变量CurPath curpath存储。 根目录的路径字符串cpath是“/”,首块号为1。 删除文件恢复表udtab数据结构 struct UnDel //恢复被删除文件信息表的数据结构 { char gpath[PATH_LEN]; //被删除文件的全路径名(不含文件名) char ufname[FILENAME_LEN]; //被删除文件名 short ufaddr; //被删除文件的首块号 short fb; //存储被删除文件块号的链表头指针 }; 本系统的被删除文件恢复表用全局数组udtab存储,定义为:UnDel udtab[40]; 退出系统时,该数组以文件名“UdTab2008.dat”存盘,以便下次启动时调入使用。 fb所指的盘块中记录了对应的被删除文件的所有盘块号(包括文件首块号)。由于只用一个盘块存储被删除文件的块号,因此只适用于盘块数不超过31的情况(以-1作为结束标记)。 功能完整程序OS实验.exe中已作了如下改进: udtab表存于Disk[][]的一片连续盘块空间; 修改了struct UnDel,使之包含FCB的全部信息,这样即使原先的目录项位置已被占用,仍可能恢复该文件; 文件的块号允许用多个盘块存储,即被删除文件长度不受最多31个盘块的限制。 盘块大小改为256B, UnDel表项128B,
您可能关注的文档
- 抗心功能不全的药物PPT.ppt
- 抗原讲义PPT.ppt
- 抗原抗体反应及应用7PPT.ppt
- 抗体综述PPT.ppt
- 抗心律失常药物临床应用PPT.ppt
- 抗生素治疗原则(法06-03)PPT.ppt
- 抗肿瘤药研究新进展PPT.ppt
- 抗原递呈细胞及抗原递呈PPT.ppt
- 抗菌药物临床应用与管理制度PPT.ppt
- 抗菌药物临床应用的基本原则及分级管理PPT.ppt
- 安全生产考核奖惩制度3篇.doc
- 颅脑损伤病人的护理查房【优质公开课】精品PPT课件模板.pptx
- 二零二二年度德州继续教育公需科目《公共事务管理与服务能力》试题及答案.pdf
- 二零二二年度党风廉政建设知识竞赛题库(含答案).pdf
- 二零二二年度度枣庄市专业技术人员继续教育公需科目培训班互动题.pdf
- 二零二二年度儿童保健学试题库(含答案).pdf
- 二零二二年度第十九届中国东南地区数学奥林匹克竞赛高一试题(含答案).pdf
- 二零二二年度动物卫生监督题库(含答案).pdf
- 黑龙江省大庆市重点中学2023-2025学年高一下学期2月开学考试英语试题(含解析).docx
- 二零二二年度法检书记员招考《公基》测试题库(含答案).pdf
文档评论(0)