试验八-FAT12文件系统_第1页
试验八-FAT12文件系统_第2页
试验八-FAT12文件系统_第3页
试验八-FAT12文件系统_第4页
试验八-FAT12文件系统_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上海应用技术学院程序设计语言实验报告实验名称FAT12文件系统实验序号实验八实验日期姓 名学 号指导教师专 业计算机科学与技术班 级成 绩一、实验目的及要求了解FAT12文件系统在软盘上的应用。通过为EOS勺FAT12文件系统添加写文件功能,加深对磁盘存储器管理原理的理解二、实验环境Windows XP; Tevation OS Lab 。三、实验内容1准备实验.启动 OS Labo.新建一个EOS Kernel项目。如图1.图1.分别使用Debug配置和Release配置生成此项目,从而在该项目文件夹中生成完全版本 的EOS SDKC件夹,如图2、图3。输出生成 -J :工.!1 e复复复m

2、己己己ke1-统计到个文件. 个文件 个文件。0个错误. =生成0个警告 :成功=录录制制制制制制制el目目复复复复复复复m子子己已己己已已已ke或或文文件件dkdklllllll文文文文文文文个个个个个个个当小支二 。0 。 。 0。已已件件件件件件件KH至告= o4.新建一个EOSE用程序项目,如图4新建项目稹板:控制台应用 控制台应用 EOS Kernel EOS应用程序 程序(c) 程序(C+)创建基于E05的应用程序项目 名称回: EOSApp浏览位置: C:Documents and SettingsAdm inistratorMy Docjments05 LabProiects确

3、定取、消图45.使用在第3步生成的SDKt件夹覆盖EOS应用程序项目文件夹中的SDK文件夹.2编写代码调用EOS API函数读取文件中的数据使用OS Lab打开本实验文件夹中的FileApp.c文件(将此文件拖动到 OS Lab窗口中释放 即可)如图5所示。起始页EOSApp.p FlleAppx21提供该示例代科是为了阐释一个概念,或者进行一个测试,并不代表着 最安全的编科实践,因此不应在应用程序或网站中使用该示例代码,对 于超出本示例代蚓的颈期用途以外的使用所造成的偶然或继发性损失, 北京海西慧学科找有限公司不承担任何责隹。*/7!8i#include EOSApah可11!13Hi/图6

4、#definE BUFFER_SIZE 256 char Buffer BmER_SIZE,图5按照下面的步骤查看EOSS用程序读取文件中数据的执行结果:.使用OS Lab打开在3.1中创建的EOSS用程序项目。.在“项目管理器”窗口中双击 Floppy.img文件,使用FloppylmageEditor工具打开此 软盘镜像。.将本实验文件夹中的a.txt文件添加到软盘镜像的根目录中。打开 a.txt文件查看其 中的数据。如图6图7所示。图7.点击FloppyImageEditor工具栏上的保存按钮,关闭该工具。.使用FileApp.c 文件中的源代码替换 EOS应用程序项目中的 EOSApp

5、.c文件内的源代 码。如图8。图86.按F7生成修改后的EOSS用程序项目。如图9图9.按F5启动调试。自动运行EOS应用程序EOSApp.exe时,会由于输入的命令行参数无效而失败。如图10C OS Lab PC - licrosoft Virtual PC 2007图10.在EOS空制台中输入命令 A:EOSApp.exe A:a.txt ”后按回车,EOSApp.ex以读取 a.txt文件中的内容并显示在屏幕上。如图 11。图11.结束此次调试。如图12。够出调试制作软盘错像正在启勃Virtual PC.开始调我.调试己停止1三输出品查找结果1 |4查找结果2图123调试FAT12文件系

6、统的读文件功能FAT12文件系统的读文件功能是由 EO汕核项目fat12.c文件中的FatReadFile函数完成的。按照下面的步骤准备调试该函数:1.使用 Windows资源管理器打开在3.1中创建的EOS内核项目的项目文件夹,并找到fat12.c 文件如图13DebugReleasesdka8253. c06259 cablo*ck. cboot, asm0bugcheck, cconsolecprL asm0create,亡crt- ddi spat ch. ca电QSL h0电。客器pi. aeesdefa haerr&r. hf at 12. eflippy, cFloppy. im

