实验八FAT12文件系统汇总.docx

上传人:b****7 文档编号:10633008 上传时间:2023-02-22 格式:DOCX 页数:15 大小:442.20KB
下载 相关 举报
实验八FAT12文件系统汇总.docx_第1页
第1页 / 共15页
实验八FAT12文件系统汇总.docx_第2页
第2页 / 共15页
实验八FAT12文件系统汇总.docx_第3页
第3页 / 共15页
实验八FAT12文件系统汇总.docx_第4页
第4页 / 共15页
实验八FAT12文件系统汇总.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

实验八FAT12文件系统汇总.docx

《实验八FAT12文件系统汇总.docx》由会员分享,可在线阅读,更多相关《实验八FAT12文件系统汇总.docx(15页珍藏版)》请在冰豆网上搜索。

实验八FAT12文件系统汇总.docx

实验八FAT12文件系统汇总

上海应用技术学院

程序设计语言实验报告

实验名称

FAT12文件系统

实验序号

实验八

实验日期

姓名

学号

指导教师

专业

计算机科学与技术

班级

成绩

1、实验目的及要求

了解FAT12文件系统在软盘上的应用。

通过为EOS的FAT12文件系统添加写文件功能,加深对磁盘存储器管理原理的理解。

2、实验环境

WindowsXP;TevationOSLab。

三、实验内容

1准备实验

1.启动OSLab。

2.新建一个EOSKernel项目。

如图1.

图1

3.分别使用Debug配置和Release配置生成此项目,从而在该项目文件夹中生成完全版本的EOSSDK文件夹,如图2、图3。

图2

图3

4.新建一个EOS应用程序项目,如图4。

图4

5.使用在第3步生成的SDK文件夹覆盖EOS应用程序项目文件夹中的SDK文件夹.

2编写代码调用EOSAPI函数读取文件中的数据

使用OSLab打开本实验文件夹中的FileApp.c文件(将此文件拖动到OSLab窗口中释放即可)如图5所示。

图5

按照下面的步骤查看EOS应用程序读取文件中数据的执行结果:

1.使用OSLab打开在3.1中创建的EOS应用程序项目。

2.在“项目管理器”窗口中双击Floppy.img文件,使用FloppyImageEditor工具打开此软盘镜像。

3.将本实验文件夹中的a.txt文件添加到软盘镜像的根目录中。

打开a.txt文件查看其中的数据。

如图6图7所示。

图6

图7

4.点击FloppyImageEditor工具栏上的保存按钮,关闭该工具。

5.使用FileApp.c文件中的源代码替换EOS应用程序项目中的EOSApp.c文件内的源代码。

如图8。

图8

6.按F7生成修改后的EOS应用程序项目。

如图9。

图9

7.按F5启动调试。

自动运行EOS应用程序EOSApp.exe时,会由于输入的命令行参数无效而失败。

如图10。

图10

8.在EOS控制台中输入命令“A:

\EOSApp.exeA:

\a.txt”后按回车,EOSApp.exe会读取a.txt文件中的内容并显示在屏幕上。

如图11。

图11

9.结束此次调试。

如图12。

图12

3调试FAT12文件系统的读文件功能

FAT12文件系统的读文件功能是由EOS内核项目fat12.c文件中的FatReadFile函数完成的。

按照下面的步骤准备调试该函数:

1.使用Windows资源管理器打开在3.1中创建的EOS内核项目的项目文件夹,并找到fat12.c文件。

如图13。

图13

2.将fat12.c文件拖动到OSLab窗口中释放,打开此文件。

注意,一定要拖动到3.2中已经打开EOS应用程序项目的OSLab中(如图14),这样该OSLab就同时打开了EOS应用程序项目和EOS内核项目中的fat12.c文件,方便后面的调试。

图14

按照下面的步骤调试该函数:

1.取消注释EOSApp.c文件中的第62行,允许调试该EOS应用程序。

如图15。

图15

2.按F7生成。

如图16。

图16

3.按F5启动调试。

自动运行EOS应用程序EOSApp.exe时,会由于输入的命令行参数无效而失败。

如图17。

图17

4.在EOS控制台中输入命令“A:

\EOSApp.exeA:

\a.txt”后按回车,EOSApp.exe会读取a.txt文件中的内容。

此时OSLab会弹出一个调试异常对话框,并中断应用程序的执行。

如图18。

图18

5.选择“是”调试异常,调试会中断。

6.在读文件时调用的API函数ReadFile最终会调用FatReadFile函数,所以,在fat12.c文件的FatReadFile函数开始(第700行)添加一个断点。

7.按F5继续执行,在断点处中断。

如图19。

图19

4为FAT12文件系统添加写文件功能

由于写文件功能会涉及到为文件分配新的簇、修改文件大小等问题,所以这里首先完成一个最简单的情况:

向一个空文件中写入数个字节的数据。

1.使用OSLab打开3.1中创建的EOS内核项目。

2.从“项目管理器”窗口中打开源文件io/driver/fat12.c,目前fat12.c中的函数FatWriteFile(第782行)为空。

3.将本实验文件夹中的FatAllocateCluster.c文件拖动到OSLab窗口中打开(如图20),将该文件中FatAllocateCluster函数复制到fat12.c文件中FatWriteFile函数的前面。

在FatWriteFile函数中需要调用FatAllocateCluster函数来获得一个空闲簇。

图20

4.将本实验文件夹中的FatWriteFile.c文件拖动到OSLab窗口中打开(如图21),使用该文件中FatWriteFile函数的函数体替换fat12.c文件中FatWriteFile函数的函数体。

图21

5.在“项目管理器”窗口中双击Floppy.img文件,使用FloppyImageEditor工具打开此软盘镜像。

6.打开EOS应用程序项目文件夹,将Release文件夹中的EOSApp.exe(没有调试信息)添加到软盘镜像中。

7.将本实验文件夹中的a.txt、b.txt、c.txt和d.txt文件添加到软盘镜像中。

如图22。

图22

8.点击FloppyImageEditor工具栏上的保存按钮,关闭该工具

9.按F7生成修改后的EOS内核项目。

注意,要使用Debug配置。

10.按F5启动调试。

在EOS控制台中分别执行下面三组命令,查看写文件的结果:

分别如图23图24图25。

●输出a.txt文件内容:

A:

\EOSApp.exeA:

\a.txt

输出b.txt文件内容(无内容):

A:

\EOSApp.exeA:

\b.txt

将a.txt文件内容写入b.txt文件:

A:

\EOSApp.exeA:

\a.txtA:

\b.txt

输出b.txt文件内容:

A:

\EOSApp.exeA:

\b.txt

图23

●输出d.txt文件内容:

A:

\EOSApp.exeA:

\d.txt

将d.txt文件内容写入b.txt文件:

A:

\EOSApp.exeA:

\d.txtA:

\b.txt

输出b.txt文件内容:

A:

\EOSApp.exeA:

\b.txt

图24

●输出c.txt文件内容:

A:

\EOSApp.exeA:

\c.txt

将c.txt文件内容写入b.txt文件:

A:

\EOSApp.exeA:

\c.txtA:

\b.txt

输出b.txt文件内容:

A:

\EOSApp.exeA:

\b.txt

图25

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1