操作系统实验课堂介绍2010.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统实验课堂介绍2010

2006年 操作系统复习 操作系统实习 南京工业大学信息学院计算机系 实验题目 基本要求 设计方案 目录项(FCB)结构 根目录 用户已打开文件表(UOF) 当前目录curpath数据结构 删除文件恢复表udtab数据结构 全局变量ffbp和Udelp 定义的若干符号常量 实验任务 学生应提交的实验材料 * * 文件管理系统的设计 实验目的 了解有关文件管理的知识; 理解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 采用FAT文件格式 : short FAT[5000] 为了设计程序方便,本系统的FAT表用short型数组FAT[K]表示。FAT[0]中存储空闲盘块数。 磁盘空间用字符数组Disk[K][SIZE] (其中K为盘块号,SIZE为每个盘块的字节数,即盘块的容量)表示。本系统设定磁盘块容量为SIZE=64。 (2字节) (2字节) (1字节) (11字节) 文件长度 首块号 属性 文件名 struct FCB //每个目录项16个字节 { char FileName[11]; //文件名最多10个字符且以\0结尾 char Fattrib; //文件属性 short int Addr; //文件首块号 short int Fsize; //文件长度 }; 详细说明参见《指导书》 0/1 0/1 0/1 0 0/1 0 0 0 D0 D1 D2 D3 D4 D5 D6 D7 1表示目录 1表示系统 1表示隐藏 1表示只读 目录项中的属性字节: 本系统的根目录存储在1~30号盘块中,即存储在Disk[1]~Disk[30]的盘块中。因每个盘块64B,每个目录项16B,故每个盘块可存储4个目录项,因此本系统根目录中的文件目录项及子目录项最多共计120个。 从31号盘块开始为文件区,用于存储文件及子目录。子目录中的文件目录项个数任意(即不受“最多120个”的限制),只要磁盘文件区有空余空间。 设置一张“用户已打开文件表”(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个文件。 struct CurPath { short int fblock; //当前目录的首块号 char cpath[PATH_LEN]; //当前目录路径名 }; 当前目录用全局变量CurPath curpath存储。 根目录的路径字符串cpath是“/”,首块号为1。 struct UnDel //恢复被删除文件信息表的数据结构 { char gpath[PATH_LEN]; //被删除文件的全路径名(不含文件名) char ufname[FILENAME_LEN]; //被删除文件名 short ufaddr; //被删除文件的首块号 short fb; //存储被删除文件块号的链表头指针 }; 本系统的被删除文件恢复表用全局数组udtab存储,定义为:UnDel udtab[40]; 退出系统时,该数组以文件名“UdTab2008.dat”存盘,以便下次启动时调入使用。 fb所指的盘块中记录了对应的被删除文件的所有盘块号(包括文

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档