共两个不同设计例子,都含详细的文档资料。
任务2.设计一个简单的二级文件系统设计要求:在任一OS下,建立一个大文件,把它假象成硬盘,在其中实现一个简单的模拟文件系统。
编写一管理程序对此空间进行管理,要求:1.实现盘块管理2.实现文件的读写操作3.每组最多2人,小组内要有明确分工,课程设计报告中设计部分可以相同,个人实现部分不同参考建议:将模拟硬盘的文件空间划分为目录区,文件区;
采用位示图进行空间管理,盘块的分配使用显示链接(FAT表)的方式。
设计技术参数(数据结构)参考:#defineMaxSize100#defineDisk512//每个盘块大小为512bit#defineNumDisk2048//有2048个盘块,既可分配空间为1M/*************目录和文件的结构定义***********************/structDirectoryNode{charname[9];/*目录或文件的名字*/inttype;/*0代表目录,1代表普通文件*/structDirectoryNode*next;/*指向下一个兄弟结点的指针*/structDirectoryNode*preDirFile;/*指向父结点的指针*/structDirectoryNode*subFile;/*指向第一个子结点的指针*/intsize;/*如果是文件则表示文件的大小*/intfirst;/*起始盘块号*/intlast;/*末尾盘块号*/intorder;/*备用*/};//连续分配structFileSys{intVacTable[NumDisk];//空闲表,0为空闲,1为被用structDirectoryNoderoot;//根目录structDirectoryNodeDirectory[NumDisk];}*filesys;typedefstruct{structDirectoryNode*DirFile;charname[9];}DataType;//包含一个指向目录的指针和名字typedefstruct{//队列结构的实现DataTypedata[MaxSize];intfront,rear;//分别表示队列的头结点和尾结点}Tp;voidInitQueue(Tp*sq)//队列初始化intEnAddQueue(Tp*sq,DataTypedata)//在队列中增加元素DataTypeEnDelQueue(Tp*sq)//从队列中删除一个元素intEmpty(Tp*sq)//判断队列是否为空,返回0表示队列为空①.Dir:显示目录内容命令,显示当前目录下的文件和子目录。
②.Md:创建目录操作。
③.Create:创建文件,在当前目录下创建一个文件。
④.all:显示从根目录开始的所有目录和文件及其层次结点。
⑤.Cd:改变目录。
⑥.Del:删除文件操作。
⑦.Rd:删除目录操作,删除当前目录下的子目录。
⑧.Ren:重命名函数⑨.Exit:退出命令
1
操作系统接口:Windows命令接口2。
(2人)为Windows操作系统建立兼容的DOS命令接口,文件与目录命令;
具体命令:DIR,RD,CD,MD,DEL,MOVE,REN,XCOPY,命令格式可参照Windows的CMD.EXE或MS-DOS提供的命令;
设计命令的名称、参数等格式。
可以字符形式接收命令,执行命令,然后显示命令执行结果;
2025/1/30 5:43:08 973KB 操作系统接口
1
Sass3.4.21中文手册.CHM、Sass中文手册-手册网(www.shouce.ren)
2024/7/15 10:39:24 188KB Sass
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