7、5generr- ,郡sm0kdb.lkdl. ckrnal. o.keyboard e0ki.h0ktimar. crpi图132.将 fat12.c文件拖动到OS Lab窗口中释放,打开此文件。注意,一定要拖动到3.2中已经打开EOS应用程序项目的OS Lab中(如图14),这样该OS Lab就同时打开了EOS用程序项目和EO汕核项目中的fat12.c文件,方便后面的调试。起始更 EOGApp.c FieAsp cCopyright (0 2008北京海西慧学科莅有限公司.保留所有权利。只有您接受的F核心源代智忸馁(夔见Li see丘Q中的条款才能使用: 如果您不接受,不

8、宜雎用这些化石,文件包:fat 12, c描述:FAT12文件系统驱微的实现。乍者:吕声木14按照下面的步骤调试该函数:1.取消注释EOSApp.c文件中的第62行,允许调试该EOS应用程序。如图15。起始页EOSAppjC* FII&A叩上|帆12,匚三printf (Errar: Invalid argument count n/Walid conniand line: BOSApp. exe readfi 1 e_name wri goto RETURN;2.6 Or 仃 6Z63:6星6千64力4占ttifdefDEBUG/以只谀的方式,打开要馔取的文件/hFileRead = Cre

9、ateFile(argvtl, GENERIC_READ, 0, OPEN.EXISTING:C ThETkl Tn LThMTlT U Tftr TTff 一一 I-IT: 1,l按F7生成。如图16。图15图163.按F5启动调试。自动运行EOS应用程序EOSApp.exe时,会由于输入的命令行参数无 效而失败。如图17。图17.在EOS控制台中输入命令 A:EOSApp.exe A:a.txt ”后按回车,EOSApp.exe会读 取a.txt文件中的内容。此时OS Lab会弹出一个调试异常对话框,并中断应用程序的 执行。如图18。x图18.选择“是”调试异常,调试会中断。.在读文件时调

10、用的API函数ReadFile最终会调用 FatReadFile 函数,所以,在fat12.c 文件的FatReadFile函数开始(第700行)添加一个断点。.按F5继续执行,在断点处中断。如图19。数体。f EOSApp.c V fat 12 x f stdo,c Y FiteApp.c FatWriteFileTl xIIIEA提供该示例代用是为了阐释一个概念.或者进行一个测试.并不代一 最安全的编码实践,因此不应在应用程序或同站中使用该.示例代担 于超出本示例代阴的预期用途以外的使用所造成的偶麴或继发性损北京海西慧学科技有限公司不承担任何责任。 L */STATUS1怎 11*13)F

11、atWriteFile(IN PVUB Vcb,IN PFCB File, IN ULONG Offset,图215.在“项目管理器”窗口中双击 Floppy.img文件,使用FloppyImageEditor工具打开此软盘镜像。.打开EOS应用程序项目文件夹,将 Release文件夹中的EOSApp.exe(没有调试信息) 添加到软盘镜像中。.将本实验文件夹中的a.txt、b.txt、c.txt 和d.txt 文件添加到软盘镜像中。如图22。* Floppy. ig - Floppyiiditor3 | n X就建打井保存复制删除添加屣开名新J式小I类也I修改日期A.nLl,03目 口 0-

12、1口JAinoEUH. TierB. TUTC.HTD. TXT35字节2014-6-12 6:521566字节EIST文件2014-6-12 8:43E2T3眨字节应用堤序犷展2014-6-12 S: A:EOSApp .exe ft Ao .txtOpera ting SijstcnFAT1Z File SysteallAE0Shpp.exe exit uith 0 x00000030Pl:EOSApp.exe A .txtA:EDSApp.exe exit uith 6x00000000.A:EOSApp.exe A Aa Ltxt A:b.txtUrite file error: 5G

13、R:、EDapp.EXE exit uith OxOOOOOOOl: EDSApp. exe A Ab .txtA:EOSftpp,exe exit uitb Ox哄磨眄阿3,图23输出d.txt文件内容:A:EOSApp.exe A:d.txt将d.txt文件内容写入b.txt文件:A:EOSApp.exe A:d.txt A:b.txt输出b.txt文件内容:A:EOSApp.exe A:b.txtOS Lala PCVi crasof t i.Ttual PC 2007乐tiw- EM I CD 白核仪 tklEC口怫(JIE 1 (Press CtrbFl-HJ to switch consoc window. ) Il|pnrftiT(tg SjptcnFAT12 File SLjstrnA:EOSApp .exe exit ulth ftxAMMMO.A EOSAjjp.exe A:h . txtn:EUKnpp.exe exit uith 0 x0口。口/W.A :Xl-IlJifiip.rxr A :a .txt ft:htxtUr1 itr File rrrp.exE A:tl .txt 03 Llr:eqs 您 P-exe ex it uith-A :EUbnpp.exc A:d txt A :b.txtUri f Ic err

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论