1、目标:通过模拟操作系统原理的实现,加深对操作系统工作原理和操作系统实现方法的理解;通过模拟操作系统原理的实现练习编程。主要参考文献1操作系统习题解答与实验指导. 王煜,张明,刘振鹏. 中国铁道出版社. 20072操作系统实验指导. 任爱华. 清华大学出版社. 20043操作系统实验教程(Windows版). 姚卫华. 清华大学出版社. 2005进度安排论文(设计)各阶段名称日期布置任务第10周-第11周整体设计第12周编写程序第13周-第17周撰写论文第18周 指导教师签字:系主任签字:摘 要本系统根据操作系统理论课上学习的操作系统中关于文件管理实现方法,在采用显式链接存储、文件分配表的基础上
2、实现单用户的磁盘文件管理部分,包括:文件的逻辑结构、文件的物理结构、目录结构、磁盘分配回收。本论文主要阐述四部分内容,引言部分,主要说明本次操作系统课程设计的性质、教学目的、教学任务与要求、意义以及论文的结构安排;系统分析与设计部分,主要阐述系统的主要功能模块以及每个模块计划采用的实现方法和原理;系统实现部分,主要通过流程图等工具描述主要模块的实现流程;最后一部分,结束语部分,主要书写已经实现的本系统存在的不足、改进方案和在课程设计中的实际感受。关键词:操作系统 文件管理 文件分配表 存储管理目 录 一 引言11.1 性质11.2 教学目的11.3 任务和要求11.4 意义11.5 论文结构安
3、排1二 系统分析与设计32.1 系统要求32.1.1 文件的逻辑结构32.1.2 磁盘模拟32.1.3 目录结构32.1.4 磁盘分配42.1.5 屏幕显示42.2 实现方法和原理52.2.1 文件的逻辑结构52.2.2 文件的物理结构和目录结构52.2.3 目录结构62.2.4 磁盘状态7三 系统实现83.1 磁盘管理83.1.1 磁盘的创建83.1.2 磁盘的初始化函数83.1.3 画树结点93.1.4 画树93.1.5 读FAT表画磁盘113.1.6 磁盘的分配和回收133.2 目录结构的实现153.2.1 创建目录153.2.2 删除空目录193.2.3 删除目录223.3 文件263
4、.3.1 主框架263.3.2 建立文件263.3.3删除文件293.3.5移动文件313.3.5复制文件323.3.6文件的拷贝353.3.7 文件的显示36四 结束语37参考文献38一 引言1.1 性质操作系统是计算机科学与技术专业的专业基础课和主干课。操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统的服务。1.2 教学目的通过模拟操作系统的文件管理功能的实现,加深对操作系统和原理和操作系统实现方法的理解,达到编程的目的,提高学生运用理论知识分析问题、解决问题的能力,为学生从事科学研究和独立负担计算机及应用方面的工作打好扎实的基
5、础。1.3 任务和要求模拟采用多道程序设计方法的单用户操作系统,本系统要求实现的逻辑结构、文件的物理结构、目录结构、磁盘的分配回收、文件的保护的实现。1.4 意义通过模拟操作系统原理的实现,加深对操作系统工作原理和操作系统实现方法的理解,掌握了初步分析实际问题的能力,为其今后在相关领域开展工作打下坚实的基础。同时使学生系统科学的收到分析问题和解决问题的训练,提高运用理论只是解决实际问题的能力。1.5 论文结构安排二 系统分析与设计2.1 系统要求文件管理和用户接口部分实现的主要是单用户的磁盘文件管理部分,包括文件的逻辑结构、物理结构、目录、磁盘分配回收的实现。2.1.1 文件的逻辑结构文件的逻
6、辑结构采用流式结构;文件均采用文本文件;系统中有两种文件,一种是存放任意字符的文件,一种是可执行文件。可执行文件的内容就是模拟系统内进程的程序体。文件中要有一种特定命令的“可执行”文件,文件中的命令非常简单,包括:x=; 给x赋值一位数x+; x加1x-; x减1!; 第一个?为A,B,C中某个设备,第二个?为一位数,表示使用设备的时间(由于没有实际设备,所以无法知道设备何时工作完成,所以假定一个数,这个数随着系统时间增加而递减,减到0时,认为是设备工作完成);end. 表示文件结束,同时将结果写入文件out,其中包括文件路径名和x的值。2.1.2 磁盘模拟用一个文件disk1模拟磁盘,磁盘的
7、每个盘块64字节,模拟磁盘共有128块。第0、1块存放文件分配表,第2块存放根目录,其余存放子目录和文件。2.1.3 目录结构目录结构采用树型目录结构。目录项内容(8个字节):目录名、文件名:3个字节;扩展名:2个字节;目录、文件属性:1字节;起始盘块号:1个字节;文件长度:1字节。根目录根目录位置固定,为磁盘第2块,大小固定,共8项,占用模拟磁盘第2块;子目录位置不固定,大小不固定。2.1.4 磁盘分配磁盘的分配采用链接结构(显式链接)的分配方式。系统采用文件分配表方式记录磁盘空间的使用情况和链接结构的指针。因为磁盘有占用磁盘由128块,所以文件分配表中一项需要1字节,而磁盘由128块,因而
8、需要128项,所以模拟磁盘空间中的第0、1块被用来存放文件分配表。2.1.5 屏幕显示磁盘目录显示,要求显示磁盘的树型目录结构;磁盘使用情况,显示磁盘每一个磁盘块的空间是占用还是空闲。2.2 实现方法和原理2.2.1 文件的逻辑结构文件逻辑结构采用流式结构:文件的内容均采用文本文件,系统有两种文件:1、 一种是存放任意字符的文件2、 一种是可执行文件:可执行文件的内容就是系统内进程的程序体:文件中要有一种可执行文件,文家中的命令非常简单,金保国一下几种指令:2.2.2 文件的物理结构和目录结构文件的物理结构采用显式链接存储方式,通过链接文件物理块的指针显示的存放在外村的一张链表中,这张表被称为
9、文件分配表(FAT)。该表一个磁盘仅设置一张。磁盘一共有128块,则该表为128项。若某文件的一个磁盘块号为i,则这个文件下的磁盘的快好j应该记录在表的第i项,如下图2.2.2:块号123456789.内容-112图2.2.2 某磁盘文件存放链接指针部分内容每个目录项共占8个字节,目录项的内容包括:文件的FCB图如下图2.2.2 属性字节各位作用示意图:第0位第1位第2位第3位第4位第5位第6位第7位名字type属性盘块长度2.2.2 属性字节各位作用示意图子目录位置不固定,大小不固定。2.2.3 目录结构目录结构采用树形目录结构,根目录项既可以表示一个普通文件,也可以是下一级目录的目录文件的
10、一个说明项,如此层层类推,形成一个树形层次结构,如图2.2.3所示:uSbcEyyanabcu2HHTJ2Y根目录文件目录图2.2.3 树形目录结构2.2.4 磁盘状态系统采用文件分配表方式记录磁盘空间的使用情况和链接结构的指针,本设计的磁盘有一个磁盘:C盘。因为磁盘有占用磁盘由128块,所以文件分配表中一项需要1字节,而磁盘由128块,因而需要128项,所以模拟磁盘空间中的第0、1块被用来存放文件分配表(样例如2.2.4.1 FAT分配表)。若一个盘块是某个文件的最后一块,填写“-1”表示文件结束。图2.2.4.1 某磁盘文件存放链接指针部分内容磁盘状态的显示以位示图的方式显示如图2.2.4.2 位示图,每个盘块大小为64B,一共是128个盘块。盘块的块号从0编起,依次为0,1,2,3,127。位示图用字长为16位的字来构造,共128个字,其中已使用的盘块号标号为1,未使用的盘块号标号为0。10111314160/10/
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1