课程设计说明书设计名称:操作系统课程设计题目:文件访问接口设计学生姓名:陈小浪专业:计算机科学与技术班级:12级1班学号:2012314118指导教师:任朝晖日期:2014年9月15日佛山科学技术学院课程设计用纸课程设计任务书计算机科学与技术专业年级班一、设计题目文件访问接口设计二、主要内容利用C语言设计,具体包括:1、基本文件内容输入2、基本文件内容输出3、创建文件4、打开文件5、关闭文件6、文件缓冲区管理7、文件句柄管理8、读顺序文件9、写顺序文件10、读随机文件11、写随机文件12、文本文件操作验证程序上述功能由两部分程序验证,中断驻留程序和验证程序。首先运行中断驻留程序,然后运行验证程序得到预期结果。三、具体要求本设计的目的是通过BIOS调用设计简单的文件访问接口,使学生掌握程序接口的设计方法。要求学生在熟悉比BIOS、DOS操作系统的中断接口及程序接口的基础上,利用C语言设计简单的文件访问接口,最后通过程序验证接口的正确性。四、进度安排依照教学计划,课程设计时间为:2周。1.要求讲解、资料查找、系统分析,概要设计(2天)2.系统详细设计、功能设计(2天)3.算法实现、编程调试(5天)4.功能演示、资料整理、课程设计说明书编写。(1天)五、完成后应上交的材料课程设计说明书纸质文档六、总评成绩指导教师签名日期年月日系主任审核日期年月日佛山科学技术学院课程设计用纸目录一、程序概述...........................................................................................................................................................11.1完成的任务................................................................................................................................................11.2解决的问题.................................................................................................................错误!未定义书签。二、概念原理...........................................................................................................................................................12.1基本概念....................................................................................................................................................12.2基本原理....................................................................................................................................................2三、总体设计...........................................................................................................................................................23.1实现方法....................................................................................................................................................23.2技术路线....................................................................................................................................................3四、详细设计...........................................................................................................................................................34.1主要函数....................................................................................................................................................34.2引用函数.....................................................................................................................错误!未定义书签。五、完成情况...........................................................................................................................................................3六、使用说明...........................................................................................................................................................4七、设计总结...........................................................................................................................................................17.1系统特色..................................................................................................................................................267.2经验教训..................................................................................................................................................277.3实践感受..................................................................................................................................................27参考资料.................................................................................................................................................................28附录.................................................................................................................................................................29佛山科学技术学院课程设计用纸1一、程序概述1.1完成的任务本设计要求编写一个简单的文件访问接口设计,利用C语言,DOS,BIOS中断调用进行设计。主要完成要求中所提到的功能如:创建文件,删除文件,打开文件,关闭文件,基本文件内容输入,基本文件内容输出,读顺序文件,写顺序文件,文本文件操作验证程序,文件缓冲区管理的实现。1.2解决的问题在设计过程主要遇到了以下的问题:一是关于中断的理解,二是在理解了中断的意义之后,进行中断函数如int86(),int86x(),intdos(),intdos()等函数的调用不是很清晰。解决的过程:通过与同学讨论,在网上查阅了相关的书籍和学过的课本,如《C高级实用设计》以及《80x86汇编语言程序设计》之后,便有了比较清晰的思路。有关函数的调用参数的设计,基本上是基于这些:结构体WORDREGS,BYTEREGS,SREGS,联合体REGS,文件属性字节,以及汇编语言中int21Hdos系统功能调用中中断类型(主要是21H)以及调用功能号的查询和设置。下面主要介绍上述提及的几个结构体跟联合体://以字作为单位的寄存器所组合的结构体StructWORDREGS{Unsignedintax,bx,cx,dx,si,di,cflag,flags;};//以字节作为单位的寄存器做组合的结构体StructBYTEREGS{Unsignedcharal,ah,bl,bh,cl,ch,dl,dh;};//由上述两个结构体所组合的共用体(联合体)UnionREGS{StructWORDREGSx;StructBYTEREGSh;};//由段寄存器组合的结构体StructSREGS{Unsignedintes,cs,ss,ds;};二、概念原理2.1基本概念中断中断:顾名思义,是指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。本课题中涉及的为dos中断跟bios中断。文件访问接口所谓访问接口,实际上即为用户通过dos状态下的提示,键入相关命令后,作为访问相关文件操作的中介,即类似一个中转站。而系统同时也需要在响应了用户键入的命令后执行预先编写好的相应程序,并佛山科学技术学院课程设计用纸2将程序的执行结果通过中介,即文件访问接口,输出给用户。而事实上在系统响应一次用户的命令时,系统进行了一次IO中断。中断驻留程序中断驻留程序,指的是当加载进内存的程序执行完毕后,依然能够保存产生的临时数据跟临时状态,而在下一次调用时继续执行。验证程序本课题的验证程序,指的是,当用dos,bios中断调用编写好相关用于文件访问的函数并执行之后,用C语言高级的函数如fopen(),fprintf(),fgetc(),fclose()等函数来验证上述编写的访问函数是否可行。本课题中用fopen(),fclose()来验证用dos中断调用所编写的函数CloseFile