欢迎来到天天文库
浏览记录
ID:37738179
大小:223.50 KB
页数:10页
时间:2019-05-30
《基于Linux内核编程的实验报告(Linux内核分析实验报告)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Linux内核分析实验报告 实验题目:文件系统实验实验目的:linux文件系统使用虚拟文件系统VFS作为内核文件子系统。可以安装多种不同形式的文件系统在其中共存并协同工作。VFS对用户提供了统一的文件访问接口。本实验的要求是(1)编写一个get_FAT_boot函数,通过系统调用或动态模块调用它可以提取和显示出FAT文件系统盘的引导扇区信息。这些信息的格式定义在内核文件的fat_boot_sector结构体中。函数可通过系统调用或动态模块调用。(2)编写一个get_FAT_dir函数,通过系统调用或动态模块调用它可以返回FAT文件系统的
2、当前目录表,从中找出和统计空闲的目录项(文件名以0X00打头的为从未使用过目录项,以0XE5打头的为已删除的目录项),将这些空闲的目录项集中调整到目录表的前部。这些信息的格式定义在内核文件的msdos_dir_entry结构体中。硬件环境:内存1G以上软件环境:Linux(Ubuntu)2-6实验步骤:一:实验原理:以实验4为蓝本,在优盘中编译并加载模块,启动测试程序,查看/proc/mydir/myfile的文件内容。从优盘得到fat文件系统的内容存在msdos_sb_info结构中,然后得到msdos_sb_info结构相应的属性值
3、,得到实验一的数据。实验二中,得到fat文件系统第一个扇区的十六个文件信息。然后按照文件名头文字的比较方法,应用归并排序的方法,将头文件是0X00和0XE5的文件调到前面,其他的文件调到后面二:主要数据结构说明:(1)超级块对象:数据结构说明:一个已经安装的文件系统的安装点由超级块对象代表。structsuper_block{...conststructsuper_operations*s_op;}(2)索引i节点对象数据结构说明:索引i节点对象包含了内核要操作的文件的全部控制信息,对应着打开文件的i节点表。structinode{conststructinode_operations*
4、i_op;...}(3)目录项对象数据结构说明:录项对象代表了文件路径名的各个部分,目录文件名和普通文件名都属于目录项对象。structdentry{10...structdentry_operations*d_op;...}(1)文件对象数据结构说明:文件对象表示已经打开的文件,它是直接连系用户应用程序的内核对象。structfile{...structfile_operations*f_op;...}三:函数说明:系统函数:container_of()sb_bread()自定义函数:get_FAT_dir()函数:首先输出16个文件的文件名,然后176—191行使用归并排序,设定两个
5、指针,一个从指向0位置,一个指向15位置。分别向后,向前查找出第一个文件头名不是0X00或者0XE5的文件和第一个文件头文字是二者的文件名,如果向后的指针一直位于向前的指针前面,就进行二者的调换,在总的循环中,如果向后的指针超过了向前的指针,则停止循环。最后输出重新排序的文件名10五:结果检测:thefilesystemis:PWDFilesystemTypeis:vfatPWD=512------------------FAT-info:引导扇区信息:每簇扇数=8簇位数=c簇大小=4096FAT位数=32FAT开始扇=414FAT长度=7985目录开始扇=16384目录入口=0数据开始
6、扇=16384最大簇号=1021954根开始扇=2fs信息扇=1----------------目录文件名:------beforechangefilenameis------KEJIANv���<�<--filenameis------Ƕ��ʽ~1--filenameis------CHAPTE~1PPT--filenameis------��^�{t�
7、--filenameis------T--filenameis------------------havesuchfiles10filenameis------------------havesuchfilesfilena
8、meis--------filenameis------��^------------havesuchfilesfilenameis--------filenameis--------filenameis------L�--filenameis------��J��J��J��Jp�J--filenameis------&------------havesuchfilesfilenameis--------filenameis-
此文档下载收益归作者所有