版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统课程设 计指导书(试用版)内蒙古工业大学信息工程学院计算机系2009 12操作系统课程设计教学大纲 3第一章 设计规范与说明511设计规范51. 2报告的整理与形成.* 6第二章设计内容 72. 1文件系统的设计与实现722银行家算法的设计与实现92. 3主存空间的分配与回收11:2.4外理机管理 16内蒙古工业大学课程设计任务书(一) 19内蒙古工业大学课程设计任务书(二) 20内蒙古工业大学课程设计任务书(三) 21内蒙古工业大学课程设计任务书(四)” 22内蒙古工业大学课稈设计(论文)说明书书写规范 卡 23附录一模拟文件系统实践示例: 26附录二 银行家算法实践示例: 43附录
2、三 可变式分区的分配与回收实践示例: 49附录四时间片轮转法进行 CPU 调度的示例:; 54操作系统课程设计教学大纲课程类别:技术基础课开出单位 (系):计算机课程英文名称: Operating System of computer开出学期: 第五学期 系适用专业:软件工程制定人:赵俊生、马志强一、制定依据根据内蒙古工业大学 2006 版培养方案、操作系统课程教学大纲等制订本课程设计教学大纲。二、目的与基本要求1 目的操作系统课程设计是操作系统课程的重要实践性环节。 通过小型文件系统、 银行家算法、 主存空间的分配与回收和处理机管理的设计与实现, 可以加深学生对课堂中所讲 授内容的理解, 培
3、养学生的系统开发能力, 加强学生的项目经验, 使学生初步具有研究、 设计、编制和调试操作系统模块的能力。2 基本要求根据操作系统课程设计任务书所确定的设计内容, 每位同学选择其中一个设计题 目进行一周的设计, 针对设计内容查阅相关资料、 进行理论分析、 确定相应算法并编程实现 原型系统; 完成原型系统后, 按照内蒙古工业大学课程设计说明书书写规范, 编写操 作系统课程设计说明书;最后进行课程设计答辩。三、基本内容和安排1. 基本内容题目一:文件系统的设计与实现题目二:银行家算法的设计与实现题目三:主存空间的分配与回收题目四:处理机管理2. 安排周一:布置、讲解题目,收集资料;周二:系统分析,算
4、法设计;周三:编制、调试程序;周四:测试系统,形成设计结论,编写课设报告; 周五:系统及材料验收,课设答辩。四、组织及指导方式1. 学生的组织本课设安排四个题目, 学号为单号学生选择题目一或三进行设计, 学号为双号学生选择题目二或四进行设计,一人一组,设计过程中可以相互讨论。2. 指导方式每班指导教师两人,每人指导一题,跟班指导。五、考核方式及成绩评定1. 考核方式成绩考核采取面试答辩形式。2. 成绩评定由指导教师根据学生在设计中的表现、任务的完成情况、课程设计报告的质量等综合评定。评分标准为:1)完成基本功能占 60% ; 2)设计报告占 20% ;3)出勤率占 10% ; 4 )回答指导教
5、师提问占 10% 。根据以上四个标准,课程设计成绩按优秀、良 好、中等、及格和不及格五级记分制评定。六、教材及主要参考资料1. 教材1 张尧学主编计算机操作系统教程(第三版) 北京 : 清华大学出版社, 20062. 主要参考书1 张尧学编计算机操作系统教程(第三版)习题解答与实验指导北京 清华大学出版社, 20062 汤子瀛主编计算机操作系统(第三版) 西安 : 西安电子科技大学出版 社, 20013 张坤等编操作系统实验教程北京 : 清华大学出版社, 20084 张丽芬等编操作系统实验教程北京 : 清华大学出版社, 20065 Andrew S.Tanenbaum. Modern Oper
6、ating Systems, SecondEdition.Englewood Cliffs,N.J,Prentice Hall, 20016 屠祁等编 . 操作系统基础(第三版) 北京 : 清华大学出版社, 20007 冯耀霖等编 . 操作系统 . 西安 : 西安电子科技大学出版社, 20018 左万历计算机操作系统教程(第二版)北京:高等教育出版社,2004第一章 设计规范与说明11 设计规范一、问题分析与系统结构的设计 充分地分析和理解问题本身。 本阶段主要解决 “要作什么, 限制条件是 什么 ”。首先从问题中抽取合适的数据结构,作为整个系统的底层,解决问题 的算法作为上层。定义数据的存储
7、结构及其在这些结构上的操作,使得在上层的应用中 可以通过这些操作完成对数据结构层的访问。在这个过程中,要综合考虑 系统功能,使所设置的操作要易于系统整体功能的实现。最后写出每个函数的规格说明,包括形参个数和类型、函数的返回类 型、函数的前提条件是什么、以及函数的功能。列出函数间的调用关系, 可以使用调用关系图表示则更加清晰,这样便完成了系统结构设计。二、详细设计和编码详细设计的目的是对函数的进一步求精。用if 、while 和赋值语句等类语言写出算法的框架。利用类语言的目的是避免陷入细节。在编码时, 可以对详细设计的结果进一步求精,用高级语言表示出来。应注意以下事 项。1程序的每一行最好不超过
8、 60 个字符。每个函数通常不要太长,以 40 行为宜。函数包含的程序行数太多,易于造成阅读困难。2变量定义为:名 + 类型。如: LinkList *firstLinkListPointer;其中first 为名 , 后面的 LinkListPointer 说明是链表指针类。3控制 if 、while 等语句的嵌套深度,最多不超过 5 层。4对每一段程序完成的作用,除非常明显的除外(如: x = x + 1; 注 释为 x 加 1,没有什么意义),都应加以注释。这会对程序的调试提供很 多 方便。5对每个数据结构和其函数要进行单元测试。6根据情况可以设立若干调试点, 即输出若干信息, 用于验证
9、和你的 设想是否一致。另外,对于输入输出语句,必须对它们的作用加以说明。 否则,在调试程序时, 无法了解系统需要输入说明, 系统输出的又是什么。三、静态检查 自己用一组数据手动执行程序;或和同学一起阅读自己的程序,以全 面地了解该程序的逻辑。12 报告的整理与形成一、调试报告 包括的内容有问题是如何解决的,讨论与分析、改进设想、经验与体 会、时空复杂度等。二、源程序清单和结果 打印的源程序清单和测试结果附在设计报告的后面。源程序必须有注 释,以及必要的测试数据和运行结果数据。注释提倡用英文描述。三、文档及资料的形成在程序开发过程中,逐步形成各种必要的文档及资料第二章 设计内容21 文件系统的设
10、计与实现一、设计目的 通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使 学生初步具有研究、设计、编制和调试操作系统模块的能力。二、设计要求与提示1问题描述在任一 OS 下,建立一个大文件,把它假想成一张盘,在其中实现一 个简单的小型文件系统。2基本要求该文件系统没有子目录机制, 文件连续分配, 不考虑换 “盘” 和分区。 做一个简单的操作界面,提供五条简单的命令:dir 、 mkfile 、 type 、 copy 、delfile ,分别用于显示文件目录、建立文件、显示文件内容、复制和删除 一个文件。三、设计思想、环境说明和使用工具1设计思想 建立一个系统文件(模拟盘) ,并对此
11、进行盘块的划分,第一个盘块 存放文件目录,第二盘块存放盘块位示图,自第三个盘块开始存放各具体 文件的内容,文件目录存放文件的名字,文件的扩展名,开始盘块号,所 占用的盘块数目,文件的大小;盘块位示图用来标记盘块是否被占用。2环境说明工具: C 语言。在 WINDOWS 环境下使用 VC+ 进行编译及运行四、主要的数据结构数据结构说明:struct filename char name9; char ext4; int i;号int Amount;数long int size; ;struct empty int map100;int filenum;五、课程设计应提交的主要内容文件目录项结构体
12、文件名扩展名文件所占用磁盘块的第一个磁盘块文件所占用磁盘块的块文件大小盘块结构体盘块位示图文件数量1写出实现文件管理的数据结构、算法和算法流程图2打印出程序清单。3写出程序调试及运行情况。4写出课程设计出现的问题及解决的方法。5课程设计的体会。22 银行家算法的设计与实现一、设计目的通过银行家算法设计与实现,可以加深学生对死锁的理解,掌握死锁 的预防、避免、检测和解除的基本原理,重点掌握死锁的避免方法银行 家算法。使学生初步具有研究、设计、编制和调试操作系统模块的能力。二、设计要求1问题描述系统在进行资源分配的过程中,允许进程动态的申请资源,为了避免 发生死锁,在分配资源前要进行安全性检查,若
13、此次分配不会导致系统进 入不安全状态,便将资源分配给进程,否则,进程等待。2基本要求设计一个进程动态请求资源的模拟系统,实现随机产生进程请求资源 的数量;资源安全性检查算法;资源的分配算法;以及输出显示每次请求 的结果和系统资源的状态。三、设计思想、环境说明和使用工具1设计思想输入当前进程资源的使用情况以及整个系统的资源使用情况,并进行 初始化安全性检查;如果是不安全状态,重新初始化系统;否则,从等待 队列中提取一个等待进程,使用银行家算法进行检测,输出当前系统的状 态和安全序列;如果是安全状态,系统继续从等待队列中提取等待进程进 行检查;如果是不安全状态,进程回到等待队列,系统从等待队列中提
14、取 等待进程进行检查。系统中申请资源的进程全部进入等待队列等候处理。2环境说明工具: C 语言。在 WINDOWS 环境下使用 VC+6.0 进行开发。四、主要的数据结构数据结构说明:#define MAX_RESOURCE_TYPE10 定义最大的系统资源类数struct task_struct 进程控制块intintpid;maxMAX_RESOURCE_TYPE;进程编号进程对资源的最大需求intallocMAX_RESOURCE_TYPE;进程已经分配的资源intrequestMAX_RESOURCE_TYPE;进程本次申请的资源数;等待队列采用链表结构进行设计。五、课程设计应提交的主
15、要内容 1写出实现银行家算法的数据结构、算法和算法流程图 2打印出程序清单。3写出程序调试及运行情况。4写出系统设计中出现的问题及解决的方法。5课程设计的体会。23 主存空间的分配与回收一、设计目的本设计题目主要让大家熟悉主存的各种分配与回收。所谓分配,就是 解决多道作业或多进程如何共享主存空间的问题。所谓回收,就是当作业 运行完成时,将作业或进程所占用的主存空间归还给系统。主存的分配与 回收的实现是与主存储器的管理方式有关的。通过本次设计,帮助学生理 解在不同的存储管理方式下,如何实现主存空间的分配与回收。使学生初 步具有研究、设计、编制和调试操作系统模块的能力。二、设计要求1问题描述采用可
16、变式分区管理,使用首次或最佳适应算法实现主存的分配与回 收。可以采用分区说明表或空闲区链来进行。可变式分区管理是指在处理作业过程中建立分区,使分区大小正好适 合作业的需要,并且分区个数是可以调整的。当要装入一个作业时,根据 作业需要的主存量,查看是否有足够的空闲空间,若有,则按需求量分割 一部分给作业;若无;则作业等待。随着作业的装入、完成,主存空间被 分割成许多大大小小的分区。有的分区被作业占用,有的分区空闲。2基本要求设计多个作业或进程动态请求内存资源的模拟系统,使用首次或最佳 适应算法实现内存的分配与回收,实现可变式分区管理;设计相应的内存 分配算法,定义相关数据结构,以及输出显示每次请
17、求分配内存的结果和 内存的已分配和未分配的状况。三、设计思想、环境说明和使用工具1 设计思想初始化系统的内存分区说明表;输入当前作业或进程的使用内存情 况,检索系统内的内存分区说明表,判断是否可分配,也就是查看是否有 足够的空闲空间,若有,则按需求量分割一部分给作业;若无;则作业等 待。随着作业的装入、完成,主存空间被分割成许多大大小小的分区。有 的分区被作业占用,有的分区空闲。使用内存的分配和回收算法进行,完 成所有作业或进程的内存使用请求,作业完成后回收其所占用的内存给系 统;并可输出查看内存的当前使用状况。例如,某时刻主存空间占用情况如图3-1所示。(1) 为了说明哪些分区是空闲的,可以
18、用来装入新作业,必须要有 张空闲区说明表,如表3-1所示。操作系统(10KB)图3-1主存空间占用情况3_1 空闲区说作业 1(10KB)作业 4(25KB)空闲区1(20KB)表作业 2(45KB)明表空闲区2(146KB)45K20KB110K146KB其中,起始地址指出各空闲区的主存起始地址,长度指出空闲区大小。状态有:未分配:该栏目是记录的有效空闲区。空表目:没有登记信息。由于分区个数不定,所以空闲区说明表中应有足够的空表目项。否则 造成溢出,无法登记。同样,再设一个已分配区表,记录作业或进程的主存占用情况。(2) 当有一个新作业要求装入主存时,必须查空闲区说明表,从中找出 一个足够大
19、的空闲区。有时找到的空闲区可能大于作业需求量,这时应将空 闲区一分为二。 一个分给作业; 另一个仍作为空闲区留在空闲区表中。为 了尽量减少由于分割造成的碎片,尽可能分配低地址部分的空闲区,将较大 空闲区留在高地址端,以利于大作业的装入。为此在空闲区表中,按空闲区 首地址从低到高进行登记。为了便于快速查找,要不断地对表格进行紧缩,即让“空表目”项留在表的后部。其分配框图如图3-2所示(3) 当一个作业执行完成时,作业所占用的分区应归还给系统。在归 还时要考虑相邻空闲区合并的问题。作业的释放区与空闲区的邻接分以下4 种情况考虑:A释放区下邻(低地址邻接)空闲区;B 释放区上邻(高地址邻接)空闲区;
20、C 释放区上下都与空闲区邻接;D 释放区与空闲区不邻接。首次适应算法回收框图如图33 所示。2 .环境说明工具: C 语言。在 WINDOWS 环境下使用 VC+6.0 进行开发。四、主要的数据结构数据结构说明: #define N 5 structfreearea * 定义一个空闲区说明表结构,并初始化变量* int startaddress; *空闲区始址 *int size ; * 空闲区大小 *int state ; * 空闲区状态: 0 为空表目, 1 为可用空闲块 * freeblockN=20 , 20,1, 80, 50,1, 150 , 100 , 1,300,五、课程设计应
21、提交的主要内容1 写出实现主存的分配和回收程序的数据结构、算法和算法流程图。2 打印出程序清单。3 写出程序调试及运行情况。4 .写出系统设计中出现的问题及解决的方法。5 .课程设计的体会。6自我评价与总结。24 处理机管理一、设计目的在多道程序或多任务系统中,系统同时处于就绪态的进程有若干个。也就是说能运行的进程数远远大于处理机个数。为了使系统中的各进程能 有条不紊地运行,必须选择某种调度策略,以选择一进程占有处理机。要 求学生设计一个模拟单处理机调度的算法,以巩固和加深处理机调度的概 念。二、设计要求1、问题描述 处理机管理是操作系统中非常重要的部分。为深入理解处理机调度部 分的功能,设计
22、一个按时间片轮转调度 CPU 的算法,模拟实现处理机的 调度。2基本要求时间片轮转调度 CPU 的算法是分时系统采用的典型算法,把 CPU 的 执行时间分成若干个一定大小的时间片轮流的分配给就绪队列的各个进 程,让各就绪进程按指定的顺序分别占用 CPU 的一个时间片轮流执行下 去,直至完成。要求定义进程控制块 PCB 的结构,并为每个进程任意确定 一个要求运行时间和到达时间,按照进程到达的先后顺序排成一个循环队 列。设计按时间片轮转的进程调度算法。三、设计思想、环境说明和使用工具1设计思想(1) 假设系统有 5 个进程,每个进程用一个进程控制块 PCB 来代表。 PCB 的格式如图 4-1 所
23、示。其中,进程名即进程标识。链接指针:指出下一个到达进程的进程控制块首地址。按照进程到达 的顺序排队。系统设置一个队头和队尾指针分别指向第一个和最后一个进 程。新生成的进程放队尾。估计运行时间、到达时间以及进程状态与图3-1中相同。(2) 为每个进程任意确定一个要求运行时间和到达时间。(3) 按照进程到达的先后顺序排成一个循环队列。再设一个队首指针 指向第一个到达进程的首址。(4) 执行处理机调度时,开始选择队首的第一个进程运行。另外再设 一个当前运行进程指针,指向当前正运行的进程。(5) 由于本实践是模拟算法,所以对被选中进程并不实际启动运行, 而只是执行: 估计运行时间减1 ; 输出当前运
24、行进程的名字。用这两个操作来模拟进程的一次运行。(6) 进程运行一次后,以后的调度则将当前指针依次下移一个位置,指向下一个进程,即调整当前运行指针指向该进程的链接指针所指进程,以指示应运行进程。同时还应判断该进程的剩余运行时间是否为0。若不为0,则等待下一轮的运行;若该进程的剩余运行时间为0,则将该进程的状态置为完成态 C,并退出循环队列(7) 若就绪队列不空, 则重复上述的 (5) 和 (6) 步骤直到所有进程都运行 完为止。(8) 在所设计的调度程序中,应包含显示或打印语句。以便显示或打 印每次选中进程的名称及运行一次后队列的变化情况。2环境说明 工具: C 语言。在 WINDOWS 环境
25、下使用 VC+6.0 进行编译及运行。四、主要的数据结构数据结构说明:typedef struct pcb进程控制块定义 char pnameN;进程名int runtime;运行时间int arrivetime;到达时间char state;进程状态struct pcb *next;链接指针PCB;五、课程设计应提交的主要内容1写出实现文件管理的数据结构、算法和算法流程图2打印出程序清单。3写出程序调试及运行情况。4写出课程设计出现的问题及解决的方法。5课程设计的体会。6自我评价与总结。内蒙古工业大学课程设计任务书(一)学院(系):信息学院计算机系课程名称:操作系统课程设计指导教师(签名):
26、专业班级:软件工程 09 学生姓名:学号:一、课程设计题目文件系统的设计与实现二、课程设计的目的通过设计一个小型文件系统,进一步掌握文件管理的方法和技术,使学生初步具有研究、设计、编制和调试操作系统模块的能力三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求等)原始数据:文件目录项结构体,盘块结构体。技术参数: Windows XP系统,VC+6.0开发工具。设计要求:1 .设计基于位示图的文件连续分配算法;2 .设计显示文件目录、 建立文件、显示文件内容、复制和删除文件算法;3 .画出以上算法流程图;4 .编程实现算法功能;5 编写课程设计说明书。工作量要求:完成以上
27、设计要求中的所有算法功能。四、工作进度安排周一:布置、讲解题目,收集资料;周二:系统分析,算法设计;周三:编制、调试程序;周四:测试系统,形成设计结论,编写课设报告; 周五:系统及材料验收,课设答辩。五、主要参考文献1 张尧学编.计算机操作系统教程(第三版)习题解答与实验指导.北京:清华大学出版社,20062 汤子瀛主编.计算机操作系统(第三版).西安:西安电子科技大学出版社,20013 张坤等编操作系统实验教程北京:清华大学出版社,2008审核批准意见系(教研室)主任(签字) 内蒙古工业大学课程设计任务书(二)学院(系):信息学院计算机系课程名称:操作系统课程设计 指导教师(签名): 专业班
28、级: 软件工程 09 学生姓名: 学号:一、课程设计题目银行家算法的设计与实现二、课程设计的目的通过银行家算法设计与实现,可以加深学生对死锁的理解,掌握死锁的预防、避免、 检测和解除的基本原理,重点掌握死锁的避免方法一银行家算法。使学生初步具有研究、设计、编制和调试操作系统模块的能力三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求等)技术参数:Windows XP 系统,VC+6.0开发工具。设计要求:1 .设计银行家算法的核心数据结构、安全性检查算法;2 .画出银行家算法流程图;3. 编程实现算法功能;4 .编写课程设计说明书。工作量要求:完成以上设计要求中的所有算
29、法功能。四、工作进度安排周一:布置、讲解题目,收集资料;周二:系统分析,算法设计;周三:编制、调试程序;周四:测试系统,形成设计结论,编写课设报告;周五:系统及材料验收,课设答辩。五、主要参考文献1 张尧学编.计算机操作系统教程(第三版)习题解答与实验指导. 北 京:清华大学出版社,20062 汤子瀛主编.计算机操作系统(第三版) .西安:西安电子科技大学 出版社,20013 张坤等编操作系统实验教程北京:清华大学出版社,2008审核批准意见系(教研室)主任(签字)内蒙古工业大学课程设计任务书(三)学院(系):信息学院计算机系课程名称:操作系统课程设计指导教师(签名):专业班级:软件工程 09
30、 学生姓名:学号:一、课程设计题目主存空间的分配与回收二、课程设计的目的通过该课程设计使学生理解在不同的存储管理方式下,如何实现主存空间的分配与回收。使学生初步具有研究、设计、编制和调试操作系统模块的能力。三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求等)原始数据:空闲区说明表结构体。技术参数: Windows XP系统,VC+6.0开发工具。设计要求:1 .设计基于空闲区说明表的可变分区分配与回收算法;2 .或设计基于空闲区链表的可变分区分配与回收算法;3 .画出以上算法流程图;4 .编程实现算法功能;5 编写课程设计说明书。工作量要求:完成以上设计要求中的所有算
31、法功能。四、工作进度安排周一:布置、讲解题目,收集资料;周二:系统分析,算法设计;周三:编制、调试程序;周四:测试系统,形成设计结论,编写课设报告; 周五:系统及材料验收,课设答辩。五、主要参考文献1 张尧学编.计算机操作系统教程(第三版)习题解答与实验指导.北京:清华大学出版社,20062 汤子瀛主编.计算机操作系统(第三版).西安:西安电子科技大学出版社,20013 张坤等编操作系统实验教程北京:清华大学出版社,2008审核批准意见系(教研室)主任(签字) 内蒙古工业大学课程设计任务书(四)学院(系):信息学院计算机系课程名称:操作系统课程设计指导教师(签名): 专业班级: 软件工程 09
32、 学生姓名: 学号:一、课程设计题目处理机管理二、课程设计的目的学生通过设计一个模拟单处理机调度的算法,以巩固和加深处理机调度的概念。使学生初步具有研究、设计、编制和调试操作系统模块的能力三、课程设计的主要内容和要求(包括原始数据、 技术参数、设计要求、工作量要求等)原始数据:进程控制块 PCB结构体。技术参数: Windows XP系统,VC+6.0开发工具。设计要求:1 .设计基于时间片轮转法的处理机调度算法;2 .或设计基于先来先服务或基于优先权的处理机调度算法;3 .画出以上算法流程图;4 .编程实现算法功能;5 编写课程设计说明书。工作量要求:完成以上设计要求中的所有算法功能。四、工
33、作进度安排周一:布置、讲解题目,收集资料;周二:系统分析,算法设计;周三:编制、调试程序;周四:测试系统,形成设计结论,编写课设报告;周五:系统及材料验收,课设答辩。五、主要参考文献1 张尧学编.计算机操作系统教程(第三版)习题解答与实验指导.北京:清华大学出版社,20062 汤子瀛主编.计算机操作系统(第三版).西安:西安电子科技大学出版社,20013 张坤等编操作系统实验教程北京:清华大学出版社, 2008审核批准意见系(教研室)主任(签字) 内蒙古工业大学课程设计(论文)说明书书写规范一、说明书(论文)基本格式说明书或论文一般不应少于 30005000字。说明书(论文)手写或打 印均可,
34、手写要书写工整。1、题目:题目要对论文的内容有高度的概括性,简明、易读。2、 摘要:中文在前,外文在后。中文摘要在200400字以内。关键 词35个,以分号相隔。3、目录:设计说明书(论文)目录应包括论文全部章节的标题(要求编到3级标题)和参考文献、附录(可选择)、页码右对齐。4、 正文:正文应按照目录所定的顺序依次撰写,要求计算准确,论述 清楚、简练、通顺,插图清晰,书写整洁。文中图、表及公式应规范地绘制和书写。5、插图:插图包括曲线图, 流程图,工艺图、设备图、框图,示意图, 图片等。插图序号用阿拉伯数字分章依序连续编排,每一插图都应有简短 确切的题名,连同图序置于图下,图序与图名之间空一
35、格,图名中不允许 使用标点符号,图名后不加标点符号。6、 插表:插表序号用阿拉伯数字分章依序连续编排,每一插表都应有简短确切的题名,表序与表名书写于表的正上方,表序与表名之间空一格,表名不允许使用标点符号,表名后不加标点符号。7、参考文献:著作图书文献书写格式如下:序号 作者姓名书名出版地出版者出版年:引用部分起止页 码学术刊物文献书写格式如下:序号 作者姓名文章名学术刊物名年,卷(期) :引用部分起止 页码序号 作者姓名论文题目(学位授予单位)学位论文年序号 发明者姓名专利名称专利公开号年二、打印要求1、 纸张及页面原则上用打印机打印输出。设计说明书(论文)纸张用 A4 标准纸, 版心尺寸为
36、:左边距 30mm ,右边距 25mm ,上边距 30mm ,下边距 25mm 。 行间距为 22 磅,即每页 32 行,每行 37 字。2、字体与字号 各章题序及标题为小二号黑体;各节的一级题序与标题为小三号黑 体,各节的二级题序及标题为四号黑体,各节的三级题序及标题为小四号 黑体,正文用小四号宋体。摘要、参考文献、等部分按章处理,即标题小 二号黑体,内容小四号宋体。目录的标题采用小二号黑体,内容为小四号 宋体。3、页码 设计说明书(论文)页码一律用阿拉伯数字连续编码,页码由第一章 的首页开始作为第 1 页,摘要、目录等不编排页码。三、装订顺序1、封面;(见附件)2、任务书;仅对论文)3、中
37、文摘要、英文摘要;4、目录5、正文;6、参考文献。 附件:课程设计封面课程设计题目: XXX学生姓名: XXX院:信息工程学院系别:计算机系专业:软件工程班级:软件 08-X指导教师: XXXXXX 副教授(或讲师) 教授(或讲师)200X 年 XX 月 XX 日附录一 模拟文件系统实践示例:#include "iostream. "C" void exit(int); struct filenamechar name9;char ext4;int i;文件目录项结构体文件名扩展名文件所占用磁盘块的第一个磁盘块号file11; int num;struct emp
38、ty int map11;int filenum;emptytable;模块说明:void SystemInit() for(int i=2;i<10;i+)emptytable.mapi=0;emptytable.map0=1;emptytable.map1=1;emptytable.filenum=0;FILE *fp;if(fp=fopen("filesys","wb+")=NULL) 系统文件将文件目录盘块和盘块结构体盘块位示图文件数量模拟磁盘文件初始化函数初始化存放位示图的盘块wb+: 为读写建立一个位示图盘块写入系统文件新 "
39、 文件;打开printf("can not open file n"); exit(0);fseek(fp,512L,0);fwrite(&emptytable,sizeof(struct empty),1,fp);fclose(fp);printf("! 初始化系统成功 !");void WriteFile() 将目录以及空闲盘块表写入磁盘FILE *fp;if(fp=fopen("filesys","rb+")=NULL)printf("can not open file n");e
40、xit(0);rewind(fp);for(int i=0;i<num;i+)fwrite(&filei,sizeof(struct filename),1,fp);文件目录fseek(fp,512L,0);fwrite(&emptytable,sizeof(struct empty),1,fp);位示图fclose(fp);void dir() 显示文件目录 int i,j;FILE *fp;if(fp=fopen("filesys","rb")=NULL) printf("can not open file n&quo
41、t;);exit(0);fseek(fp,512L,0);fread(&emptytable,sizeof(struct empty),1,fp); rewind(fp);num=emptytable.filenum;for(i=0;i<num;i+)fread(&filei,sizeof(struct filename),1,fp);if (num!=0) printf(" 系统文件目录结构 :n");for(i=0,j=1;i<num;i+,j+)printf("%s.%sn",,filei.ext);
42、if(j=5) printf("n");j=1;printf("n 文件数量为 %d ",num);fclose(fp);void type()空闲盘块表的定位文件目录表的定位显示文件内容FILE *fp;int i,j;if(fp=fopen("filesys","rb")=NULL) printf("can not open file n");exit(0);fseek(fp,512L,0);fread(&emptytable,sizeof(struct empty),1,fp);r
43、ewind(fp);num=emptytable.filenum;for(i=0;i<num;i+)fread(&filei,sizeof(struct filename),1,fp);printf("%s.%sn",,filei.ext);char name9,ext14;printf(" 请输入文件名 :n");gets(name); scanf("%s",name);getchar();printf(" 请输入扩展名 :");gets(ext1); scanf("%
44、s",ext1);getchar();if(*(name+0)='0')printf(" 文件名不能为空 ! n");return;if(*ext1='0')strcpy(ext1,"txt");int sign=0;for(i=0;i<num;i+)if(strcmp(,name)=0) && (strcmp(filei.ext,ext1)=0)printf("- 找到第 %d 个文件 (从 0 开始 )n",i);sign=1;break;if(s
45、ign=0) printf(" 无此文件 n");return;显示文件int b,m,n ;b=filei.i;n=filei.size;printf("- 该文件位于第 %d( 从第 0 块开始 ) 块 n",b);printf("- 从文件读出的文件长度为:%dn-",n);fseek(fp,b*512L,0);char cc;printf("- 文件内容长度为 :%ldn",n);printf("- 文件内容为 :-n");for( m=0,j=1; m<n; m+,j+)fsee
46、k(fp,b*512L+m,0);fread(&cc,sizeof(char),1,fp);cc=fgetc(fp);printf("%c",cc);if(j%80=0)printf("n");printf("n");fclose(fp);删除一个文件void delfile()FILE *fp; int i;if(fp=fopen("filesys","r")=NULL)printf("can not open file n");exit(0); fseek(fp,
47、512L,0);fread(&emptytable,sizeof(struct empty),1,fp);rewind(fp);num=emptytable.filenum;for(i=0;i<num;i+)fread(&filei,sizeof(struct filename),1,fp);char name9,ext13;printf(" 请输入文件名 :n");gets(name);scanf("%s",name);getchar();printf(" 请输入扩展名 :n");gets(ext1);scan
48、f("%s",ext1);getchar();if(*name='0') printf(" 文件名不能为空 ! n"); return; if(*ext1='0') strcpy(ext1,"txt");char judge;printf(" 是否删除文件 %s.%s yn",name,ext1);scanf("%c",&judge); getchar(); if(judge='y')|(judge='Y') printf(
49、" 准备删除文件 %s.%s !n",name,ext1); else if(judge='n')|(judge='N') return;elseprintf(" 系统默认放弃 !n");return;int sign=0;for(i=0;i<num;i+)if(strcmp(,name)=0)&&(strcmp(filei.ext,ext1)=0) sign=1;break;if(sign=0) printf(" 文件名错 n");return;回收空间int
50、 b=filei.i;int Amount=filei.Amount;int j;for(j=0;j<Amount;j+)emptytable.mapb+=0;for( j=i;j<num-1;j+) strcpy(,filej+1.name);strcpy(filej.ext,filej+1.ext); filej.i=filej+1.i;filej.size=filej+1.size; filej.Amount=filej+1.Amount;emptytable.filenum=emptytable.filenum-1; num=emptytable.fil
51、enum;WriteFile();fclose(fp);复制一个文件void copy() FILE *fq; int i,j;if(fq=fopen("filesys","rb+")=NULL) printf("can not open file n");exit(0);fseek(fq,512l,0); fread(&emptytable,sizeof(struct empty),1,fq); rewind(fq);num=emptytable.filenum;for(i=0;i<num;i+) fread(&
52、;filei,sizeof(struct filename),1,fq);char SourceName9,DestName9,ext14,ext24;printf(" 请输入源文件名 :");gets(SourceName);printf(" 请输入源文件扩展名 :");gets(ext1);printf(" 请输入目标文件名 :"); gets(DestName);printf(" 请输入目标扩展文件名 ");gets(ext2);if(*ext2='0') strcmp(ext2,"
53、txt");scanf("%s",SourceName);getchar();scanf("%s",ext1);getchar();scanf("%s",DestName);getchar();scanf("%s",ext2);getchar();if(*SourceName)='0' | (*DestName)='0')cout<<" 错误 ! 文件名不能为空 !n" return;if(strcmp(SourceName,DestName
54、)=0)cout<<" 错误 ! 两个文件名不能相等 !n" return;for(i=0;i<num;i+)if(strcmp(SourceName,)=0)strcpy(,DestName);strcpy(filenum.ext,ext2);filenum.i=filei.i;filenum.size=filei.size;filenum.Amount=filei.Amount;break;if (i<num)(i 从 0 开始 )n",i);printf(" 输入的文件名与第 %d 个源文件相等elseprintf(" 不存在源文件 n");return;空间分配int sign=0;for(int m=2 ; m<=10-filenum.Amount ; m+)if(emptytable.mapm=0)寻找一连续的空闲盘块for( j=filei.Amount; j>0; j-)if(emptytable.mapm+j-1=1)sign=1;break;if(sign=0) break; m+=j-1;sign=0;if (m <= 10-fi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学影像设备质量控制与安全管理规范
- 2026年郑州电力职业技术学院单招职业适应性测试模拟试题及答案解析
- 2026年泰山科技学院单招职业适应性测试模拟试题及答案解析
- 儿科重症监护护理技术提升
- 医疗信息化与医疗质量管理优化
- 医疗行业市场机会与挑战
- 妇产科主任临床护理策略
- 毕业生会计实习报告15篇
- 2026年教师资格证(小学)(教育教学知识与能力)自测试题及答案
- 2025萍乡市工程咨询管理顾问有限责任公司招聘第三批外聘人员6人笔试模拟试题及答案解析
- 广东省深圳市罗湖区2024-2025学年高一上学期1月期末物理试题(含答案)
- 《危险化学品安全法》全文学习课件
- 星罗棋布的港口课件
- 2025年下半年贵州遵义市市直事业单位选调56人考试笔试备考题库及答案解析
- 2026年企业生产计划制定优化与订单交付率提升方案
- 借用土地合同范本
- 支撑梁钢筋自动计算表模板
- 2025天津大学管理岗位集中招聘15人笔试考试备考题库及答案解析
- 请结合材料理论联系实际分析如何正确评价人生价值?人生价值的实现需要哪些条件?参考答案
- 2026年党支部主题党日活动方案
- 2025年福鼎时代面试题及答案
评论
0/150
提交评论