- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计说明书 题目: 模拟DOS文件的建立与使用 摘 要 操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。 文件管理是操作系统的五大职能之一,主要涉及文件的逻辑组织和物理组织,目录的结构和管理。所谓文件管理,就是操作系统中实现文件统一管理的一组软件、被管理的文件以及为实施文件管理所需要的一些数据结构的总称(是操作系统中负责存取和管理文件信息的机构)文件管理是操作系统中一项重要的功能。其重要性在于,在现代计算机系统中,用户的程序和数据,操作系统自身的程序和数据,甚至各种输出输入设备,都是以文件形式出现的。可以说,尽管文件有多种存储介质可以使用,如硬盘、软盘,光盘,闪存,记忆棒,网盘等等,但是,它们都以文件的形式出现在操作系统的管理者和用户面前。 磁盘管理是一项计算机使用时的常规任务,它是以一组磁盘管理应用程序的形式提供给用户的 目 录 1 设计目的 1 2 设计要求 1 2.1 模拟设计DOS操作系统中磁盘文件的存储结构 1 2.1.1算法分析: 2 2.2 模拟设计便于直接存取的索引文件结构 3 2.2.1算法分析: 4 3 模拟算法的实现 5 3.1流程图 5 3.1.1主窗口(main函数) 5 3.1.2直接存取的索引文件结构 6 3.2程序源代码 7 3.3运行效果图 12 总结 14 参考文献 15 1 设计目的 磁盘文件是磁盘上存储的重要信息,通过本实验模拟DOS文件的建立和使用情况,理解磁盘文件的物理结构。文件管理是操作系统中重要的内容之一,不同的文件系统提供了不同的物理结构,通过实验,深入理解文件的物理结构与存取方法之间的关系,以便更好的掌握文件系统的概念。 2 设计要求 2.1 模拟设计DOS操作系统中磁盘文件的存储结构 DOS操作系统对磁盘文件的管理采用链接结构,将所有的链接指针集中在一起,存放在文件分配表(FAT)中。连接文件的第一个物理块号登记在文件目录中。其设计思想是:假定磁盘上共有N个物理块可供使用,当要存放文件时,从FAT表中寻找其值为0的项,用其对应的物理块存放文件信息,并把文件占有的各物理块用链接指针登记在FAT表中,再把文件的第一个物理块号登记在文件目录中。 文件目录及FAT表如图所示: 图2-1 在DOS中FAT表的前两项用来记录磁盘的类型。而从第2项开始记录磁盘的分配情况和文件各物理块的链接情况。在FAT表中第三项的值如果为0,表示对应的第三块空闲。由图还知道文件A的各记录依次存放在第2、第4、第15、第16、第50等六个物理块中。第50块中的指针为FFF,表示文件A的结束。文件B的各记录依次存放在第7、第10、第20等三个物理块中。第20块中的指针为FFF。 假定磁盘存储空间共有100个物理块,设计一个文件分配表。为了简单,文件分配表可用一个数组定义,其中每一个元素与一个物理块对应。当第 i 个元素为 0 时,表示第 i 块空闲;当第 i 个元素既不为 0 也不为 FFF 时,其值表示该文件的下一个物理块号。另外,再设一个空闲块总数变量记录系统还有的空闲块数。为了简单,假定一个物理块指存放一个逻辑记录,要求设计一个程序,把文件的逻辑记录结构转换成 DOS 的链接结构。当用户要求将已在主存的文件保存在磁盘上时,给出文件名及文件的记录个数,系统应能在磁盘上正确地保存文件。或当用户要求给指定文件增加记录时,也应正确的实现,并插在指定记录之后。 为了正确地执行模拟程序,可用键盘模拟输入用户的要求。输入格式为: write(文件名,记录个数) 或i nsert(文件名,逻辑记录号) 2.1.1算法分析: void write(char *tmpname,int tmplength) { int last,i,j; strcpy(file[filenumber].name,tmpname);//复制文件名和文件块个数 file[filenumber].length=tmplength; for(i=2;iN;i++){ //存文件 if(FAT[i]==0){ file[filenumber].start=i;//首个空闲块为文件开始块 last=i; FAT[last]=FFF; break; } } for(i=1;itmplength;i++){ //last为上个记录的位置 for(j=2;jN;j++) if(F
您可能关注的文档
- 毕业论文-泵相关实验_流体实验台设计.doc
- (非常不错)管理信息系统课程设计--超市信息管理系统.doc
- 《电工电子综合》课程设计说明书--简易数码锁的课程设计.doc
- 《电子技术》课程设计报告--交通灯数电课程设计报告.doc
- 《热处理设备》课程设计任务书--设计950℃120kgh的箱式电阻炉设计.doc
- 《数据结构》课程设计报告--停车场管理.doc
- 《数据库原理及应用》课程设计指导书《DBS201》课程设计指导书.doc
- 【毕业设计(论文)】RIP_OSPF_BGP三大协议运行原理以及环路解决方案.doc
- 【毕业设计】步进电机正反转设计--单片机课程设计论文.doc
- 【毕业设计】热能专业毕业设计135MW机组电厂初设及制粉系统设计.doc
文档评论(0)